@anker-in/headless-ui 1.0.20-alpha.1761293811592 → 1.0.20-alpha.1761299957235

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.
Files changed (93) hide show
  1. package/dist/cjs/biz-components/FooterNavigation/index.js +1 -1
  2. package/dist/cjs/biz-components/FooterNavigation/index.js.map +2 -2
  3. package/dist/cjs/biz-components/Listing/{ProductProvider.d.ts → BizProductProvider.d.ts} +8 -4
  4. package/dist/cjs/biz-components/Listing/BizProductProvider.js +2 -0
  5. package/dist/cjs/biz-components/Listing/BizProductProvider.js.map +7 -0
  6. package/dist/cjs/biz-components/Listing/components/PaidShipping/index.js +1 -1
  7. package/dist/cjs/biz-components/Listing/components/PaidShipping/index.js.map +3 -3
  8. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.d.ts +1 -4
  9. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.js +21 -3
  10. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.js.map +3 -3
  11. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js +1 -1
  12. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js.map +2 -2
  13. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.js +1 -1
  14. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.js.map +3 -3
  15. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js +1 -1
  16. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js.map +3 -3
  17. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js +1 -1
  18. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js.map +3 -3
  19. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.js +1 -1
  20. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.js.map +3 -3
  21. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/CompareModal.js +1 -1
  22. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/CompareModal.js.map +3 -3
  23. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/SpecsModal.js +1 -1
  24. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/SpecsModal.js.map +3 -3
  25. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/index.js +1 -1
  26. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/index.js.map +3 -3
  27. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/index.js +1 -1
  28. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/index.js.map +3 -3
  29. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ProductActions/index.js +1 -1
  30. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ProductActions/index.js.map +3 -3
  31. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.js +1 -1
  32. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.js.map +3 -3
  33. package/dist/cjs/biz-components/Listing/components/PurchaseBar/index.js +1 -1
  34. package/dist/cjs/biz-components/Listing/components/PurchaseBar/index.js.map +3 -3
  35. package/dist/cjs/biz-components/Listing/hooks/useBenefits.js +1 -1
  36. package/dist/cjs/biz-components/Listing/hooks/useBenefits.js.map +3 -3
  37. package/dist/cjs/biz-components/Listing/index.d.ts +1 -1
  38. package/dist/cjs/biz-components/Listing/index.js +1 -1
  39. package/dist/cjs/biz-components/Listing/index.js.map +3 -3
  40. package/dist/cjs/biz-components/Listing/types.d.ts +7 -0
  41. package/dist/cjs/biz-components/Listing/types.js +1 -1
  42. package/dist/cjs/biz-components/Listing/types.js.map +1 -1
  43. package/dist/cjs/biz-components/index.d.ts +1 -1
  44. package/dist/cjs/biz-components/index.js +1 -1
  45. package/dist/cjs/biz-components/index.js.map +3 -3
  46. package/dist/esm/biz-components/FooterNavigation/index.js +1 -1
  47. package/dist/esm/biz-components/FooterNavigation/index.js.map +2 -2
  48. package/dist/esm/biz-components/Listing/{ProductProvider.d.ts → BizProductProvider.d.ts} +8 -4
  49. package/dist/esm/biz-components/Listing/BizProductProvider.js +2 -0
  50. package/dist/esm/biz-components/Listing/BizProductProvider.js.map +7 -0
  51. package/dist/esm/biz-components/Listing/components/PaidShipping/index.js +1 -1
  52. package/dist/esm/biz-components/Listing/components/PaidShipping/index.js.map +3 -3
  53. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.d.ts +1 -4
  54. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.js +21 -3
  55. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.js.map +3 -3
  56. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js +1 -1
  57. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js.map +2 -2
  58. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.js +1 -1
  59. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.js.map +3 -3
  60. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js +1 -1
  61. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js.map +3 -3
  62. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js +1 -1
  63. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js.map +3 -3
  64. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.js +1 -1
  65. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.js.map +3 -3
  66. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/CompareModal.js +1 -1
  67. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/CompareModal.js.map +3 -3
  68. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/SpecsModal.js +1 -1
  69. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/SpecsModal.js.map +3 -3
  70. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/index.js +1 -1
  71. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/index.js.map +3 -3
  72. package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/index.js +1 -1
  73. package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/index.js.map +3 -3
  74. package/dist/esm/biz-components/Listing/components/PurchaseBar/ProductActions/index.js +1 -1
  75. package/dist/esm/biz-components/Listing/components/PurchaseBar/ProductActions/index.js.map +3 -3
  76. package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.js +1 -1
  77. package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.js.map +3 -3
  78. package/dist/esm/biz-components/Listing/components/PurchaseBar/index.js +1 -1
  79. package/dist/esm/biz-components/Listing/components/PurchaseBar/index.js.map +3 -3
  80. package/dist/esm/biz-components/Listing/hooks/useBenefits.js +1 -1
  81. package/dist/esm/biz-components/Listing/hooks/useBenefits.js.map +3 -3
  82. package/dist/esm/biz-components/Listing/index.d.ts +1 -1
  83. package/dist/esm/biz-components/Listing/index.js +1 -1
  84. package/dist/esm/biz-components/Listing/index.js.map +3 -3
  85. package/dist/esm/biz-components/Listing/types.d.ts +7 -0
  86. package/dist/esm/biz-components/index.d.ts +1 -1
  87. package/dist/esm/biz-components/index.js +1 -1
  88. package/dist/esm/biz-components/index.js.map +2 -2
  89. package/package.json +1 -1
  90. package/dist/cjs/biz-components/Listing/ProductProvider.js +0 -2
  91. package/dist/cjs/biz-components/Listing/ProductProvider.js.map +0 -7
  92. package/dist/esm/biz-components/Listing/ProductProvider.js +0 -2
  93. package/dist/esm/biz-components/Listing/ProductProvider.js.map +0 -7
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/biz-components/Listing/components/PurchaseBar/index.tsx"],
4
- "sourcesContent": ["import { useCallback, useEffect, useRef, useState, useMemo } from 'react'\nimport { Text, Heading, Button, Container } from '../../../../components'\nimport type { PurchaseBarProps, ScrollSpyNavProps, ScrollSpyNavItem } from './types.js'\nimport { gsap } from 'gsap'\nimport { useAiuiContext } from '../../../AiuiProvider/index.js'\nimport { cn } from '../../../../helpers/index.js'\nimport { ProductActions } from '../index.js'\nimport { useProductContext } from '../../ProductProvider.js'\nimport { MobileScrollSpyNav, DesktopScrollSpyNav } from './ScrollSpyNav/index.js'\n\nconst PurchaseBar = ({ onSpyNavItemClick }: PurchaseBarProps) => {\n const [purchaseBarHeight, setPurchaseBarHeight] = useState(0)\n const { isMobile, product, renderRating, isDesktop } = useProductContext()\n\n const PurchaseBarData = useMemo(() => {\n return product?.payload?.components?.find((item: any) => item.componentKey === 'PurchaseBar')?.data || []\n }, [product?.payload])\n\n useEffect(() => {\n setPurchaseBarHeight(document.querySelector('#purchase-bar')?.clientHeight || 0)\n }, [])\n\n return (\n <div id=\"purchase-bar\" className=\"bg-white sticky top-0 left-0 w-full z-[52] border-b border-[#E4E5E6]\">\n <Container className=\"py-3 desktop:pt-6 desktop:pb-0\">\n <div className=\"flex gap-[10px] items-center tablet:justify-between tablet:gap-0 tablet:w-full\">\n <div className=\"flex-1 tablet:flex-none\">\n <Heading\n size={2}\n className=\"line-clamp-2 tablet:max-w-[406px] desktop:max-w-[570px] lg-desktop:max-w-[683px]\"\n html={product?.title}\n />\n {isDesktop && (\n <div className=\"flex justify-between gap-8 items-center mt-3\">\n <DesktopScrollSpyNav tabs={PurchaseBarData} onSpyNavItemClick={onSpyNavItemClick} />\n {renderRating}\n </div>\n )}\n </div>\n {!isDesktop ? (\n <MobileScrollSpyNav\n tabs={PurchaseBarData}\n purchaseBarHeight={purchaseBarHeight}\n onSpyNavItemClick={onSpyNavItemClick}\n />\n ) : (\n <ProductActions />\n )}\n </div>\n </Container>\n </div>\n )\n}\n\nexport default PurchaseBar\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GA2BY,IAAAI,EAAA,6BA3BZC,EAAkE,iBAClEC,EAAiD,kCAEjDC,EAAqB,gBACrBC,EAA+B,0CAC/BC,EAAmB,wCACnBC,EAA+B,uBAC/BC,EAAkC,oCAClCC,EAAwD,mCAExD,MAAMC,EAAc,CAAC,CAAE,kBAAAC,CAAkB,IAAwB,CAC/D,KAAM,CAACC,EAAmBC,CAAoB,KAAI,YAAS,CAAC,EACtD,CAAE,SAAAC,EAAU,QAAAC,EAAS,aAAAC,EAAc,UAAAC,CAAU,KAAI,qBAAkB,EAEnEC,KAAkB,WAAQ,IACvBH,GAAS,SAAS,YAAY,KAAMI,GAAcA,EAAK,eAAiB,aAAa,GAAG,MAAQ,CAAC,EACvG,CAACJ,GAAS,OAAO,CAAC,EAErB,sBAAU,IAAM,CACdF,EAAqB,SAAS,cAAc,eAAe,GAAG,cAAgB,CAAC,CACjF,EAAG,CAAC,CAAC,KAGH,OAAC,OAAI,GAAG,eAAe,UAAU,uEAC/B,mBAAC,aAAU,UAAU,iCACnB,oBAAC,OAAI,UAAU,iFACb,qBAAC,OAAI,UAAU,0BACb,oBAAC,WACC,KAAM,EACN,UAAU,mFACV,KAAME,GAAS,MACjB,EACCE,MACC,QAAC,OAAI,UAAU,+CACb,oBAAC,uBAAoB,KAAMC,EAAiB,kBAAmBP,EAAmB,EACjFK,GACH,GAEJ,EACEC,KAOA,OAAC,mBAAe,KANhB,OAAC,sBACC,KAAMC,EACN,kBAAmBN,EACnB,kBAAmBD,EACrB,GAIJ,EACF,EACF,CAEJ,EAEA,IAAOZ,EAAQW",
6
- "names": ["PurchaseBar_exports", "__export", "PurchaseBar_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_components", "import_gsap", "import_AiuiProvider", "import_helpers", "import__", "import_ProductProvider", "import_ScrollSpyNav", "PurchaseBar", "onSpyNavItemClick", "purchaseBarHeight", "setPurchaseBarHeight", "isMobile", "product", "renderRating", "isDesktop", "PurchaseBarData", "item"]
4
+ "sourcesContent": ["import { useCallback, useEffect, useRef, useState, useMemo } from 'react'\nimport { Text, Heading, Button, Container } from '../../../../components'\nimport type { PurchaseBarProps, ScrollSpyNavProps, ScrollSpyNavItem } from './types.js'\nimport { gsap } from 'gsap'\nimport { useAiuiContext } from '../../../AiuiProvider/index.js'\nimport { cn } from '../../../../helpers/index.js'\nimport { ProductActions } from '../index.js'\nimport { useBizProductContext } from '../../BizProductProvider.js'\nimport { MobileScrollSpyNav, DesktopScrollSpyNav } from './ScrollSpyNav/index.js'\n\nconst PurchaseBar = ({ onSpyNavItemClick }: PurchaseBarProps) => {\n const [purchaseBarHeight, setPurchaseBarHeight] = useState(0)\n const { isMobile, product, renderRating, isDesktop } = useBizProductContext()\n\n const PurchaseBarData = useMemo(() => {\n return product?.payload?.components?.find((item: any) => item.componentKey === 'PurchaseBar')?.data || []\n }, [product?.payload])\n\n useEffect(() => {\n setPurchaseBarHeight(document.querySelector('#purchase-bar')?.clientHeight || 0)\n }, [])\n\n return (\n <div id=\"purchase-bar\" className=\"bg-white sticky top-0 left-0 w-full z-[52] border-b border-[#E4E5E6]\">\n <Container className=\"py-3 desktop:pt-6 desktop:pb-0\">\n <div className=\"flex gap-[10px] items-center tablet:justify-between tablet:gap-0 tablet:w-full\">\n <div className=\"flex-1 tablet:flex-none\">\n <Heading\n size={2}\n className=\"line-clamp-2 tablet:max-w-[406px] desktop:max-w-[570px] lg-desktop:max-w-[683px]\"\n html={product?.title}\n />\n {isDesktop && (\n <div className=\"flex justify-between gap-8 items-center mt-3\">\n <DesktopScrollSpyNav tabs={PurchaseBarData} onSpyNavItemClick={onSpyNavItemClick} />\n {renderRating}\n </div>\n )}\n </div>\n {!isDesktop ? (\n <MobileScrollSpyNav\n tabs={PurchaseBarData}\n purchaseBarHeight={purchaseBarHeight}\n onSpyNavItemClick={onSpyNavItemClick}\n />\n ) : (\n <ProductActions />\n )}\n </div>\n </Container>\n </div>\n )\n}\n\nexport default PurchaseBar\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GA2BY,IAAAI,EAAA,6BA3BZC,EAAkE,iBAClEC,EAAiD,kCAEjDC,EAAqB,gBACrBC,EAA+B,0CAC/BC,EAAmB,wCACnBC,EAA+B,uBAC/BC,EAAqC,uCACrCC,EAAwD,mCAExD,MAAMC,EAAc,CAAC,CAAE,kBAAAC,CAAkB,IAAwB,CAC/D,KAAM,CAACC,EAAmBC,CAAoB,KAAI,YAAS,CAAC,EACtD,CAAE,SAAAC,EAAU,QAAAC,EAAS,aAAAC,EAAc,UAAAC,CAAU,KAAI,wBAAqB,EAEtEC,KAAkB,WAAQ,IACvBH,GAAS,SAAS,YAAY,KAAMI,GAAcA,EAAK,eAAiB,aAAa,GAAG,MAAQ,CAAC,EACvG,CAACJ,GAAS,OAAO,CAAC,EAErB,sBAAU,IAAM,CACdF,EAAqB,SAAS,cAAc,eAAe,GAAG,cAAgB,CAAC,CACjF,EAAG,CAAC,CAAC,KAGH,OAAC,OAAI,GAAG,eAAe,UAAU,uEAC/B,mBAAC,aAAU,UAAU,iCACnB,oBAAC,OAAI,UAAU,iFACb,qBAAC,OAAI,UAAU,0BACb,oBAAC,WACC,KAAM,EACN,UAAU,mFACV,KAAME,GAAS,MACjB,EACCE,MACC,QAAC,OAAI,UAAU,+CACb,oBAAC,uBAAoB,KAAMC,EAAiB,kBAAmBP,EAAmB,EACjFK,GACH,GAEJ,EACEC,KAOA,OAAC,mBAAe,KANhB,OAAC,sBACC,KAAMC,EACN,kBAAmBN,EACnB,kBAAmBD,EACrB,GAIJ,EACF,EACF,CAEJ,EAEA,IAAOZ,EAAQW",
6
+ "names": ["PurchaseBar_exports", "__export", "PurchaseBar_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_components", "import_gsap", "import_AiuiProvider", "import_helpers", "import__", "import_BizProductProvider", "import_ScrollSpyNav", "PurchaseBar", "onSpyNavItemClick", "purchaseBarHeight", "setPurchaseBarHeight", "isMobile", "product", "renderRating", "isDesktop", "PurchaseBarData", "item"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var u=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var I=Object.prototype.hasOwnProperty;var x=(e,n)=>{for(var l in n)u(e,l,{get:n[l],enumerable:!0})},D=(e,n,l,i)=>{if(n&&typeof n=="object"||typeof n=="function")for(let t of C(n))!I.call(e,t)&&t!==l&&u(e,t,{get:()=>n[t],enumerable:!(i=h(n,t))||i.enumerable});return e};var G=e=>D(u({},"__esModule",{value:!0}),e);var R={};x(R,{useBenefits:()=>P});module.exports=G(R);var m=require("../ProductProvider"),d=require("../utils/helper"),p=require("../../AiuiProvider/index.js");const P=({variant:e})=>{const{coupon:n,product:l,bundle:i,freeGift:t,memberFunctionResult:a,creditsRedemptionAmount:s}=(0,m.useProductContext)(),{trackingData:f}=(0,p.useAiuiContext)(),r=Math.max(a?.withCouponMemberTotalSave??0,a?.withoutCouponMaxMemberTotalSave??0),g=!!(f?.paidShipping&&e.requiresShipping&&!e?.metafields?.global?.presell&&!e?.metafields?.global?.HideShipping),c=f?.freeGift,b=c?.excludeProducts?.map(o=>typeof o=="object"&&"sku"in o?o.sku:o)??[],B=f?.levelDiscount&&(0,d.checkItemAvailableForProduct)({product:l,variant:e,item:f?.levelDiscount});return{commonCoupon:{enable:!!n,config:n??{}},freeGift:{enable:!!t&&!!t?.giftList?.length,config:t},bundle:{enable:!!i&&!!i?.bundleList?.length&&Math.max(...i?.bundleList?.map(o=>o.savings??0))>0,config:i},memberDiscount:{enable:r>0,config:{amount:r,description:a?.labels?.find(o=>o.key==="benefit_tab_string")?.value}},creditsRedemption:{enable:!!s&&s>0,config:{amount:s,label:f?.creditsRedemptionLabel}},paidShipping:{enable:g,config:{}},fullGift:{enable:!!(c&&!b.includes(e.sku)),config:c??{}},levelDiscount:{enable:!!B,config:f?.levelDiscount??{}}}};
1
+ "use strict";var u=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var I=Object.prototype.hasOwnProperty;var x=(e,n)=>{for(var l in n)u(e,l,{get:n[l],enumerable:!0})},D=(e,n,l,i)=>{if(n&&typeof n=="object"||typeof n=="function")for(let t of C(n))!I.call(e,t)&&t!==l&&u(e,t,{get:()=>n[t],enumerable:!(i=h(n,t))||i.enumerable});return e};var G=e=>D(u({},"__esModule",{value:!0}),e);var R={};x(R,{useBenefits:()=>P});module.exports=G(R);var m=require("../BizProductProvider"),d=require("../utils/helper"),p=require("../../AiuiProvider/index.js");const P=({variant:e})=>{const{coupon:n,product:l,bundle:i,freeGift:t,memberFunctionResult:a,creditsRedemptionAmount:s,discount:v}=(0,m.useBizProductContext)(),{trackingData:f}=(0,p.useAiuiContext)(),r=Math.max(a?.withCouponMemberTotalSave??0,a?.withoutCouponMaxMemberTotalSave??0),g=!!(f?.paidShipping&&e.requiresShipping&&!e?.metafields?.global?.presell&&!e?.metafields?.global?.HideShipping),c=f?.freeGift,b=c?.excludeProducts?.map(o=>typeof o=="object"&&"sku"in o?o.sku:o)??[],B=f?.levelDiscount&&(0,d.checkItemAvailableForProduct)({product:l,variant:e,item:f?.levelDiscount});return{commonCoupon:{enable:!!n,config:n??{}},freeGift:{enable:!!t&&!!t?.giftList?.length,config:t},bundle:{enable:!!i&&!!i?.bundleList?.length&&Math.max(...i?.bundleList?.map(o=>o.savings??0))>0,config:i},memberDiscount:{enable:r>0,config:{amount:r,description:a?.labels?.find(o=>o.key==="benefit_tab_string")?.value}},creditsRedemption:{enable:!!s&&s>0,config:{amount:s,label:f?.creditsRedemptionLabel}},paidShipping:{enable:g,config:{}},fullGift:{enable:!!(c&&!b.includes(e.sku)),config:c??{}},levelDiscount:{enable:!!B,config:f?.levelDiscount??{}}}};
2
2
  //# sourceMappingURL=useBenefits.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/biz-components/Listing/hooks/useBenefits.ts"],
4
- "sourcesContent": ["import { useProductContext } from '../ProductProvider'\nimport type { ProductVariant, FreeGift, Bundle } from '../types/product'\nimport { checkItemAvailableForProduct } from '../utils/helper'\n\n\nimport { useAiuiContext } from '../../AiuiProvider/index.js'\n\ninterface BenefitsParams {\n variant: ProductVariant\n}\n\ninterface BenefitItemConfig<T extends Record<string, any> = Record<string, any>> {\n enable: boolean\n config?: T // \u539F\u59CB\u914D\u7F6E\n}\n\ninterface BenefitsResult {\n /**\n * \u901A\u7528\u4F18\u60E0\u5238\n */\n commonCoupon?: BenefitItemConfig\n /**\n * \u4E70\u8D60\n */\n freeGift: BenefitItemConfig<FreeGift>\n /**\n * \u6346\u7ED1\u6298\u6263\n */\n bundle: BenefitItemConfig<Bundle>\n /**\n * \u4F1A\u5458\u4EF7\n */\n memberDiscount: BenefitItemConfig\n /**\n * \u79EF\u5206\u62B5\u73B0\n */\n creditsRedemption: BenefitItemConfig\n /**\n * \u9AD8\u6807\u7269\u6D41\n */\n paidShipping: BenefitItemConfig\n\n /**\n * \u6EE1\u8D60\n */\n fullGift: BenefitItemConfig\n\n /**\n * \u6EE1\u51CF\u6298\u6263\n */\n levelDiscount: BenefitItemConfig\n}\n\n/**\n * \u5546\u54C1\u6743\u76CA\n * \u83B7\u53D6\u5F53\u524Dsku \u6240\u6709\u7684\u6743\u76CA\n * \u5305\u62EC \u901A\u7528\u4F18\u60E0\u5238\uFF0C\u4F1A\u5458\u4EF7\uFF0C\u6EE1\u51CF\uFF0C\u6346\u7ED1\u6298\u6263\uFF0C\u4E70\u8D60 \uFF0C\u6EE1\u8D60 \uFF0C\u79EF\u5206\u62B5\u73B0\n * @returns\n */\nexport const useBenefits = ({\n variant,\n}: BenefitsParams): BenefitsResult => {\n const { coupon, product, bundle, freeGift, memberFunctionResult, creditsRedemptionAmount } = useProductContext()\n\n const { trackingData } = useAiuiContext()\n\n const total = Math.max(\n memberFunctionResult?.withCouponMemberTotalSave ?? 0,\n memberFunctionResult?.withoutCouponMaxMemberTotalSave ?? 0\n )\n\n // \u9AD8\u6807\u7269\u6D41\n const showPaidShipping = Boolean(\n trackingData?.paidShipping &&\n variant.requiresShipping &&\n !variant?.metafields?.global?.presell &&\n !variant?.metafields?.global?.HideShipping\n )\n\n // \u811A\u672C\u6EE1\u8D60\n const fullGift = trackingData?.freeGift\n const excludeProducts =\n fullGift?.excludeProducts?.map((item: any) => (typeof item === 'object' && 'sku' in item ? item.sku : item)) ?? []\n\n const showLevelDiscount =\n trackingData?.levelDiscount &&\n checkItemAvailableForProduct({ product, variant, item: trackingData?.levelDiscount })\n\n return {\n commonCoupon: {\n enable: Boolean(coupon),\n config: coupon ?? {},\n },\n freeGift: {\n enable: Boolean(freeGift) && !!freeGift?.giftList?.length,\n config: freeGift,\n },\n bundle: {\n enable:\n Boolean(bundle) &&\n !!bundle?.bundleList?.length &&\n Math.max(...bundle?.bundleList?.map(item => item.savings ?? 0)) > 0, // \u6709\u4F18\u60E0\u624D\u5C55\u793A\n config: bundle,\n },\n memberDiscount: {\n enable: total > 0,\n config: {\n amount: total,\n description: memberFunctionResult?.labels?.find((item: any) => item.key === 'benefit_tab_string')?.value,\n },\n },\n creditsRedemption: {\n enable: Boolean(creditsRedemptionAmount) && creditsRedemptionAmount! > 0,\n config: { amount: creditsRedemptionAmount, label: trackingData?.creditsRedemptionLabel },\n },\n paidShipping: {\n enable: showPaidShipping,\n config: {},\n },\n fullGift: {\n enable: Boolean(fullGift && !excludeProducts.includes(variant.sku)),\n config: fullGift ?? {},\n },\n levelDiscount: {\n enable: Boolean(showLevelDiscount),\n config: trackingData?.levelDiscount ?? {},\n },\n }\n}\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,iBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAkC,8BAElCC,EAA6C,2BAG7CC,EAA+B,uCAsDxB,MAAMJ,EAAc,CAAC,CAC1B,QAAAK,CACF,IAAsC,CACpC,KAAM,CAAE,OAAAC,EAAQ,QAAAC,EAAS,OAAAC,EAAQ,SAAAC,EAAU,qBAAAC,EAAsB,wBAAAC,CAAwB,KAAI,qBAAkB,EAEzG,CAAE,aAAAC,CAAa,KAAI,kBAAe,EAElCC,EAAQ,KAAK,IACjBH,GAAsB,2BAA6B,EACnDA,GAAsB,iCAAmC,CAC3D,EAGMI,EAAmB,GACvBF,GAAc,cACZP,EAAQ,kBACR,CAACA,GAAS,YAAY,QAAQ,SAC9B,CAACA,GAAS,YAAY,QAAQ,cAI5BU,EAAWH,GAAc,SACzBI,EACJD,GAAU,iBAAiB,IAAKE,GAAe,OAAOA,GAAS,UAAY,QAASA,EAAOA,EAAK,IAAMA,CAAK,GAAK,CAAC,EAE7GC,EACJN,GAAc,kBACd,gCAA6B,CAAE,QAAAL,EAAS,QAAAF,EAAS,KAAMO,GAAc,aAAc,CAAC,EAEtF,MAAO,CACL,aAAc,CACZ,OAAQ,EAAQN,EAChB,OAAQA,GAAU,CAAC,CACrB,EACA,SAAU,CACR,OAAQ,EAAQG,GAAa,CAAC,CAACA,GAAU,UAAU,OACnD,OAAQA,CACV,EACA,OAAQ,CACN,OACE,EAAQD,GACR,CAAC,CAACA,GAAQ,YAAY,QACtB,KAAK,IAAI,GAAGA,GAAQ,YAAY,IAAIS,GAAQA,EAAK,SAAW,CAAC,CAAC,EAAI,EACpE,OAAQT,CACV,EACA,eAAgB,CACd,OAAQK,EAAQ,EAChB,OAAQ,CACN,OAAQA,EACR,YAAaH,GAAsB,QAAQ,KAAMO,GAAcA,EAAK,MAAQ,oBAAoB,GAAG,KACrG,CACF,EACA,kBAAmB,CACjB,OAAQ,EAAQN,GAA4BA,EAA2B,EACvE,OAAQ,CAAE,OAAQA,EAAyB,MAAOC,GAAc,sBAAuB,CACzF,EACA,aAAc,CACZ,OAAQE,EACR,OAAQ,CAAC,CACX,EACA,SAAU,CACR,OAAQ,GAAQC,GAAY,CAACC,EAAgB,SAASX,EAAQ,GAAG,GACjE,OAAQU,GAAY,CAAC,CACvB,EACA,cAAe,CACb,OAAQ,EAAQG,EAChB,OAAQN,GAAc,eAAiB,CAAC,CAC1C,CACF,CACF",
6
- "names": ["useBenefits_exports", "__export", "useBenefits", "__toCommonJS", "import_ProductProvider", "import_helper", "import_AiuiProvider", "variant", "coupon", "product", "bundle", "freeGift", "memberFunctionResult", "creditsRedemptionAmount", "trackingData", "total", "showPaidShipping", "fullGift", "excludeProducts", "item", "showLevelDiscount"]
4
+ "sourcesContent": ["import { useBizProductContext } from '../BizProductProvider'\nimport type { ProductVariant, FreeGift, Bundle } from '../types/product'\nimport { checkItemAvailableForProduct } from '../utils/helper'\n\n\nimport { useAiuiContext } from '../../AiuiProvider/index.js'\n\ninterface BenefitsParams {\n variant: ProductVariant\n}\n\ninterface BenefitItemConfig<T extends Record<string, any> = Record<string, any>> {\n enable: boolean\n config?: T // \u539F\u59CB\u914D\u7F6E\n}\n\ninterface BenefitsResult {\n /**\n * \u901A\u7528\u4F18\u60E0\u5238\n */\n commonCoupon?: BenefitItemConfig\n /**\n * \u4E70\u8D60\n */\n freeGift: BenefitItemConfig<FreeGift>\n /**\n * \u6346\u7ED1\u6298\u6263\n */\n bundle: BenefitItemConfig<Bundle>\n /**\n * \u4F1A\u5458\u4EF7\n */\n memberDiscount: BenefitItemConfig\n /**\n * \u79EF\u5206\u62B5\u73B0\n */\n creditsRedemption: BenefitItemConfig\n /**\n * \u9AD8\u6807\u7269\u6D41\n */\n paidShipping: BenefitItemConfig\n\n /**\n * \u6EE1\u8D60\n */\n fullGift: BenefitItemConfig\n\n /**\n * \u6EE1\u51CF\u6298\u6263\n */\n levelDiscount: BenefitItemConfig\n}\n\n/**\n * \u5546\u54C1\u6743\u76CA\n * \u83B7\u53D6\u5F53\u524Dsku \u6240\u6709\u7684\u6743\u76CA\n * \u5305\u62EC \u901A\u7528\u4F18\u60E0\u5238\uFF0C\u4F1A\u5458\u4EF7\uFF0C\u6EE1\u51CF\uFF0C\u6346\u7ED1\u6298\u6263\uFF0C\u4E70\u8D60 \uFF0C\u6EE1\u8D60 \uFF0C\u79EF\u5206\u62B5\u73B0\n * @returns\n */\nexport const useBenefits = ({\n variant,\n}: BenefitsParams): BenefitsResult => {\n const { coupon, product, bundle, freeGift, memberFunctionResult, creditsRedemptionAmount, discount } = useBizProductContext()\n\n const { trackingData } = useAiuiContext()\n\n const total = Math.max(\n memberFunctionResult?.withCouponMemberTotalSave ?? 0,\n memberFunctionResult?.withoutCouponMaxMemberTotalSave ?? 0\n )\n\n // \u9AD8\u6807\u7269\u6D41\n const showPaidShipping = Boolean(\n trackingData?.paidShipping &&\n variant.requiresShipping &&\n !variant?.metafields?.global?.presell &&\n !variant?.metafields?.global?.HideShipping\n )\n\n // \u811A\u672C\u6EE1\u8D60\n const fullGift = trackingData?.freeGift\n const excludeProducts =\n fullGift?.excludeProducts?.map((item: any) => (typeof item === 'object' && 'sku' in item ? item.sku : item)) ?? []\n\n const showLevelDiscount =\n trackingData?.levelDiscount &&\n checkItemAvailableForProduct({ product, variant, item: trackingData?.levelDiscount })\n\n return {\n commonCoupon: {\n enable: Boolean(coupon),\n config: coupon ?? {},\n },\n freeGift: {\n enable: Boolean(freeGift) && !!freeGift?.giftList?.length,\n config: freeGift,\n },\n bundle: {\n enable:\n Boolean(bundle) &&\n !!bundle?.bundleList?.length &&\n Math.max(...bundle?.bundleList?.map(item => item.savings ?? 0)) > 0, // \u6709\u4F18\u60E0\u624D\u5C55\u793A\n config: bundle,\n },\n memberDiscount: {\n enable: total > 0,\n config: {\n amount: total,\n description: memberFunctionResult?.labels?.find((item: any) => item.key === 'benefit_tab_string')?.value,\n },\n },\n creditsRedemption: {\n enable: Boolean(creditsRedemptionAmount) && creditsRedemptionAmount! > 0,\n config: { amount: creditsRedemptionAmount, label: trackingData?.creditsRedemptionLabel },\n },\n paidShipping: {\n enable: showPaidShipping,\n config: {},\n },\n fullGift: {\n enable: Boolean(fullGift && !excludeProducts.includes(variant.sku)),\n config: fullGift ?? {},\n },\n levelDiscount: {\n enable: Boolean(showLevelDiscount),\n config: trackingData?.levelDiscount ?? {},\n },\n }\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,iBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAqC,iCAErCC,EAA6C,2BAG7CC,EAA+B,uCAsDxB,MAAMJ,EAAc,CAAC,CAC1B,QAAAK,CACF,IAAsC,CACpC,KAAM,CAAE,OAAAC,EAAQ,QAAAC,EAAS,OAAAC,EAAQ,SAAAC,EAAU,qBAAAC,EAAsB,wBAAAC,EAAyB,SAAAC,CAAS,KAAI,wBAAqB,EAEtH,CAAE,aAAAC,CAAa,KAAI,kBAAe,EAElCC,EAAQ,KAAK,IACjBJ,GAAsB,2BAA6B,EACnDA,GAAsB,iCAAmC,CAC3D,EAGMK,EAAmB,GACvBF,GAAc,cACZR,EAAQ,kBACR,CAACA,GAAS,YAAY,QAAQ,SAC9B,CAACA,GAAS,YAAY,QAAQ,cAI5BW,EAAWH,GAAc,SACzBI,EACJD,GAAU,iBAAiB,IAAKE,GAAe,OAAOA,GAAS,UAAY,QAASA,EAAOA,EAAK,IAAMA,CAAK,GAAK,CAAC,EAE7GC,EACJN,GAAc,kBACd,gCAA6B,CAAE,QAAAN,EAAS,QAAAF,EAAS,KAAMQ,GAAc,aAAc,CAAC,EAEtF,MAAO,CACL,aAAc,CACZ,OAAQ,EAAQP,EAChB,OAAQA,GAAU,CAAC,CACrB,EACA,SAAU,CACR,OAAQ,EAAQG,GAAa,CAAC,CAACA,GAAU,UAAU,OACnD,OAAQA,CACV,EACA,OAAQ,CACN,OACE,EAAQD,GACR,CAAC,CAACA,GAAQ,YAAY,QACtB,KAAK,IAAI,GAAGA,GAAQ,YAAY,IAAIU,GAAQA,EAAK,SAAW,CAAC,CAAC,EAAI,EACpE,OAAQV,CACV,EACA,eAAgB,CACd,OAAQM,EAAQ,EAChB,OAAQ,CACN,OAAQA,EACR,YAAaJ,GAAsB,QAAQ,KAAMQ,GAAcA,EAAK,MAAQ,oBAAoB,GAAG,KACrG,CACF,EACA,kBAAmB,CACjB,OAAQ,EAAQP,GAA4BA,EAA2B,EACvE,OAAQ,CAAE,OAAQA,EAAyB,MAAOE,GAAc,sBAAuB,CACzF,EACA,aAAc,CACZ,OAAQE,EACR,OAAQ,CAAC,CACX,EACA,SAAU,CACR,OAAQ,GAAQC,GAAY,CAACC,EAAgB,SAASZ,EAAQ,GAAG,GACjE,OAAQW,GAAY,CAAC,CACvB,EACA,cAAe,CACb,OAAQ,EAAQG,EAChB,OAAQN,GAAc,eAAiB,CAAC,CAC1C,CACF,CACF",
6
+ "names": ["useBenefits_exports", "__export", "useBenefits", "__toCommonJS", "import_BizProductProvider", "import_helper", "import_AiuiProvider", "variant", "coupon", "product", "bundle", "freeGift", "memberFunctionResult", "creditsRedemptionAmount", "discount", "trackingData", "total", "showPaidShipping", "fullGift", "excludeProducts", "item", "showLevelDiscount"]
7
7
  }
@@ -1,3 +1,3 @@
1
- import { type ProductContextType } from './ProductProvider.js';
1
+ import { type ProductContextType } from './BizProductProvider.js';
2
2
  declare const Listing: React.FC<Omit<ProductContextType, 'joinedRecommendBuyProducts' | 'setJoinedRecommendBuyProducts'>>;
3
3
  export default Listing;
@@ -1,2 +1,2 @@
1
- "use strict";var z=Object.create;var d=Object.defineProperty;var F=Object.getOwnPropertyDescriptor;var J=Object.getOwnPropertyNames;var K=Object.getPrototypeOf,Q=Object.prototype.hasOwnProperty;var V=(e,o)=>{for(var t in o)d(e,t,{get:o[t],enumerable:!0})},p=(e,o,t,n)=>{if(o&&typeof o=="object"||typeof o=="function")for(let r of J(o))!Q.call(e,r)&&r!==t&&d(e,r,{get:()=>o[r],enumerable:!(n=F(o,r))||n.enumerable});return e};var E=(e,o,t)=>(t=e!=null?z(K(e)):{},p(o||!e||!e.__esModule?d(t,"default",{value:e,enumerable:!0}):t,e)),H=e=>p(d({},"__esModule",{value:!0}),e);var W={};V(W,{default:()=>U});module.exports=H(W);var i=require("react/jsx-runtime"),m=require("../AiuiProvider/index.js"),c=require("./components/index.js"),u=E(require("./ProductProvider.js")),y=require("./components/index.js"),a=require("react-responsive");const l=({product:e,renderRating:o,variant:t,selectedOptions:n,setSelectedOptions:r,isLogin:X,finalPrice:f,coupon:P,comparePrice:v,totalSavings:C,savingDetail:S,freeGift:g,bundle:h,checkedBundle:k,checkedGift:N,setCheckedBundle:x,setCheckedGift:B,compareData:I,selectedVariants:A,onAddToCart:D,onBuyNow:b,openModal:w,setSavingDetail:M,openSignInPopup:R,openAuthCodePopup:G,renderAffirm:L,renderKlarna:O,renderPaypal:T})=>{const{locale:Y}=(0,m.useAiuiContext)(),s=(0,a.useMediaQuery)({query:"(max-width: 768px)"}),q=(0,a.useMediaQuery)({query:"(min-width: 1440px)"});return(0,i.jsx)(u.default,{product:e,isMobile:s,isDesktop:q,freeGift:g,renderRating:o,finalPrice:f,comparePrice:v,totalSavings:C,savingDetail:S,variant:t,selectedOptions:n,setSelectedOptions:r,bundle:h,coupon:P,checkedBundle:k,checkedGift:N,setCheckedBundle:x,setCheckedGift:B,compareData:I,selectedVariants:A,onAddToCart:D,onBuyNow:b,openModal:w,setSavingDetail:M,openSignInPopup:R,openAuthCodePopup:G,renderAffirm:L,renderKlarna:O,renderPaypal:T,children:(0,i.jsxs)("div",{id:"ipc-listing",children:[(0,i.jsx)(c.PurchaseBar,{onSpyNavItemClick:j=>{console.log(j)}}),s&&(0,i.jsx)("div",{className:"fixed bottom-0 left-0 w-full z-[60]",children:(0,i.jsx)(c.ProductActions,{})}),(0,i.jsx)(y.ProductCard,{})]})})};l.displayName="Listing";var U=l;
1
+ "use strict";var j=Object.create;var d=Object.defineProperty;var F=Object.getOwnPropertyDescriptor;var J=Object.getOwnPropertyNames;var K=Object.getPrototypeOf,Q=Object.prototype.hasOwnProperty;var V=(e,o)=>{for(var t in o)d(e,t,{get:o[t],enumerable:!0})},p=(e,o,t,n)=>{if(o&&typeof o=="object"||typeof o=="function")for(let r of J(o))!Q.call(e,r)&&r!==t&&d(e,r,{get:()=>o[r],enumerable:!(n=F(o,r))||n.enumerable});return e};var E=(e,o,t)=>(t=e!=null?j(K(e)):{},p(o||!e||!e.__esModule?d(t,"default",{value:e,enumerable:!0}):t,e)),H=e=>p(d({},"__esModule",{value:!0}),e);var W={};V(W,{default:()=>U});module.exports=H(W);var i=require("react/jsx-runtime"),m=require("../AiuiProvider/index.js"),c=require("./components/index.js"),u=E(require("./BizProductProvider.js")),y=require("./components/index.js"),a=require("react-responsive");const l=({product:e,renderRating:o,variant:t,selectedOptions:n,setSelectedOptions:r,isLogin:X,finalPrice:f,coupon:P,comparePrice:v,totalSavings:C,savingDetail:S,freeGift:g,bundle:h,checkedBundle:k,checkedGift:B,setCheckedBundle:N,setCheckedGift:x,compareData:I,selectedVariants:A,onAddToCart:D,onBuyNow:b,openModal:w,setSavingDetail:M,openSignInPopup:R,openAuthCodePopup:z,renderAffirm:G,renderKlarna:L,renderPaypal:O})=>{const{locale:Y}=(0,m.useAiuiContext)(),s=(0,a.useMediaQuery)({query:"(max-width: 768px)"}),T=(0,a.useMediaQuery)({query:"(min-width: 1440px)"});return(0,i.jsx)(u.default,{product:e,isMobile:s,isDesktop:T,freeGift:g,renderRating:o,finalPrice:f,comparePrice:v,totalSavings:C,savingDetail:S,variant:t,selectedOptions:n,setSelectedOptions:r,bundle:h,coupon:P,checkedBundle:k,checkedGift:B,setCheckedBundle:N,setCheckedGift:x,compareData:I,selectedVariants:A,onAddToCart:D,onBuyNow:b,openModal:w,setSavingDetail:M,openSignInPopup:R,openAuthCodePopup:z,renderAffirm:G,renderKlarna:L,renderPaypal:O,children:(0,i.jsxs)("div",{id:"ipc-listing",children:[(0,i.jsx)(c.PurchaseBar,{onSpyNavItemClick:q=>{console.log(q)}}),s&&(0,i.jsx)("div",{className:"fixed bottom-0 left-0 w-full z-[60]",children:(0,i.jsx)(c.ProductActions,{})}),(0,i.jsx)(y.ProductCard,{})]})})};l.displayName="Listing";var U=l;
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/Listing/index.tsx"],
4
- "sourcesContent": ["import { useAiuiContext } from '../AiuiProvider/index.js'\nimport { PurchaseBar, ProductActions } from './components/index.js'\nimport type { ScrollSpyNavItem } from './components/PurchaseBar/types.js'\nimport ProductProvider, { type ProductContextType } from './ProductProvider.js'\nimport { ProductCard } from './components/index.js'\n\nimport { useMediaQuery } from 'react-responsive'\n\nconst Listing: React.FC<Omit<ProductContextType, 'joinedRecommendBuyProducts' | 'setJoinedRecommendBuyProducts'>> = ({\n product,\n renderRating,\n variant,\n selectedOptions,\n setSelectedOptions,\n isLogin,\n finalPrice,\n coupon,\n comparePrice,\n totalSavings,\n savingDetail,\n freeGift,\n bundle,\n checkedBundle,\n checkedGift,\n setCheckedBundle,\n setCheckedGift,\n compareData,\n selectedVariants,\n onAddToCart,\n onBuyNow,\n openModal,\n setSavingDetail,\n openSignInPopup,\n openAuthCodePopup,\n renderAffirm,\n renderKlarna,\n renderPaypal,\n}) => {\n const { locale } = useAiuiContext()\n\n const isMobile = useMediaQuery({ query: '(max-width: 768px)' })\n const isDesktop = useMediaQuery({ query: '(min-width: 1440px)' })\n\n const onSpyNavItemClick = (tab: ScrollSpyNavItem) => {\n console.log(tab)\n }\n\n return (\n <ProductProvider\n product={product}\n isMobile={isMobile}\n isDesktop={isDesktop}\n freeGift={freeGift}\n renderRating={renderRating}\n finalPrice={finalPrice}\n comparePrice={comparePrice}\n totalSavings={totalSavings}\n savingDetail={savingDetail}\n variant={variant}\n selectedOptions={selectedOptions}\n setSelectedOptions={setSelectedOptions}\n bundle={bundle}\n coupon={coupon}\n checkedBundle={checkedBundle}\n checkedGift={checkedGift}\n setCheckedBundle={setCheckedBundle}\n setCheckedGift={setCheckedGift}\n compareData={compareData}\n selectedVariants={selectedVariants}\n onAddToCart={onAddToCart}\n onBuyNow={onBuyNow}\n openModal={openModal}\n setSavingDetail={setSavingDetail}\n openSignInPopup={openSignInPopup}\n openAuthCodePopup={openAuthCodePopup}\n renderAffirm={renderAffirm}\n renderKlarna={renderKlarna}\n renderPaypal={renderPaypal}\n >\n <div id=\"ipc-listing\">\n <PurchaseBar onSpyNavItemClick={onSpyNavItemClick} />\n {isMobile && (\n <div className=\"fixed bottom-0 left-0 w-full z-[60]\">\n <ProductActions />\n </div>\n )}\n <ProductCard />\n </div>\n </ProductProvider>\n )\n}\n\nListing.displayName = 'Listing'\n\nexport default Listing\n"],
5
- "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GA+EM,IAAAI,EAAA,6BA/ENC,EAA+B,oCAC/BC,EAA4C,iCAE5CC,EAAyD,mCACzDD,EAA4B,iCAE5BE,EAA8B,4BAE9B,MAAMC,EAA8G,CAAC,CACnH,QAAAC,EACA,aAAAC,EACA,QAAAC,EACA,gBAAAC,EACA,mBAAAC,EACA,QAAAC,EACA,WAAAC,EACA,OAAAC,EACA,aAAAC,EACA,aAAAC,EACA,aAAAC,EACA,SAAAC,EACA,OAAAC,EACA,cAAAC,EACA,YAAAC,EACA,iBAAAC,EACA,eAAAC,EACA,YAAAC,EACA,iBAAAC,EACA,YAAAC,EACA,SAAAC,EACA,UAAAC,EACA,gBAAAC,EACA,gBAAAC,EACA,kBAAAC,EACA,aAAAC,EACA,aAAAC,EACA,aAAAC,CACF,IAAM,CACJ,KAAM,CAAE,OAAAC,CAAO,KAAI,kBAAe,EAE5BC,KAAW,iBAAc,CAAE,MAAO,oBAAqB,CAAC,EACxDC,KAAY,iBAAc,CAAE,MAAO,qBAAsB,CAAC,EAMhE,SACE,OAAC,EAAAC,QAAA,CACC,QAAS/B,EACT,SAAU6B,EACV,UAAWC,EACX,SAAUnB,EACV,aAAcV,EACd,WAAYK,EACZ,aAAcE,EACd,aAAcC,EACd,aAAcC,EACd,QAASR,EACT,gBAAiBC,EACjB,mBAAoBC,EACpB,OAAQQ,EACR,OAAQL,EACR,cAAeM,EACf,YAAaC,EACb,iBAAkBC,EAClB,eAAgBC,EAChB,YAAaC,EACb,iBAAkBC,EAClB,YAAaC,EACb,SAAUC,EACV,UAAWC,EACX,gBAAiBC,EACjB,gBAAiBC,EACjB,kBAAmBC,EACnB,aAAcC,EACd,aAAcC,EACd,aAAcC,EAEd,oBAAC,OAAI,GAAG,cACN,oBAAC,eAAY,kBArCQK,GAA0B,CACnD,QAAQ,IAAIA,CAAG,CACjB,EAmCyD,EAClDH,MACC,OAAC,OAAI,UAAU,sCACb,mBAAC,mBAAe,EAClB,KAEF,OAAC,gBAAY,GACf,EACF,CAEJ,EAEA9B,EAAQ,YAAc,UAEtB,IAAOP,EAAQO",
6
- "names": ["Listing_exports", "__export", "Listing_default", "__toCommonJS", "import_jsx_runtime", "import_AiuiProvider", "import_components", "import_ProductProvider", "import_react_responsive", "Listing", "product", "renderRating", "variant", "selectedOptions", "setSelectedOptions", "isLogin", "finalPrice", "coupon", "comparePrice", "totalSavings", "savingDetail", "freeGift", "bundle", "checkedBundle", "checkedGift", "setCheckedBundle", "setCheckedGift", "compareData", "selectedVariants", "onAddToCart", "onBuyNow", "openModal", "setSavingDetail", "openSignInPopup", "openAuthCodePopup", "renderAffirm", "renderKlarna", "renderPaypal", "locale", "isMobile", "isDesktop", "ProductProvider", "tab"]
4
+ "sourcesContent": ["import { useAiuiContext } from '../AiuiProvider/index.js'\nimport { PurchaseBar, ProductActions } from './components/index.js'\nimport type { ScrollSpyNavItem } from './components/PurchaseBar/types.js'\nimport BizProductProvider, { type ProductContextType } from './BizProductProvider.js'\nimport { ProductCard } from './components/index.js'\n\nimport { useMediaQuery } from 'react-responsive'\n\nconst Listing: React.FC<Omit<ProductContextType, 'joinedRecommendBuyProducts' | 'setJoinedRecommendBuyProducts'>> = ({\n product,\n renderRating,\n variant,\n selectedOptions,\n setSelectedOptions,\n isLogin,\n finalPrice,\n coupon,\n comparePrice,\n totalSavings,\n savingDetail,\n freeGift,\n bundle,\n checkedBundle,\n checkedGift,\n setCheckedBundle,\n setCheckedGift,\n compareData,\n selectedVariants,\n onAddToCart,\n onBuyNow,\n openModal,\n setSavingDetail,\n openSignInPopup,\n openAuthCodePopup,\n renderAffirm,\n renderKlarna,\n renderPaypal,\n}) => {\n const { locale } = useAiuiContext()\n\n const isMobile = useMediaQuery({ query: '(max-width: 768px)' })\n const isDesktop = useMediaQuery({ query: '(min-width: 1440px)' })\n\n const onSpyNavItemClick = (tab: ScrollSpyNavItem) => {\n console.log(tab)\n }\n\n return (\n <BizProductProvider\n product={product}\n isMobile={isMobile}\n isDesktop={isDesktop}\n freeGift={freeGift}\n renderRating={renderRating}\n finalPrice={finalPrice}\n comparePrice={comparePrice}\n totalSavings={totalSavings}\n savingDetail={savingDetail}\n variant={variant}\n selectedOptions={selectedOptions}\n setSelectedOptions={setSelectedOptions}\n bundle={bundle}\n coupon={coupon}\n checkedBundle={checkedBundle}\n checkedGift={checkedGift}\n setCheckedBundle={setCheckedBundle}\n setCheckedGift={setCheckedGift}\n compareData={compareData}\n selectedVariants={selectedVariants}\n onAddToCart={onAddToCart}\n onBuyNow={onBuyNow}\n openModal={openModal}\n setSavingDetail={setSavingDetail}\n openSignInPopup={openSignInPopup}\n openAuthCodePopup={openAuthCodePopup}\n renderAffirm={renderAffirm}\n renderKlarna={renderKlarna}\n renderPaypal={renderPaypal}\n >\n <div id=\"ipc-listing\">\n <PurchaseBar onSpyNavItemClick={onSpyNavItemClick} />\n {isMobile && (\n <div className=\"fixed bottom-0 left-0 w-full z-[60]\">\n <ProductActions />\n </div>\n )}\n <ProductCard />\n </div>\n </BizProductProvider>\n )\n}\n\nListing.displayName = 'Listing'\n\nexport default Listing\n"],
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GA+EM,IAAAI,EAAA,6BA/ENC,EAA+B,oCAC/BC,EAA4C,iCAE5CC,EAA4D,sCAC5DD,EAA4B,iCAE5BE,EAA8B,4BAE9B,MAAMC,EAA8G,CAAC,CACnH,QAAAC,EACA,aAAAC,EACA,QAAAC,EACA,gBAAAC,EACA,mBAAAC,EACA,QAAAC,EACA,WAAAC,EACA,OAAAC,EACA,aAAAC,EACA,aAAAC,EACA,aAAAC,EACA,SAAAC,EACA,OAAAC,EACA,cAAAC,EACA,YAAAC,EACA,iBAAAC,EACA,eAAAC,EACA,YAAAC,EACA,iBAAAC,EACA,YAAAC,EACA,SAAAC,EACA,UAAAC,EACA,gBAAAC,EACA,gBAAAC,EACA,kBAAAC,EACA,aAAAC,EACA,aAAAC,EACA,aAAAC,CACF,IAAM,CACJ,KAAM,CAAE,OAAAC,CAAO,KAAI,kBAAe,EAE5BC,KAAW,iBAAc,CAAE,MAAO,oBAAqB,CAAC,EACxDC,KAAY,iBAAc,CAAE,MAAO,qBAAsB,CAAC,EAMhE,SACE,OAAC,EAAAC,QAAA,CACC,QAAS/B,EACT,SAAU6B,EACV,UAAWC,EACX,SAAUnB,EACV,aAAcV,EACd,WAAYK,EACZ,aAAcE,EACd,aAAcC,EACd,aAAcC,EACd,QAASR,EACT,gBAAiBC,EACjB,mBAAoBC,EACpB,OAAQQ,EACR,OAAQL,EACR,cAAeM,EACf,YAAaC,EACb,iBAAkBC,EAClB,eAAgBC,EAChB,YAAaC,EACb,iBAAkBC,EAClB,YAAaC,EACb,SAAUC,EACV,UAAWC,EACX,gBAAiBC,EACjB,gBAAiBC,EACjB,kBAAmBC,EACnB,aAAcC,EACd,aAAcC,EACd,aAAcC,EAEd,oBAAC,OAAI,GAAG,cACN,oBAAC,eAAY,kBArCQK,GAA0B,CACnD,QAAQ,IAAIA,CAAG,CACjB,EAmCyD,EAClDH,MACC,OAAC,OAAI,UAAU,sCACb,mBAAC,mBAAe,EAClB,KAEF,OAAC,gBAAY,GACf,EACF,CAEJ,EAEA9B,EAAQ,YAAc,UAEtB,IAAOP,EAAQO",
6
+ "names": ["Listing_exports", "__export", "Listing_default", "__toCommonJS", "import_jsx_runtime", "import_AiuiProvider", "import_components", "import_BizProductProvider", "import_react_responsive", "Listing", "product", "renderRating", "variant", "selectedOptions", "setSelectedOptions", "isLogin", "finalPrice", "coupon", "comparePrice", "totalSavings", "savingDetail", "freeGift", "bundle", "checkedBundle", "checkedGift", "setCheckedBundle", "setCheckedGift", "compareData", "selectedVariants", "onAddToCart", "onBuyNow", "openModal", "setSavingDetail", "openSignInPopup", "openAuthCodePopup", "renderAffirm", "renderKlarna", "renderPaypal", "locale", "isMobile", "isDesktop", "BizProductProvider", "tab"]
7
7
  }
@@ -19,3 +19,10 @@ export type CompareData = {
19
19
  };
20
20
  show: boolean;
21
21
  };
22
+ export type DiscountData = {
23
+ codeSavings: number;
24
+ scriptSavings: number;
25
+ totalSavings: number;
26
+ comparePrice: number;
27
+ finalPrice: number;
28
+ };
@@ -1,2 +1,2 @@
1
- "use strict";var a=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var s=(r,t,p,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let e of i(t))!c.call(r,e)&&e!==p&&a(r,e,{get:()=>t[e],enumerable:!(o=m(t,e))||o.enumerable});return r};var n=r=>s(a({},"__esModule",{value:!0}),r);var d={};module.exports=n(d);
1
+ "use strict";var a=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var n=Object.prototype.hasOwnProperty;var c=(e,t,p,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of i(t))!n.call(e,r)&&r!==p&&a(e,r,{get:()=>t[r],enumerable:!(o=m(t,r))||o.enumerable});return e};var s=e=>c(a({},"__esModule",{value:!0}),e);var u={};module.exports=s(u);
2
2
  //# sourceMappingURL=types.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/Listing/types.ts"],
4
- "sourcesContent": ["import type { Product } from './types/product'\n\nexport type CompareProductItem = {\n handle: string\n shortName: string\n compareProductCollection?: string\n}\n\nexport type CompareItem = { product: Product } & CompareProductItem\n\nexport type CompareData = {\n data: {\n availableCompareList: Array<CompareItem>\n currentProductCompareData?: CompareItem\n options: { value: string; text: string }[]\n specificationKeys?: string[]\n }\n show: boolean\n}\n"],
4
+ "sourcesContent": ["import type { Product } from './types/product'\n\nexport type CompareProductItem = {\n handle: string\n shortName: string\n compareProductCollection?: string\n}\n\nexport type CompareItem = { product: Product } & CompareProductItem\n\nexport type CompareData = {\n data: {\n availableCompareList: Array<CompareItem>\n currentProductCompareData?: CompareItem\n options: { value: string; text: string }[]\n specificationKeys?: string[]\n }\n show: boolean\n}\n\nexport type DiscountData = {\n codeSavings: number\n scriptSavings: number\n totalSavings: number\n comparePrice: number\n finalPrice: number\n}"],
5
5
  "mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
6
  "names": ["types_exports", "__toCommonJS"]
7
7
  }
@@ -40,7 +40,7 @@ export { default as Paginator } from './Paginator/index.js';
40
40
  export { default as CollectionsBanner } from './CollectionsBanner/index.js';
41
41
  export { default as TextMarquee } from './TextMarquee/index.js';
42
42
  export { default as CollectionShelves } from './CollectionShelves/index.js';
43
- export { default as ProductProvider } from './Listing/ProductProvider.js';
43
+ export { default as BizProductProvider } from './Listing/BizProductProvider.js';
44
44
  export { default as PurchaseBar } from './Listing/components/PurchaseBar/index.js';
45
45
  export { default as ProductActions } from './Listing/components/PurchaseBar/ProductActions/index.js';
46
46
  export { default as ProductCard } from './Listing/components/ProductCard/index.js';
@@ -1,2 +1,2 @@
1
- "use strict";var he=Object.create;var l=Object.defineProperty;var ye=Object.getOwnPropertyDescriptor;var Be=Object.getOwnPropertyNames;var ge=Object.getPrototypeOf,Ce=Object.prototype.hasOwnProperty;var Ge=(r,t)=>{for(var a in t)l(r,a,{get:t[a],enumerable:!0})},d=(r,t,a,p)=>{if(t&&typeof t=="object"||typeof t=="function")for(let f of Be(t))!Ce.call(r,f)&&f!==a&&l(r,f,{get:()=>t[f],enumerable:!(p=ye(t,f))||p.enumerable});return r};var e=(r,t,a)=>(a=r!=null?he(ge(r)):{},d(t||!r||!r.__esModule?l(a,"default",{value:r,enumerable:!0}):a,r)),Me=r=>d(l({},"__esModule",{value:!0}),r);var Se={};Ge(Se,{AccordionCards:()=>B.default,AiuiProvider:()=>H.default,AplusDesc:()=>se.default,BenefitsTab:()=>le.default,BrandEquity:()=>s.default,Category:()=>h.default,CollectionShelves:()=>K.default,CollectionsBanner:()=>z.default,CollectionsFilters:()=>W.default,CreativeModule:()=>I.default,DownLoad:()=>ie.default,Evaluate:()=>P.default,Faq:()=>A.default,Features:()=>de.default,FilterCardWrap:()=>O.default,FilterCardWrapItem:()=>_.default,FilterHeader:()=>N.default,FilterList:()=>w.default,FootCharger:()=>ce.default,FooterNavigation:()=>k.default,GiftBox:()=>me.default,Graphic:()=>g.default,GraphicAttractionBlock:()=>q.default,GraphicMore:()=>pe.default,GraphicOverlay:()=>j.default,HeaderNavigation:()=>v.default,HeroBanner:()=>y.default,IPC_SEARCH_PAGE:()=>u.IPC_SEARCH_PAGE,Listing:()=>L.default,Marquee:()=>S.default,MarqueeImageContent:()=>o.MarqueeImageContent,MarqueeItem:()=>o.MarqueeItem,MarqueeTextContent:()=>o.MarqueeTextContent,MediaPlayerBase:()=>C.default,MediaPlayerMulti:()=>M.default,MediaPlayerSticky:()=>G.default,MemberEquity:()=>m.default,MultiLayoutGraphicBlock:()=>T.default,Paginator:()=>R.default,PaidShipping:()=>ue.default,ProductActions:()=>V.default,ProductBenefitsTabs:()=>Y.default,ProductBundle:()=>re.default,ProductCard:()=>X.default,ProductDetail:()=>oe.default,ProductFreeGift:()=>$.default,ProductGallery:()=>ae.default,ProductGridBox:()=>te.default,ProductHighlight:()=>Z.default,ProductOptions:()=>ee.default,ProductProvider:()=>Q.default,ProductSummary:()=>fe.default,PurchaseBar:()=>U.default,SearchPage:()=>b.default,SearchPageTabType:()=>u.SearchPageTabType,SelectStore:()=>xe.default,ShelfDisplay:()=>n.default,Slogan:()=>x.default,Spacer:()=>c.default,Specs:()=>ne.default,TabGroup:()=>Pe.default,Tabs:()=>D.default,TextMarquee:()=>J.default,Title:()=>i.default,WhyChoose:()=>F.default,withLayout:()=>E.withLayout});module.exports=Me(Se);var s=e(require("./BrandEquity/index.js")),m=e(require("./MemberEquity/index.js")),x=e(require("./Slogan/index.js")),i=e(require("./Title/index.js")),c=e(require("./Spacer/index.js")),n=e(require("./ShelfDisplay/index.js")),P=e(require("./Evaluate/index.js")),h=e(require("./Category/index.js")),y=e(require("./HeroBanner/index.js")),B=e(require("./AccordionCards/index.js")),g=e(require("./Graphic/index.js")),C=e(require("./MediaPlayerBase/index.js")),G=e(require("./MediaPlayerSticky/index.js")),M=e(require("./MediaPlayerMulti/index.js")),S=e(require("./Marquee/index.js")),F=e(require("./WhyChoose/index.js")),A=e(require("./Faq/index.js")),o=require("./Marquee/index.js"),T=e(require("./MultiLayoutGraphicBlock/index.js")),q=e(require("./GraphicAttractionBlock/index.js")),v=e(require("./HeaderNavigation/index.js")),k=e(require("./FooterNavigation/index.js")),L=e(require("./Listing/index.js")),b=e(require("./SearchPage/index.js")),u=require("./SearchPage/types.js"),E=require("../shared/Styles.js"),H=e(require("./AiuiProvider/index.js")),D=e(require("./Tabs/index.js")),I=e(require("./CreativeModule/index.js")),j=e(require("./GraphicOverlay/index.js")),W=e(require("./CollectionsFilters/index.js")),w=e(require("./CollectionsFilters/FilterList.js")),N=e(require("./CollectionsFilters/FilterHeader.js")),O=e(require("./CollectionsFilters/FilterCardWrap.js")),_=e(require("./CollectionsFilters/FilterCardWrapItem.js")),R=e(require("./Paginator/index.js")),z=e(require("./CollectionsBanner/index.js")),J=e(require("./TextMarquee/index.js")),K=e(require("./CollectionShelves/index.js")),Q=e(require("./Listing/ProductProvider.js")),U=e(require("./Listing/components/PurchaseBar/index.js")),V=e(require("./Listing/components/PurchaseBar/ProductActions/index.js")),X=e(require("./Listing/components/ProductCard/index.js")),Y=e(require("./Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js")),Z=e(require("./Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js")),$=e(require("./Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js")),ee=e(require("./Listing/components/ProductCard/ProductDetail/ProductOptions/index.js")),re=e(require("./Listing/components/ProductCard/ProductDetail/ProductBundle/index.js")),te=e(require("./Listing/components/ProductCard/ProductGridBox.js")),ae=e(require("./Listing/components/ProductCard/ProductGallery/index.js")),oe=e(require("./Listing/components/ProductCard/ProductDetail/index.js")),fe=e(require("./Listing/components/ProductCard/ProductSummary/index.js")),le=e(require("./Listing/components/ProductCard/ProductDetail/BenefitsTab")),ue=e(require("./Listing/components/PaidShipping/index.js")),pe=e(require("./GraphicMore/index.js")),de=e(require("./Features/index.js")),se=e(require("./AplusDesc/index.js")),me=e(require("./GiftBox/index.js")),xe=e(require("./SelectStore/index.js")),ie=e(require("./DownLoad/index.js")),ce=e(require("./FootCharger/index.js")),ne=e(require("./Specs/index.js")),Pe=e(require("./TabsGroup/index.js"));
1
+ "use strict";var he=Object.create;var l=Object.defineProperty;var ye=Object.getOwnPropertyDescriptor;var Be=Object.getOwnPropertyNames;var ge=Object.getPrototypeOf,Ce=Object.prototype.hasOwnProperty;var Ge=(r,t)=>{for(var a in t)l(r,a,{get:t[a],enumerable:!0})},d=(r,t,a,p)=>{if(t&&typeof t=="object"||typeof t=="function")for(let f of Be(t))!Ce.call(r,f)&&f!==a&&l(r,f,{get:()=>t[f],enumerable:!(p=ye(t,f))||p.enumerable});return r};var e=(r,t,a)=>(a=r!=null?he(ge(r)):{},d(t||!r||!r.__esModule?l(a,"default",{value:r,enumerable:!0}):a,r)),Me=r=>d(l({},"__esModule",{value:!0}),r);var Se={};Ge(Se,{AccordionCards:()=>B.default,AiuiProvider:()=>H.default,AplusDesc:()=>se.default,BenefitsTab:()=>le.default,BizProductProvider:()=>Q.default,BrandEquity:()=>s.default,Category:()=>h.default,CollectionShelves:()=>K.default,CollectionsBanner:()=>R.default,CollectionsFilters:()=>W.default,CreativeModule:()=>I.default,DownLoad:()=>ie.default,Evaluate:()=>P.default,Faq:()=>A.default,Features:()=>de.default,FilterCardWrap:()=>O.default,FilterCardWrapItem:()=>_.default,FilterHeader:()=>N.default,FilterList:()=>w.default,FootCharger:()=>ce.default,FooterNavigation:()=>k.default,GiftBox:()=>me.default,Graphic:()=>g.default,GraphicAttractionBlock:()=>q.default,GraphicMore:()=>pe.default,GraphicOverlay:()=>j.default,HeaderNavigation:()=>v.default,HeroBanner:()=>y.default,IPC_SEARCH_PAGE:()=>u.IPC_SEARCH_PAGE,Listing:()=>L.default,Marquee:()=>S.default,MarqueeImageContent:()=>o.MarqueeImageContent,MarqueeItem:()=>o.MarqueeItem,MarqueeTextContent:()=>o.MarqueeTextContent,MediaPlayerBase:()=>C.default,MediaPlayerMulti:()=>M.default,MediaPlayerSticky:()=>G.default,MemberEquity:()=>m.default,MultiLayoutGraphicBlock:()=>T.default,Paginator:()=>z.default,PaidShipping:()=>ue.default,ProductActions:()=>V.default,ProductBenefitsTabs:()=>Y.default,ProductBundle:()=>re.default,ProductCard:()=>X.default,ProductDetail:()=>oe.default,ProductFreeGift:()=>$.default,ProductGallery:()=>ae.default,ProductGridBox:()=>te.default,ProductHighlight:()=>Z.default,ProductOptions:()=>ee.default,ProductSummary:()=>fe.default,PurchaseBar:()=>U.default,SearchPage:()=>b.default,SearchPageTabType:()=>u.SearchPageTabType,SelectStore:()=>xe.default,ShelfDisplay:()=>n.default,Slogan:()=>x.default,Spacer:()=>c.default,Specs:()=>ne.default,TabGroup:()=>Pe.default,Tabs:()=>D.default,TextMarquee:()=>J.default,Title:()=>i.default,WhyChoose:()=>F.default,withLayout:()=>E.withLayout});module.exports=Me(Se);var s=e(require("./BrandEquity/index.js")),m=e(require("./MemberEquity/index.js")),x=e(require("./Slogan/index.js")),i=e(require("./Title/index.js")),c=e(require("./Spacer/index.js")),n=e(require("./ShelfDisplay/index.js")),P=e(require("./Evaluate/index.js")),h=e(require("./Category/index.js")),y=e(require("./HeroBanner/index.js")),B=e(require("./AccordionCards/index.js")),g=e(require("./Graphic/index.js")),C=e(require("./MediaPlayerBase/index.js")),G=e(require("./MediaPlayerSticky/index.js")),M=e(require("./MediaPlayerMulti/index.js")),S=e(require("./Marquee/index.js")),F=e(require("./WhyChoose/index.js")),A=e(require("./Faq/index.js")),o=require("./Marquee/index.js"),T=e(require("./MultiLayoutGraphicBlock/index.js")),q=e(require("./GraphicAttractionBlock/index.js")),v=e(require("./HeaderNavigation/index.js")),k=e(require("./FooterNavigation/index.js")),L=e(require("./Listing/index.js")),b=e(require("./SearchPage/index.js")),u=require("./SearchPage/types.js"),E=require("../shared/Styles.js"),H=e(require("./AiuiProvider/index.js")),D=e(require("./Tabs/index.js")),I=e(require("./CreativeModule/index.js")),j=e(require("./GraphicOverlay/index.js")),W=e(require("./CollectionsFilters/index.js")),w=e(require("./CollectionsFilters/FilterList.js")),N=e(require("./CollectionsFilters/FilterHeader.js")),O=e(require("./CollectionsFilters/FilterCardWrap.js")),_=e(require("./CollectionsFilters/FilterCardWrapItem.js")),z=e(require("./Paginator/index.js")),R=e(require("./CollectionsBanner/index.js")),J=e(require("./TextMarquee/index.js")),K=e(require("./CollectionShelves/index.js")),Q=e(require("./Listing/BizProductProvider.js")),U=e(require("./Listing/components/PurchaseBar/index.js")),V=e(require("./Listing/components/PurchaseBar/ProductActions/index.js")),X=e(require("./Listing/components/ProductCard/index.js")),Y=e(require("./Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js")),Z=e(require("./Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js")),$=e(require("./Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js")),ee=e(require("./Listing/components/ProductCard/ProductDetail/ProductOptions/index.js")),re=e(require("./Listing/components/ProductCard/ProductDetail/ProductBundle/index.js")),te=e(require("./Listing/components/ProductCard/ProductGridBox.js")),ae=e(require("./Listing/components/ProductCard/ProductGallery/index.js")),oe=e(require("./Listing/components/ProductCard/ProductDetail/index.js")),fe=e(require("./Listing/components/ProductCard/ProductSummary/index.js")),le=e(require("./Listing/components/ProductCard/ProductDetail/BenefitsTab")),ue=e(require("./Listing/components/PaidShipping/index.js")),pe=e(require("./GraphicMore/index.js")),de=e(require("./Features/index.js")),se=e(require("./AplusDesc/index.js")),me=e(require("./GiftBox/index.js")),xe=e(require("./SelectStore/index.js")),ie=e(require("./DownLoad/index.js")),ce=e(require("./FootCharger/index.js")),ne=e(require("./Specs/index.js")),Pe=e(require("./TabsGroup/index.js"));
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/biz-components/index.ts"],
4
- "sourcesContent": ["export { default as BrandEquity } from './BrandEquity/index.js'\nexport { default as MemberEquity } from './MemberEquity/index.js'\nexport { default as Slogan } from './Slogan/index.js'\nexport { default as Title } from './Title/index.js'\nexport { default as Spacer } from './Spacer/index.js'\nexport { default as ShelfDisplay } from './ShelfDisplay/index.js'\nexport { default as Evaluate } from './Evaluate/index.js'\nexport { default as Category } from './Category/index.js'\nexport { default as HeroBanner } from './HeroBanner/index.js'\nexport { default as AccordionCards } from './AccordionCards/index.js'\nexport { default as Graphic } from './Graphic/index.js'\nexport { default as MediaPlayerBase } from './MediaPlayerBase/index.js'\nexport { default as MediaPlayerSticky } from './MediaPlayerSticky/index.js'\nexport { default as MediaPlayerMulti } from './MediaPlayerMulti/index.js'\nexport { default as Marquee } from './Marquee/index.js'\nexport { default as WhyChoose } from './WhyChoose/index.js'\nexport { default as Faq } from './Faq/index.js'\nexport { MarqueeItem, MarqueeImageContent, MarqueeTextContent } from './Marquee/index.js'\nexport { default as MultiLayoutGraphicBlock } from './MultiLayoutGraphicBlock/index.js'\nexport type { MultiLayoutGraphicBlockProps } from './MultiLayoutGraphicBlock/index.js'\nexport { default as GraphicAttractionBlock } from './GraphicAttractionBlock/index.js'\nexport type { GraphicAttractionBlockProps } from './GraphicAttractionBlock/index.js'\nexport { default as HeaderNavigation } from './HeaderNavigation/index.js'\nexport { default as FooterNavigation } from './FooterNavigation/index.js'\nexport { default as Listing } from './Listing/index.js'\nexport { default as SearchPage } from './SearchPage/index.js'\nexport type { SearchPageProps } from './SearchPage/types.js'\nexport { IPC_SEARCH_PAGE, SearchPageTabType } from './SearchPage/types.js'\n\nexport { withLayout } from '../shared/Styles.js'\nexport { default as AiuiProvider } from './AiuiProvider/index.js'\nexport { default as Tabs } from './Tabs/index.js'\nexport { default as CreativeModule } from './CreativeModule/index.js'\nexport { default as GraphicOverlay } from './GraphicOverlay/index.js'\nexport { default as CollectionsFilters } from './CollectionsFilters/index.js'\nexport { default as FilterList } from './CollectionsFilters/FilterList.js'\nexport { default as FilterHeader } from './CollectionsFilters/FilterHeader.js'\nexport { default as FilterCardWrap } from './CollectionsFilters/FilterCardWrap.js'\nexport { default as FilterCardWrapItem } from './CollectionsFilters/FilterCardWrapItem.js'\nexport { default as Paginator } from './Paginator/index.js'\nexport { default as CollectionsBanner } from './CollectionsBanner/index.js'\nexport { default as TextMarquee } from './TextMarquee/index.js'\nexport { default as CollectionShelves } from './CollectionShelves/index.js'\nexport { default as ProductProvider } from './Listing/ProductProvider.js'\nexport { default as PurchaseBar } from './Listing/components/PurchaseBar/index.js'\nexport { default as ProductActions } from './Listing/components/PurchaseBar/ProductActions/index.js'\nexport { default as ProductCard } from './Listing/components/ProductCard/index.js'\nexport { default as ProductBenefitsTabs } from './Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js'\nexport { default as ProductHighlight } from './Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js'\nexport { default as ProductFreeGift } from './Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js'\nexport { default as ProductOptions } from './Listing/components/ProductCard/ProductDetail/ProductOptions/index.js'\nexport { default as ProductBundle } from './Listing/components/ProductCard/ProductDetail/ProductBundle/index.js'\nexport { default as ProductGridBox } from './Listing/components/ProductCard/ProductGridBox.js'\nexport { default as ProductGallery } from './Listing/components/ProductCard/ProductGallery/index.js'\nexport { default as ProductDetail } from './Listing/components/ProductCard/ProductDetail/index.js'\nexport { default as ProductSummary } from './Listing/components/ProductCard/ProductSummary/index.js'\nexport { default as BenefitsTab } from './Listing/components/ProductCard/ProductDetail/BenefitsTab'\nexport { default as PaidShipping } from './Listing/components/PaidShipping/index.js'\nexport { default as GraphicMore } from './GraphicMore/index.js'\nexport { default as Features } from './Features/index.js'\nexport { default as AplusDesc } from './AplusDesc/index.js'\nexport { default as GiftBox } from './GiftBox/index.js'\nexport { default as SelectStore } from './SelectStore/index.js'\nexport { default as DownLoad } from './DownLoad/index.js'\nexport { default as FootCharger } from './FootCharger/index.js'\nexport { default as Specs } from './Specs/index.js'\nexport { default as TabGroup } from './TabsGroup/index.js'\n"],
5
- "mappings": "skBAAA,IAAAA,GAAA,GAAAC,GAAAD,GAAA,q1DAAAE,GAAAF,IAAA,IAAAG,EAAuC,qCACvCC,EAAwC,sCACxCC,EAAkC,gCAClCC,EAAiC,+BACjCC,EAAkC,gCAClCC,EAAwC,sCACxCC,EAAoC,kCACpCC,EAAoC,kCACpCC,EAAsC,oCACtCC,EAA0C,wCAC1CC,EAAmC,iCACnCC,EAA2C,yCAC3CC,EAA6C,2CAC7CC,EAA4C,0CAC5CC,EAAmC,iCACnCC,EAAqC,mCACrCC,EAA+B,6BAC/BF,EAAqE,8BACrEG,EAAmD,iDAEnDC,EAAkD,gDAElDC,EAA4C,0CAC5CC,EAA4C,0CAC5CC,EAAmC,iCACnCC,EAAsC,oCAEtCC,EAAmD,iCAEnDC,EAA2B,+BAC3BC,EAAwC,sCACxCC,EAAgC,8BAChCC,EAA0C,wCAC1CC,EAA0C,wCAC1CC,EAA8C,4CAC9CC,EAAsC,iDACtCC,EAAwC,mDACxCC,EAA0C,qDAC1CC,EAA8C,yDAC9CC,EAAqC,mCACrCC,EAA6C,2CAC7CC,EAAuC,qCACvCC,EAA6C,2CAC7CC,EAA2C,2CAC3CC,EAAuC,wDACvCC,EAA0C,uEAC1CC,EAAuC,wDACvCC,EAA+C,0FAC/CC,EAA4C,uFAC5CC,EAA2C,sFAC3CC,GAA0C,qFAC1CC,GAAyC,oFACzCC,GAA0C,iEAC1CC,GAA0C,uEAC1CC,GAAyC,sEACzCC,GAA0C,uEAC1CC,GAAuC,yEACvCC,GAAwC,yDACxCC,GAAuC,qCACvCC,GAAoC,kCACpCC,GAAqC,mCACrCC,GAAmC,iCACnCC,GAAuC,qCACvCC,GAAoC,kCACpCC,GAAuC,qCACvCC,GAAiC,+BACjCC,GAAoC",
6
- "names": ["biz_components_exports", "__export", "__toCommonJS", "import_BrandEquity", "import_MemberEquity", "import_Slogan", "import_Title", "import_Spacer", "import_ShelfDisplay", "import_Evaluate", "import_Category", "import_HeroBanner", "import_AccordionCards", "import_Graphic", "import_MediaPlayerBase", "import_MediaPlayerSticky", "import_MediaPlayerMulti", "import_Marquee", "import_WhyChoose", "import_Faq", "import_MultiLayoutGraphicBlock", "import_GraphicAttractionBlock", "import_HeaderNavigation", "import_FooterNavigation", "import_Listing", "import_SearchPage", "import_types", "import_Styles", "import_AiuiProvider", "import_Tabs", "import_CreativeModule", "import_GraphicOverlay", "import_CollectionsFilters", "import_FilterList", "import_FilterHeader", "import_FilterCardWrap", "import_FilterCardWrapItem", "import_Paginator", "import_CollectionsBanner", "import_TextMarquee", "import_CollectionShelves", "import_ProductProvider", "import_PurchaseBar", "import_ProductActions", "import_ProductCard", "import_ProductBenefitsTabs", "import_ProductHighlight", "import_ProductFreeGift", "import_ProductOptions", "import_ProductBundle", "import_ProductGridBox", "import_ProductGallery", "import_ProductDetail", "import_ProductSummary", "import_BenefitsTab", "import_PaidShipping", "import_GraphicMore", "import_Features", "import_AplusDesc", "import_GiftBox", "import_SelectStore", "import_DownLoad", "import_FootCharger", "import_Specs", "import_TabsGroup"]
4
+ "sourcesContent": ["export { default as BrandEquity } from './BrandEquity/index.js'\nexport { default as MemberEquity } from './MemberEquity/index.js'\nexport { default as Slogan } from './Slogan/index.js'\nexport { default as Title } from './Title/index.js'\nexport { default as Spacer } from './Spacer/index.js'\nexport { default as ShelfDisplay } from './ShelfDisplay/index.js'\nexport { default as Evaluate } from './Evaluate/index.js'\nexport { default as Category } from './Category/index.js'\nexport { default as HeroBanner } from './HeroBanner/index.js'\nexport { default as AccordionCards } from './AccordionCards/index.js'\nexport { default as Graphic } from './Graphic/index.js'\nexport { default as MediaPlayerBase } from './MediaPlayerBase/index.js'\nexport { default as MediaPlayerSticky } from './MediaPlayerSticky/index.js'\nexport { default as MediaPlayerMulti } from './MediaPlayerMulti/index.js'\nexport { default as Marquee } from './Marquee/index.js'\nexport { default as WhyChoose } from './WhyChoose/index.js'\nexport { default as Faq } from './Faq/index.js'\nexport { MarqueeItem, MarqueeImageContent, MarqueeTextContent } from './Marquee/index.js'\nexport { default as MultiLayoutGraphicBlock } from './MultiLayoutGraphicBlock/index.js'\nexport type { MultiLayoutGraphicBlockProps } from './MultiLayoutGraphicBlock/index.js'\nexport { default as GraphicAttractionBlock } from './GraphicAttractionBlock/index.js'\nexport type { GraphicAttractionBlockProps } from './GraphicAttractionBlock/index.js'\nexport { default as HeaderNavigation } from './HeaderNavigation/index.js'\nexport { default as FooterNavigation } from './FooterNavigation/index.js'\nexport { default as Listing } from './Listing/index.js'\nexport { default as SearchPage } from './SearchPage/index.js'\nexport type { SearchPageProps } from './SearchPage/types.js'\nexport { IPC_SEARCH_PAGE, SearchPageTabType } from './SearchPage/types.js'\n\nexport { withLayout } from '../shared/Styles.js'\nexport { default as AiuiProvider } from './AiuiProvider/index.js'\nexport { default as Tabs } from './Tabs/index.js'\nexport { default as CreativeModule } from './CreativeModule/index.js'\nexport { default as GraphicOverlay } from './GraphicOverlay/index.js'\nexport { default as CollectionsFilters } from './CollectionsFilters/index.js'\nexport { default as FilterList } from './CollectionsFilters/FilterList.js'\nexport { default as FilterHeader } from './CollectionsFilters/FilterHeader.js'\nexport { default as FilterCardWrap } from './CollectionsFilters/FilterCardWrap.js'\nexport { default as FilterCardWrapItem } from './CollectionsFilters/FilterCardWrapItem.js'\nexport { default as Paginator } from './Paginator/index.js'\nexport { default as CollectionsBanner } from './CollectionsBanner/index.js'\nexport { default as TextMarquee } from './TextMarquee/index.js'\nexport { default as CollectionShelves } from './CollectionShelves/index.js'\nexport { default as BizProductProvider } from './Listing/BizProductProvider.js'\nexport { default as PurchaseBar } from './Listing/components/PurchaseBar/index.js'\nexport { default as ProductActions } from './Listing/components/PurchaseBar/ProductActions/index.js'\nexport { default as ProductCard } from './Listing/components/ProductCard/index.js'\nexport { default as ProductBenefitsTabs } from './Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js'\nexport { default as ProductHighlight } from './Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js'\nexport { default as ProductFreeGift } from './Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js'\nexport { default as ProductOptions } from './Listing/components/ProductCard/ProductDetail/ProductOptions/index.js'\nexport { default as ProductBundle } from './Listing/components/ProductCard/ProductDetail/ProductBundle/index.js'\nexport { default as ProductGridBox } from './Listing/components/ProductCard/ProductGridBox.js'\nexport { default as ProductGallery } from './Listing/components/ProductCard/ProductGallery/index.js'\nexport { default as ProductDetail } from './Listing/components/ProductCard/ProductDetail/index.js'\nexport { default as ProductSummary } from './Listing/components/ProductCard/ProductSummary/index.js'\nexport { default as BenefitsTab } from './Listing/components/ProductCard/ProductDetail/BenefitsTab'\nexport { default as PaidShipping } from './Listing/components/PaidShipping/index.js'\nexport { default as GraphicMore } from './GraphicMore/index.js'\nexport { default as Features } from './Features/index.js'\nexport { default as AplusDesc } from './AplusDesc/index.js'\nexport { default as GiftBox } from './GiftBox/index.js'\nexport { default as SelectStore } from './SelectStore/index.js'\nexport { default as DownLoad } from './DownLoad/index.js'\nexport { default as FootCharger } from './FootCharger/index.js'\nexport { default as Specs } from './Specs/index.js'\nexport { default as TabGroup } from './TabsGroup/index.js'\n"],
5
+ "mappings": "skBAAA,IAAAA,GAAA,GAAAC,GAAAD,GAAA,w1DAAAE,GAAAF,IAAA,IAAAG,EAAuC,qCACvCC,EAAwC,sCACxCC,EAAkC,gCAClCC,EAAiC,+BACjCC,EAAkC,gCAClCC,EAAwC,sCACxCC,EAAoC,kCACpCC,EAAoC,kCACpCC,EAAsC,oCACtCC,EAA0C,wCAC1CC,EAAmC,iCACnCC,EAA2C,yCAC3CC,EAA6C,2CAC7CC,EAA4C,0CAC5CC,EAAmC,iCACnCC,EAAqC,mCACrCC,EAA+B,6BAC/BF,EAAqE,8BACrEG,EAAmD,iDAEnDC,EAAkD,gDAElDC,EAA4C,0CAC5CC,EAA4C,0CAC5CC,EAAmC,iCACnCC,EAAsC,oCAEtCC,EAAmD,iCAEnDC,EAA2B,+BAC3BC,EAAwC,sCACxCC,EAAgC,8BAChCC,EAA0C,wCAC1CC,EAA0C,wCAC1CC,EAA8C,4CAC9CC,EAAsC,iDACtCC,EAAwC,mDACxCC,EAA0C,qDAC1CC,EAA8C,yDAC9CC,EAAqC,mCACrCC,EAA6C,2CAC7CC,EAAuC,qCACvCC,EAA6C,2CAC7CC,EAA8C,8CAC9CC,EAAuC,wDACvCC,EAA0C,uEAC1CC,EAAuC,wDACvCC,EAA+C,0FAC/CC,EAA4C,uFAC5CC,EAA2C,sFAC3CC,GAA0C,qFAC1CC,GAAyC,oFACzCC,GAA0C,iEAC1CC,GAA0C,uEAC1CC,GAAyC,sEACzCC,GAA0C,uEAC1CC,GAAuC,yEACvCC,GAAwC,yDACxCC,GAAuC,qCACvCC,GAAoC,kCACpCC,GAAqC,mCACrCC,GAAmC,iCACnCC,GAAuC,qCACvCC,GAAoC,kCACpCC,GAAuC,qCACvCC,GAAiC,+BACjCC,GAAoC",
6
+ "names": ["biz_components_exports", "__export", "__toCommonJS", "import_BrandEquity", "import_MemberEquity", "import_Slogan", "import_Title", "import_Spacer", "import_ShelfDisplay", "import_Evaluate", "import_Category", "import_HeroBanner", "import_AccordionCards", "import_Graphic", "import_MediaPlayerBase", "import_MediaPlayerSticky", "import_MediaPlayerMulti", "import_Marquee", "import_WhyChoose", "import_Faq", "import_MultiLayoutGraphicBlock", "import_GraphicAttractionBlock", "import_HeaderNavigation", "import_FooterNavigation", "import_Listing", "import_SearchPage", "import_types", "import_Styles", "import_AiuiProvider", "import_Tabs", "import_CreativeModule", "import_GraphicOverlay", "import_CollectionsFilters", "import_FilterList", "import_FilterHeader", "import_FilterCardWrap", "import_FilterCardWrapItem", "import_Paginator", "import_CollectionsBanner", "import_TextMarquee", "import_CollectionShelves", "import_BizProductProvider", "import_PurchaseBar", "import_ProductActions", "import_ProductCard", "import_ProductBenefitsTabs", "import_ProductHighlight", "import_ProductFreeGift", "import_ProductOptions", "import_ProductBundle", "import_ProductGridBox", "import_ProductGallery", "import_ProductDetail", "import_ProductSummary", "import_BenefitsTab", "import_PaidShipping", "import_GraphicMore", "import_Features", "import_AplusDesc", "import_GiftBox", "import_SelectStore", "import_DownLoad", "import_FootCharger", "import_Specs", "import_TabsGroup"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{Fragment as O,jsx as e,jsxs as l}from"react/jsx-runtime";import{useEffect as b,useMemo as M,useState as k}from"react";import{Picture as m,Text as n,Container as C,Link as c}from"../../components/index.js";import F from"../Subscribe/index.js";import{FooterNavigationBlockType as u}from"./types.js";import{AddIcon as N,SubtractIcon as g,ArrowRightIcon as D,CountryIcon as A}from"./icons/index.js";import{useMediaQuery as y}from"react-responsive";import{cn as f}from"../../helpers/utils.js";import{withLayout as L}from"../../shared/Styles.js";const E=({data:{footerNavigation:s}={},currentCountry:d,event:t})=>{const[o,r]=k(!1),x=y({query:"(max-width: 1440px)"});b(()=>{r(x)},[x]);const p=M(()=>s?.footerBlocks?.find(a=>a?.blockType===u.Brand)?.country||{},[s]);return l(C,{childClassName:"bg-black py-8 laptop:py-16 flex flex-col desktop:gap-16 gap-8",children:[e(n,{html:s?.story,className:"desktop:text-sm text-xs font-bold text-[#6D6D6F]"}),s?.footerBlocks?.map(a=>{if(a?.blockType===u.Signup)return e(S,{data:a,onSubmit:t?.signup});if(a?.blockType===u.Brand)return e(z,{data:a,isMobile:o,event:t,currentCountry:d});if(a?.blockType===u.Main)return e(T,{data:{...a,country:p},event:t,isMobile:o,currentCountry:d})})]})},S=({data:s,onSubmit:d})=>l("div",{className:"desktop:py-16 desktop:gap-16 laptop:rounded-2xl laptop:px-8 desktop:flex-row flex flex-col gap-8 rounded-btn bg-[#1D1D1F] px-4 py-8",children:[e(F,{subscribeMetadata:s?.signup,className:"desktop:flex-[744]",onSubmit:d}),e("div",{className:"desktop:hidden h-px w-full bg-[#3D3E3F]"}),l("div",{className:"desktop:gap-6 laptop:flex-row desktop:flex-[792] flex flex-col gap-4",children:[l("div",{className:"flex-1",children:[e(n,{html:s?.enjoy?.title,className:" text-xl font-bold leading-[1.2] text-white"}),e("div",{className:"mt-4 flex flex-col gap-2",children:s?.enjoy?.enjoys?.map(t=>l("div",{className:"flex-start flex gap-2",children:[e(m,{source:t?.icon?.url,alt:t?.icon?.alt,className:"size-5 shrink-0"}),e(n,{html:t?.label,className:"desktop:text-base text-sm font-bold leading-[1.2] text-[#B6B6BA] hover:text-white"})]},t?.id))})]}),e("div",{className:"w-px bg-[#3D3E3F] hidden desktop:block"}),l("div",{className:"flex-1",children:[e(n,{html:s?.benefit?.title,className:"text-xl font-bold leading-[1.2] text-white"}),e("div",{className:"mt-4 flex flex-col gap-2",children:s?.benefit?.benefits?.map(t=>e(c,{href:t?.link,asChild:!t?.link,className:"no-underline",children:e(n,{html:t?.label,className:"desktop:text-base text-sm font-bold leading-[1.2] text-[#B6B6BA] hover:text-white"})},t?.id))})]})]})]}),T=({data:s,event:d,isMobile:t,currentCountry:o})=>{const[r,x]=k(!1),{services:p,mainNav:a,country:h}=s;return l("div",{className:"flex flex-col gap-8",children:[l("div",{className:f({"desktop:gap-16 flex":p?.download?.title}),children:[l("div",{className:f("w-full",{"desktop:flex-[1260]":p?.download?.title}),children:[e(n,{html:p?.storeBenefits?.title,className:" text-xl font-bold leading-[1.2] text-white"}),e("div",{className:f("laptop:flex-row desktop:gap-4 laptop:flex-wrap mt-4 flex flex-col gap-2",{"desktop:max-w-[648px]":p?.download?.title}),children:p?.storeBenefits?.reasons?.map(i=>l("div",{className:"desktop:min-w-[288px] flex flex-1 shrink-0 items-center gap-2",children:[e(m,{source:i?.icon?.url,alt:i?.icon?.alt,className:"size-5 shrink-0"}),e(c,{href:i?.link,asChild:!i?.link,className:"no-underline",children:e(n,{html:i?.label,className:"text-sm desktop:text-base font-bold leading-[1.2] text-[#B6B6BA]"})})]},i?.id))})]}),e(w,{className:f({"desktop:flex-[404] hidden desktop:block":p?.download?.title}),title:p?.download?.title,apps:p?.download?.apps})]}),e("div",{className:"desktop:block hidden h-px bg-[#3D3E3F]"}),l("div",{className:"desktop:grid grid-cols-4 gap-4",children:[e(v,{title:a?.products?.title,lists:a?.products?.products}),e(v,{title:a?.explore?.title,lists:a?.explore?.explores}),e(v,{title:a?.support?.title,lists:a?.support?.supports}),l("div",{className:"desktop:py-0 desktop:border-none border-t border-[#3D3E3F] pt-4",children:[l("div",{className:"desktop:pb-0 flex items-center justify-between pb-4",children:[e(n,{as:"p",html:a?.contact?.title,className:"text-xl font-bold leading-[1.2] text-white"}),t&&e("button",{onClick:()=>x(!r),children:r?e(g,{width:20,height:20}):e(N,{width:20,height:20})})]}),(r&&t||!t)&&e("div",{className:"desktop:mt-4 desktop:mb-0 mb-4 flex flex-col gap-2",children:a?.contact?.contacts?.map(i=>l("div",{className:"flex items-start gap-2",children:[e(m,{source:i?.icon?.url,alt:i?.icon?.alt,className:"size-5 shrink-0"}),e(c,{href:i?.link,className:"no-underline",children:e(n,{html:i?.label,className:"desktop:text-base text-sm font-bold leading-[1.2] text-[#B6B6BA] hover:text-white"})})]},i?.id))}),e(B,{country:o||h,className:"desktop:hidden border-b border-[#3D3E3F]",isMobile:t,onChangeCountry:d?.country}),e("div",{className:"desktop:hidden mt-8",children:e(w,{title:p?.download?.title,apps:p?.download?.apps})}),!!a?.socials?.length&&e("div",{className:"mt-8 flex items-center gap-2",children:a?.socials?.map(i=>e(c,{href:i?.link,children:e(m,{source:i?.icon?.url,alt:i?.icon?.alt,className:"size-8 shrink-0"})},i?.id))}),e("div",{className:"mt-4 flex flex-wrap gap-2",children:a?.payment?.map(i=>e(c,{href:i?.link,children:e(m,{source:i?.icon?.url,alt:i?.icon?.alt,className:"h-[28px] w-[44px] shrink-0"})},i?.id))})]})]})]})},z=({data:s,isMobile:d,event:t,currentCountry:o})=>l("div",{className:"flex flex-col gap-4",children:[l("div",{className:"desktop:items-center desktop:flex desktop:gap-4",children:[l("div",{className:"laptop:flex-row laptop:items-end desktop:flex-[980] flex flex-col items-start gap-4",children:[e(n,{html:s?.brand?.currentBrand,className:"text-[#B6B6BA]"}),e("div",{className:"laptop:block hidden h-[20px] w-px bg-[#B6B6BA] laptop:mb-[10px]"}),e("div",{className:"desktop:gap-6 flex flex-wrap items-center gap-4 laptop:mb-[10px]",children:s?.brand?.brands?.map(r=>e(c,{href:r?.link,children:e(n,{html:r?.icon,className:"text-[#B6B6BA] hover:text-white"})},r?.id))})]}),e(B,{country:o||s?.country,className:"desktop:flex-[316] desktop:block hidden mt-5",isMobile:d,onChangeCountry:t?.country})]}),e("div",{className:"h-px bg-[#3D3E3F]"}),l("div",{className:"laptop:flex-row desktop:gap-4 desktop:items-center flex flex-col items-start gap-1",children:[e(n,{html:s?.copyright?.label,className:"desktop:text-base text-xs font-bold leading-[1.4] text-[#6D6D6F]"}),e("div",{className:"flex flex-wrap items-center gap-x-2 gap-y-1",children:s?.policy?.policies?.map(r=>e(c,{href:r?.link,className:"desktop:text-base text-xs font-bold leading-[1.4] text-[#B6B6BA] no-underline",children:r?.label},r?.id))})]})]}),v=({title:s,lists:d,className:t})=>{const[o,r]=k(!1),[x,p]=k(!1),a=y({query:"(max-width: 1440px)"});return b(()=>{p(a)},[a]),l("div",{className:f("desktop:py-0 desktop:border-none border-t border-[#3D3E3F] py-4",t),children:[l("div",{className:"flex items-center justify-between",onClick:()=>r(!o),children:[e(n,{as:"p",html:s,className:"text-xl font-bold leading-[1.2] text-white"}),x&&e(O,{children:o?e(g,{width:20,height:20}):e(N,{width:20,height:20})})]}),(o&&x||!x)&&e("div",{className:"mt-4 flex flex-col gap-2",children:d?.map(h=>e(c,{href:h?.link,className:"no-underline",children:e(n,{html:h?.label,className:"desktop:text-base text-sm font-bold leading-[1.2] text-[#B6B6BA] hover:text-white"})},h?.id))})]})},w=({title:s,apps:d,className:t})=>d?.length?l("div",{className:t,children:[e(n,{html:s,className:" text-xl font-bold leading-[1.2] text-white"}),e("div",{className:"mt-4 flex items-center gap-4",children:d?.map(o=>l("div",{className:"flex flex-col items-center gap-[6px]",children:[e(c,{href:o?.link,children:e(m,{source:o?.icon?.url,alt:o?.icon?.alt,className:"size-10 shrink-0"})}),o?.label&&e(n,{html:o?.label,className:"text-xs font-bold text-[#999999]"})]},o?.id))})]}):null,B=({country:s,isMobile:d,className:t,onChangeCountry:o})=>e("div",{className:f("desktop:py-0 desktop:border-none border-t border-[#3D3E3F] py-4",t),onClick:()=>o?.(),children:l("div",{className:"flex items-center justify-between",children:[l("div",{className:"flex cursor-pointer items-center gap-2",children:[e(A,{width:20,height:20,className:"shrink-0"}),e(n,{as:"p",html:s?.countryName||s?.country,className:"desktop:text-[#B6B6BA] text-base font-bold leading-[1.4] text-white hover:text-white"})]}),d&&e("button",{children:e(D,{width:20,height:20})})]})});var K=L(E);export{K as default};
1
+ import{Fragment as O,jsx as e,jsxs as l}from"react/jsx-runtime";import{useEffect as b,useMemo as M,useState as k}from"react";import{Picture as m,Text as n,Container as C,Link as c}from"../../components/index.js";import F from"../Subscribe/index.js";import{FooterNavigationBlockType as u}from"./types.js";import{AddIcon as N,SubtractIcon as g,ArrowRightIcon as D,CountryIcon as A}from"./icons/index.js";import{useMediaQuery as y}from"react-responsive";import{cn as f}from"../../helpers/utils.js";import{withLayout as L}from"../../shared/Styles.js";const E=({data:{footerNavigation:s}={},currentCountry:d,event:t})=>{const[o,r]=k(!1),x=y({query:"(max-width: 1440px)"});b(()=>{r(x)},[x]);const p=M(()=>s?.footerBlocks?.find(a=>a?.blockType===u.Brand)?.country||{},[s]);return l(C,{childClassName:"bg-black py-8 laptop:py-16 flex flex-col desktop:gap-16 gap-8",children:[e(n,{html:s?.story,className:"desktop:text-sm text-xs font-bold text-[#6D6D6F]"}),s?.footerBlocks?.map(a=>{if(a?.blockType===u.Signup)return e(S,{data:a,onSubmit:t?.signup});if(a?.blockType===u.Brand)return e(z,{data:a,isMobile:o,event:t,currentCountry:d});if(a?.blockType===u.Main)return e(T,{data:{...a,country:p},event:t,isMobile:o,currentCountry:d})})]})},S=({data:s,onSubmit:d})=>l("div",{className:"desktop:py-16 desktop:gap-16 laptop:rounded-2xl laptop:px-8 desktop:flex-row flex flex-col gap-8 rounded-btn bg-[#1D1D1F] px-4 py-8",children:[e(F,{subscribeMetadata:s?.signup,className:"desktop:flex-[744]",onSubmit:d}),e("div",{className:"desktop:hidden h-px w-full bg-[#3D3E3F]"}),l("div",{className:"desktop:gap-6 laptop:flex-row desktop:flex-[792] flex flex-col gap-4",children:[l("div",{className:"flex-1",children:[e(n,{html:s?.enjoy?.title,className:" text-xl font-bold leading-[1.2] text-white"}),e("div",{className:"mt-4 flex flex-col gap-2",children:s?.enjoy?.enjoys?.map(t=>l("div",{className:"flex-start flex gap-2",children:[e(m,{source:t?.icon?.url,alt:t?.icon?.alt,className:"size-5 shrink-0"}),e(n,{html:t?.label,className:"desktop:text-base text-sm font-bold leading-[1.2] text-[#B6B6BA] hover:text-white"})]},t?.id))})]}),e("div",{className:"w-px bg-[#3D3E3F] hidden desktop:block"}),l("div",{className:"flex-1",children:[e(n,{html:s?.benefit?.title,className:"text-xl font-bold leading-[1.2] text-white"}),e("div",{className:"mt-4 flex flex-col gap-2",children:s?.benefit?.benefits?.map(t=>e(c,{href:t?.link,asChild:!t?.link,className:"no-underline",children:e(n,{html:t?.label,className:"desktop:text-base text-sm font-bold leading-[1.2] text-[#B6B6BA] hover:text-white"})},t?.id))})]})]})]}),T=({data:s,event:d,isMobile:t,currentCountry:o})=>{const[r,x]=k(!1),{services:p,mainNav:a,country:h}=s;return l("div",{className:"flex flex-col gap-8",children:[l("div",{className:f({"desktop:gap-16 flex":p?.download?.title}),children:[l("div",{className:f("w-full",{"desktop:flex-[1260]":p?.download?.title}),children:[e(n,{html:p?.storeBenefits?.title,className:" text-xl font-bold leading-[1.2] text-white"}),e("div",{className:f("laptop:flex-row desktop:gap-4 laptop:flex-wrap mt-4 flex flex-col gap-2",{"desktop:max-w-[648px]":p?.download?.title}),children:p?.storeBenefits?.reasons?.map(i=>l("div",{className:"desktop:min-w-[288px] flex flex-1 shrink-0 items-center gap-2",children:[e(m,{source:i?.icon?.url,alt:i?.icon?.alt,className:"size-5 shrink-0"}),e(c,{href:i?.link,asChild:!i?.link,className:"no-underline",children:e(n,{html:i?.label,className:"text-sm desktop:text-base font-bold leading-[1.2] text-[#B6B6BA]"})})]},i?.id))})]}),e(w,{className:f({"desktop:flex-[404] hidden desktop:block":p?.download?.title}),title:p?.download?.title,apps:p?.download?.apps})]}),e("div",{className:"desktop:block hidden h-px bg-[#3D3E3F]"}),l("div",{className:"desktop:grid grid-cols-4 gap-4",children:[e(v,{title:a?.products?.title,lists:a?.products?.products}),e(v,{title:a?.explore?.title,lists:a?.explore?.explores}),e(v,{title:a?.support?.title,lists:a?.support?.supports}),l("div",{className:"desktop:py-0 desktop:border-none border-t border-[#3D3E3F] pt-4",children:[l("div",{className:"desktop:pb-0 flex items-center justify-between pb-4",children:[e(n,{as:"p",html:a?.contact?.title,className:"text-xl font-bold leading-[1.2] text-white"}),t&&e("button",{onClick:()=>x(!r),children:r?e(g,{width:20,height:20}):e(N,{width:20,height:20})})]}),(r&&t||!t)&&e("div",{className:"desktop:mt-4 desktop:mb-0 mb-4 flex flex-col gap-2",children:a?.contact?.contacts?.map(i=>l("div",{className:"flex items-start gap-2",children:[e(m,{source:i?.icon?.url,alt:i?.icon?.alt,className:"size-5 shrink-0"}),e(c,{href:i?.link,className:"no-underline",children:e(n,{html:i?.label,className:"desktop:text-base text-sm font-bold leading-[1.2] text-[#B6B6BA] hover:text-white"})})]},i?.id))}),e(B,{country:o||h,className:"desktop:hidden border-b border-[#3D3E3F]",isMobile:t,onChangeCountry:d?.country}),e("div",{className:"desktop:hidden mt-8",children:e(w,{title:p?.download?.title,apps:p?.download?.apps})}),!!a?.socials?.length&&e("div",{className:"mt-8 flex items-center gap-2",children:a?.socials?.map(i=>e(c,{href:i?.link,children:e(m,{source:i?.icon?.url,alt:i?.icon?.alt,className:"size-8 shrink-0"})},i?.id))}),e("div",{className:"mt-4 flex flex-wrap gap-2",children:a?.payment?.map(i=>e(c,{href:i?.link,children:e(m,{source:i?.icon?.url,alt:i?.icon?.alt,className:"h-[28px] w-[44px] shrink-0"})},i?.id))})]})]})]})},z=({data:s,isMobile:d,event:t,currentCountry:o})=>l("div",{className:"flex flex-col gap-4",children:[l("div",{className:"desktop:items-center desktop:flex desktop:gap-4",children:[l("div",{className:"laptop:flex-row laptop:items-center desktop:flex-[980] flex flex-col items-start gap-4",children:[e(n,{html:s?.brand?.currentBrand,className:"text-[#B6B6BA]"}),e("div",{className:"laptop:block hidden h-[20px] w-px bg-[#B6B6BA] laptop:mb-[10px]"}),e("div",{className:"desktop:gap-6 flex flex-wrap items-center gap-4",children:s?.brand?.brands?.map(r=>e(c,{href:r?.link,children:e(n,{html:r?.icon,className:"text-[#B6B6BA] hover:text-white"})},r?.id))})]}),e(B,{country:o||s?.country,className:"desktop:flex-[316] desktop:block hidden",isMobile:d,onChangeCountry:t?.country})]}),e("div",{className:"h-px bg-[#3D3E3F]"}),l("div",{className:"laptop:flex-row desktop:gap-4 desktop:items-center flex flex-col items-start gap-1",children:[e(n,{html:s?.copyright?.label,className:"desktop:text-base text-xs font-bold leading-[1.4] text-[#6D6D6F]"}),e("div",{className:"flex flex-wrap items-center gap-x-2 gap-y-1",children:s?.policy?.policies?.map(r=>e(c,{href:r?.link,className:"desktop:text-base text-xs font-bold leading-[1.4] text-[#B6B6BA] no-underline",children:r?.label},r?.id))})]})]}),v=({title:s,lists:d,className:t})=>{const[o,r]=k(!1),[x,p]=k(!1),a=y({query:"(max-width: 1440px)"});return b(()=>{p(a)},[a]),l("div",{className:f("desktop:py-0 desktop:border-none border-t border-[#3D3E3F] py-4",t),children:[l("div",{className:"flex items-center justify-between",onClick:()=>r(!o),children:[e(n,{as:"p",html:s,className:"text-xl font-bold leading-[1.2] text-white"}),x&&e(O,{children:o?e(g,{width:20,height:20}):e(N,{width:20,height:20})})]}),(o&&x||!x)&&e("div",{className:"mt-4 flex flex-col gap-2",children:d?.map(h=>e(c,{href:h?.link,className:"no-underline",children:e(n,{html:h?.label,className:"desktop:text-base text-sm font-bold leading-[1.2] text-[#B6B6BA] hover:text-white"})},h?.id))})]})},w=({title:s,apps:d,className:t})=>d?.length?l("div",{className:t,children:[e(n,{html:s,className:" text-xl font-bold leading-[1.2] text-white"}),e("div",{className:"mt-4 flex items-center gap-4",children:d?.map(o=>l("div",{className:"flex flex-col items-center gap-[6px]",children:[e(c,{href:o?.link,children:e(m,{source:o?.icon?.url,alt:o?.icon?.alt,className:"size-10 shrink-0"})}),o?.label&&e(n,{html:o?.label,className:"text-xs font-bold text-[#999999]"})]},o?.id))})]}):null,B=({country:s,isMobile:d,className:t,onChangeCountry:o})=>e("div",{className:f("desktop:py-0 desktop:border-none border-t border-[#3D3E3F] py-4",t),onClick:()=>o?.(),children:l("div",{className:"flex items-center justify-between",children:[l("div",{className:"flex cursor-pointer items-center gap-2",children:[e(A,{width:20,height:20,className:"shrink-0"}),e(n,{as:"p",html:s?.countryName||s?.country,className:"desktop:text-[#B6B6BA] text-base font-bold leading-[1.4] text-white hover:text-white"})]}),d&&e("button",{children:e(D,{width:20,height:20})})]})});var K=L(E);export{K as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/FooterNavigation/index.tsx"],
4
- "sourcesContent": ["import { useEffect, useMemo, useState } from 'react'\nimport { Picture, Text, Container, Link } from '../../components/index.js'\nimport Subscribe from '../Subscribe/index.js'\nimport type { FooterNavigationProps } from './types.js'\nimport { FooterNavigationBlockType } from './types.js'\nimport { AddIcon, SubtractIcon, ArrowRightIcon, CountryIcon } from './icons/index.js'\nimport { useMediaQuery } from 'react-responsive'\nimport { cn } from '../../helpers/utils.js'\nimport { withLayout } from '../../shared/Styles.js'\n\nconst FooterNavigation = ({ data: { footerNavigation } = {}, currentCountry, event }: FooterNavigationProps) => {\n const [isMobile, setIsMobile] = useState(false)\n\n const mediaQuery = useMediaQuery({ query: '(max-width: 1440px)' })\n\n useEffect(() => {\n setIsMobile(mediaQuery)\n }, [mediaQuery])\n\n const country = useMemo(() => {\n return (\n footerNavigation?.footerBlocks?.find((block: any) => block?.blockType === FooterNavigationBlockType.Brand)\n ?.country || {}\n )\n }, [footerNavigation])\n\n return (\n <Container childClassName=\"bg-black py-8 laptop:py-16 flex flex-col desktop:gap-16 gap-8\">\n <Text html={footerNavigation?.story} className=\"desktop:text-sm text-xs font-bold text-[#6D6D6F]\" />\n {footerNavigation?.footerBlocks?.map((block: any) => {\n if (block?.blockType === FooterNavigationBlockType.Signup) {\n return <MarketingConversion data={block} onSubmit={event?.signup} />\n }\n if (block?.blockType === FooterNavigationBlockType.Brand) {\n return <FooterBrand data={block} isMobile={isMobile} event={event} currentCountry={currentCountry} />\n }\n if (block?.blockType === FooterNavigationBlockType.Main) {\n return (\n <MainServices\n data={{ ...block, country }}\n event={event}\n isMobile={isMobile}\n currentCountry={currentCountry}\n />\n )\n }\n })}\n </Container>\n )\n}\n\n/**\n * MarketingConversion \u8425\u9500\u8F6C\u5316\u6A21\u5757\n * @param data\n * @param onSubmit signup\u63D0\u4EA4\u4E8B\u4EF6\n * @returns\n */\nconst MarketingConversion = ({ data, onSubmit }: { data: any; onSubmit?: (params: any) => void }) => {\n return (\n <div className=\"desktop:py-16 desktop:gap-16 laptop:rounded-2xl laptop:px-8 desktop:flex-row flex flex-col gap-8 rounded-btn bg-[#1D1D1F] px-4 py-8\">\n <Subscribe subscribeMetadata={data?.signup} className=\"desktop:flex-[744]\" onSubmit={onSubmit} />\n <div className=\"desktop:hidden h-px w-full bg-[#3D3E3F]\" />\n <div className=\"desktop:gap-6 laptop:flex-row desktop:flex-[792] flex flex-col gap-4\">\n <div className=\"flex-1\">\n <Text html={data?.enjoy?.title} className=\" text-xl font-bold leading-[1.2] text-white\" />\n <div className=\"mt-4 flex flex-col gap-2\">\n {data?.enjoy?.enjoys?.map((enjoyItem: any) => (\n <div key={enjoyItem?.id} className=\"flex-start flex gap-2\">\n <Picture source={enjoyItem?.icon?.url} alt={enjoyItem?.icon?.alt} className=\"size-5 shrink-0\" />\n <Text\n html={enjoyItem?.label}\n className=\"desktop:text-base text-sm font-bold leading-[1.2] text-[#B6B6BA] hover:text-white\"\n />\n </div>\n ))}\n </div>\n </div>\n <div className=\"w-px bg-[#3D3E3F] hidden desktop:block\" />\n <div className=\"flex-1\">\n <Text html={data?.benefit?.title} className=\"text-xl font-bold leading-[1.2] text-white\" />\n <div className=\"mt-4 flex flex-col gap-2\">\n {data?.benefit?.benefits?.map((benefitItem: any) => (\n <Link\n href={benefitItem?.link}\n asChild={!benefitItem?.link}\n key={benefitItem?.id}\n className=\"no-underline\"\n >\n <Text\n html={benefitItem?.label}\n className=\"desktop:text-base text-sm font-bold leading-[1.2] text-[#B6B6BA] hover:text-white\"\n />\n </Link>\n ))}\n </div>\n </div>\n </div>\n </div>\n )\n}\n\n/**\n * MainServices \u4E3B\u5BFC\u822A\u4E0E\u670D\u52A1\u6A21\u5757\n * @param services \u670D\u52A1\n * @param mainNav \u4E3B\u5BFC\u822A\n * @param event \u4E8B\u4EF6\n * @param isMobile \u662F\u5426\u662F\u79FB\u52A8\u7AEF\n * @param currentCountry \u5F53\u524D\u56FD\u5BB6\n * @returns\n */\nconst MainServices = ({\n data,\n event,\n isMobile,\n currentCountry,\n}: {\n data: any\n event: any\n isMobile: boolean\n currentCountry: any\n}) => {\n const [mainNavMenuOpen, setMainNavMenuOpen] = useState<boolean>(false)\n const { services, mainNav, country } = data\n return (\n <div className=\"flex flex-col gap-8\">\n <div\n className={cn({\n 'desktop:gap-16 flex': services?.download?.title,\n })}\n >\n <div\n className={cn('w-full', {\n 'desktop:flex-[1260]': services?.download?.title,\n })}\n >\n <Text html={services?.storeBenefits?.title} className=\" text-xl font-bold leading-[1.2] text-white\" />\n <div\n className={cn('laptop:flex-row desktop:gap-4 laptop:flex-wrap mt-4 flex flex-col gap-2', {\n 'desktop:max-w-[648px]': services?.download?.title,\n })}\n >\n {services?.storeBenefits?.reasons?.map((reasonItem: any) => (\n <div key={reasonItem?.id} className=\"desktop:min-w-[288px] flex flex-1 shrink-0 items-center gap-2\">\n <Picture source={reasonItem?.icon?.url} alt={reasonItem?.icon?.alt} className=\"size-5 shrink-0\" />\n <Link href={reasonItem?.link} asChild={!reasonItem?.link} className=\"no-underline\">\n <Text\n html={reasonItem?.label}\n className=\"text-sm desktop:text-base font-bold leading-[1.2] text-[#B6B6BA]\"\n />\n </Link>\n </div>\n ))}\n </div>\n </div>\n <DownloadApp\n className={cn({\n 'desktop:flex-[404] hidden desktop:block': services?.download?.title,\n })}\n title={services?.download?.title}\n apps={services?.download?.apps}\n />\n </div>\n <div className=\"desktop:block hidden h-px bg-[#3D3E3F]\" />\n <div className=\"desktop:grid grid-cols-4 gap-4\">\n <MainNavMenu title={mainNav?.products?.title} lists={mainNav?.products?.products} />\n <MainNavMenu title={mainNav?.explore?.title} lists={mainNav?.explore?.explores} />\n <MainNavMenu title={mainNav?.support?.title} lists={mainNav?.support?.supports} />\n <div className=\"desktop:py-0 desktop:border-none border-t border-[#3D3E3F] pt-4\">\n <div className=\"desktop:pb-0 flex items-center justify-between pb-4\">\n <Text as=\"p\" html={mainNav?.contact?.title} className=\"text-xl font-bold leading-[1.2] text-white\" />\n {isMobile && (\n <button onClick={() => setMainNavMenuOpen(!mainNavMenuOpen)}>\n {mainNavMenuOpen ? <SubtractIcon width={20} height={20} /> : <AddIcon width={20} height={20} />}\n </button>\n )}\n </div>\n {((mainNavMenuOpen && isMobile) || !isMobile) && (\n <div className=\"desktop:mt-4 desktop:mb-0 mb-4 flex flex-col gap-2\">\n {mainNav?.contact?.contacts?.map((contactItem: any) => (\n <div key={contactItem?.id} className=\"flex items-start gap-2\">\n <Picture source={contactItem?.icon?.url} alt={contactItem?.icon?.alt} className=\"size-5 shrink-0\" />\n <Link href={contactItem?.link} className=\"no-underline\">\n <Text\n html={contactItem?.label}\n className=\"desktop:text-base text-sm font-bold leading-[1.2] text-[#B6B6BA] hover:text-white\"\n />\n </Link>\n </div>\n ))}\n </div>\n )}\n <ChangeCountry\n country={currentCountry || country}\n className=\"desktop:hidden border-b border-[#3D3E3F]\"\n isMobile={isMobile}\n onChangeCountry={event?.country}\n />\n <div className=\"desktop:hidden mt-8\">\n <DownloadApp title={services?.download?.title} apps={services?.download?.apps} />\n </div>\n {!!mainNav?.socials?.length && (\n <div className=\"mt-8 flex items-center gap-2\">\n {mainNav?.socials?.map((socialItem: any) => (\n <Link href={socialItem?.link} key={socialItem?.id}>\n <Picture source={socialItem?.icon?.url} alt={socialItem?.icon?.alt} className=\"size-8 shrink-0\" />\n </Link>\n ))}\n </div>\n )}\n <div className=\"mt-4 flex flex-wrap gap-2\">\n {mainNav?.payment?.map((paymentItem: any) => (\n <Link href={paymentItem?.link} key={paymentItem?.id}>\n <Picture\n source={paymentItem?.icon?.url}\n alt={paymentItem?.icon?.alt}\n className=\"h-[28px] w-[44px] shrink-0\"\n />\n </Link>\n ))}\n </div>\n </div>\n </div>\n </div>\n )\n}\n\nconst FooterBrand = ({\n data,\n isMobile,\n event,\n currentCountry,\n}: {\n data: any\n isMobile: boolean\n event: any\n currentCountry: any\n}) => {\n return (\n <div className=\"flex flex-col gap-4\">\n <div className=\"desktop:items-center desktop:flex desktop:gap-4\">\n <div className=\"laptop:flex-row laptop:items-end desktop:flex-[980] flex flex-col items-start gap-4\">\n <Text html={data?.brand?.currentBrand} className=\"text-[#B6B6BA]\" />\n <div className=\"laptop:block hidden h-[20px] w-px bg-[#B6B6BA] laptop:mb-[10px]\" />\n <div className=\"desktop:gap-6 flex flex-wrap items-center gap-4 laptop:mb-[10px]\">\n {data?.brand?.brands?.map((brandItem: any) => (\n <Link href={brandItem?.link} key={brandItem?.id}>\n <Text html={brandItem?.icon} className=\"text-[#B6B6BA] hover:text-white\" />\n </Link>\n ))}\n </div>\n </div>\n <ChangeCountry\n country={currentCountry || data?.country}\n className=\"desktop:flex-[316] desktop:block hidden mt-5\"\n isMobile={isMobile}\n onChangeCountry={event?.country}\n />\n </div>\n <div className=\"h-px bg-[#3D3E3F]\" />\n <div className=\"laptop:flex-row desktop:gap-4 desktop:items-center flex flex-col items-start gap-1\">\n <Text\n html={data?.copyright?.label}\n className=\"desktop:text-base text-xs font-bold leading-[1.4] text-[#6D6D6F]\"\n />\n <div className=\"flex flex-wrap items-center gap-x-2 gap-y-1\">\n {data?.policy?.policies?.map((policyItem: any) => (\n <Link\n href={policyItem?.link}\n key={policyItem?.id}\n className=\"desktop:text-base text-xs font-bold leading-[1.4] text-[#B6B6BA] no-underline\"\n >\n {policyItem?.label}\n </Link>\n ))}\n </div>\n </div>\n </div>\n )\n}\n\nconst MainNavMenu = ({ title, lists, className }: { title: string; lists: any[]; className?: string }) => {\n const [mainNavMenuOpen, setMainNavMenuOpen] = useState<boolean>(false)\n const [isMobile, setIsMobile] = useState(false)\n\n const mediaQuery = useMediaQuery({ query: '(max-width: 1440px)' })\n\n useEffect(() => {\n setIsMobile(mediaQuery)\n }, [mediaQuery])\n\n return (\n <div className={cn('desktop:py-0 desktop:border-none border-t border-[#3D3E3F] py-4', className)}>\n <div className=\"flex items-center justify-between\" onClick={() => setMainNavMenuOpen(!mainNavMenuOpen)}>\n <Text as=\"p\" html={title} className=\"text-xl font-bold leading-[1.2] text-white\" />\n {isMobile && (\n <>{mainNavMenuOpen ? <SubtractIcon width={20} height={20} /> : <AddIcon width={20} height={20} />}</>\n )}\n </div>\n {((mainNavMenuOpen && isMobile) || !isMobile) && (\n <div className=\"mt-4 flex flex-col gap-2\">\n {lists?.map((item: any) => (\n <Link href={item?.link} key={item?.id} className=\"no-underline\">\n <Text\n html={item?.label}\n className=\"desktop:text-base text-sm font-bold leading-[1.2] text-[#B6B6BA] hover:text-white\"\n />\n </Link>\n ))}\n </div>\n )}\n </div>\n )\n}\n\n/**\n * DownloadApp \u4E0B\u8F7D\u5E94\u7528\u6A21\u5757\n * @param title\n * @param apps\n * @param className\n * @returns\n */\nconst DownloadApp = ({ title, apps, className }: { title: string; apps: any[]; className?: string }) => {\n if (!apps?.length) return null\n return (\n <div className={className}>\n <Text html={title} className=\" text-xl font-bold leading-[1.2] text-white\" />\n <div className=\"mt-4 flex items-center gap-4\">\n {apps?.map((appItem: any) => (\n <div key={appItem?.id} className=\"flex flex-col items-center gap-[6px]\">\n <Link href={appItem?.link}>\n <Picture source={appItem?.icon?.url} alt={appItem?.icon?.alt} className=\"size-10 shrink-0\" />\n </Link>\n {appItem?.label && <Text html={appItem?.label} className=\"text-xs font-bold text-[#999999]\" />}\n </div>\n ))}\n </div>\n </div>\n )\n}\n\n/**\n * ChangeCountry \u5207\u6362\u56FD\u5BB6\u6A21\u5757\n * @param data \u6570\u636E\n * @param isMobile \u662F\u5426\u662F\u79FB\u52A8\u7AEF\n * @returns\n */\nconst ChangeCountry = ({\n country,\n isMobile,\n className,\n onChangeCountry,\n}: {\n country: any\n isMobile: boolean\n className?: string\n onChangeCountry?: () => void\n}) => {\n return (\n <div\n className={cn('desktop:py-0 desktop:border-none border-t border-[#3D3E3F] py-4', className)}\n onClick={() => onChangeCountry?.()}\n >\n <div className=\"flex items-center justify-between\">\n <div className=\"flex cursor-pointer items-center gap-2\">\n <CountryIcon width={20} height={20} className=\"shrink-0\" />\n <Text\n as=\"p\"\n html={country?.countryName || country?.country}\n className=\"desktop:text-[#B6B6BA] text-base font-bold leading-[1.4] text-white hover:text-white\"\n />\n </div>\n {isMobile && (\n <button>\n <ArrowRightIcon width={20} height={20} />\n </button>\n )}\n </div>\n </div>\n )\n}\n\nexport default withLayout(FooterNavigation)\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { useEffect, useMemo, useState } from 'react'\nimport { Picture, Text, Container, Link } from '../../components/index.js'\nimport Subscribe from '../Subscribe/index.js'\nimport type { FooterNavigationProps } from './types.js'\nimport { FooterNavigationBlockType } from './types.js'\nimport { AddIcon, SubtractIcon, ArrowRightIcon, CountryIcon } from './icons/index.js'\nimport { useMediaQuery } from 'react-responsive'\nimport { cn } from '../../helpers/utils.js'\nimport { withLayout } from '../../shared/Styles.js'\n\nconst FooterNavigation = ({ data: { footerNavigation } = {}, currentCountry, event }: FooterNavigationProps) => {\n const [isMobile, setIsMobile] = useState(false)\n\n const mediaQuery = useMediaQuery({ query: '(max-width: 1440px)' })\n\n useEffect(() => {\n setIsMobile(mediaQuery)\n }, [mediaQuery])\n\n const country = useMemo(() => {\n return (\n footerNavigation?.footerBlocks?.find((block: any) => block?.blockType === FooterNavigationBlockType.Brand)\n ?.country || {}\n )\n }, [footerNavigation])\n\n return (\n <Container childClassName=\"bg-black py-8 laptop:py-16 flex flex-col desktop:gap-16 gap-8\">\n <Text html={footerNavigation?.story} className=\"desktop:text-sm text-xs font-bold text-[#6D6D6F]\" />\n {footerNavigation?.footerBlocks?.map((block: any) => {\n if (block?.blockType === FooterNavigationBlockType.Signup) {\n return <MarketingConversion data={block} onSubmit={event?.signup} />\n }\n if (block?.blockType === FooterNavigationBlockType.Brand) {\n return <FooterBrand data={block} isMobile={isMobile} event={event} currentCountry={currentCountry} />\n }\n if (block?.blockType === FooterNavigationBlockType.Main) {\n return (\n <MainServices\n data={{ ...block, country }}\n event={event}\n isMobile={isMobile}\n currentCountry={currentCountry}\n />\n )\n }\n })}\n </Container>\n )\n}\n\n/**\n * MarketingConversion \u8425\u9500\u8F6C\u5316\u6A21\u5757\n * @param data\n * @param onSubmit signup\u63D0\u4EA4\u4E8B\u4EF6\n * @returns\n */\nconst MarketingConversion = ({ data, onSubmit }: { data: any; onSubmit?: (params: any) => void }) => {\n return (\n <div className=\"desktop:py-16 desktop:gap-16 laptop:rounded-2xl laptop:px-8 desktop:flex-row flex flex-col gap-8 rounded-btn bg-[#1D1D1F] px-4 py-8\">\n <Subscribe subscribeMetadata={data?.signup} className=\"desktop:flex-[744]\" onSubmit={onSubmit} />\n <div className=\"desktop:hidden h-px w-full bg-[#3D3E3F]\" />\n <div className=\"desktop:gap-6 laptop:flex-row desktop:flex-[792] flex flex-col gap-4\">\n <div className=\"flex-1\">\n <Text html={data?.enjoy?.title} className=\" text-xl font-bold leading-[1.2] text-white\" />\n <div className=\"mt-4 flex flex-col gap-2\">\n {data?.enjoy?.enjoys?.map((enjoyItem: any) => (\n <div key={enjoyItem?.id} className=\"flex-start flex gap-2\">\n <Picture source={enjoyItem?.icon?.url} alt={enjoyItem?.icon?.alt} className=\"size-5 shrink-0\" />\n <Text\n html={enjoyItem?.label}\n className=\"desktop:text-base text-sm font-bold leading-[1.2] text-[#B6B6BA] hover:text-white\"\n />\n </div>\n ))}\n </div>\n </div>\n <div className=\"w-px bg-[#3D3E3F] hidden desktop:block\" />\n <div className=\"flex-1\">\n <Text html={data?.benefit?.title} className=\"text-xl font-bold leading-[1.2] text-white\" />\n <div className=\"mt-4 flex flex-col gap-2\">\n {data?.benefit?.benefits?.map((benefitItem: any) => (\n <Link\n href={benefitItem?.link}\n asChild={!benefitItem?.link}\n key={benefitItem?.id}\n className=\"no-underline\"\n >\n <Text\n html={benefitItem?.label}\n className=\"desktop:text-base text-sm font-bold leading-[1.2] text-[#B6B6BA] hover:text-white\"\n />\n </Link>\n ))}\n </div>\n </div>\n </div>\n </div>\n )\n}\n\n/**\n * MainServices \u4E3B\u5BFC\u822A\u4E0E\u670D\u52A1\u6A21\u5757\n * @param services \u670D\u52A1\n * @param mainNav \u4E3B\u5BFC\u822A\n * @param event \u4E8B\u4EF6\n * @param isMobile \u662F\u5426\u662F\u79FB\u52A8\u7AEF\n * @param currentCountry \u5F53\u524D\u56FD\u5BB6\n * @returns\n */\nconst MainServices = ({\n data,\n event,\n isMobile,\n currentCountry,\n}: {\n data: any\n event: any\n isMobile: boolean\n currentCountry: any\n}) => {\n const [mainNavMenuOpen, setMainNavMenuOpen] = useState<boolean>(false)\n const { services, mainNav, country } = data\n return (\n <div className=\"flex flex-col gap-8\">\n <div\n className={cn({\n 'desktop:gap-16 flex': services?.download?.title,\n })}\n >\n <div\n className={cn('w-full', {\n 'desktop:flex-[1260]': services?.download?.title,\n })}\n >\n <Text html={services?.storeBenefits?.title} className=\" text-xl font-bold leading-[1.2] text-white\" />\n <div\n className={cn('laptop:flex-row desktop:gap-4 laptop:flex-wrap mt-4 flex flex-col gap-2', {\n 'desktop:max-w-[648px]': services?.download?.title,\n })}\n >\n {services?.storeBenefits?.reasons?.map((reasonItem: any) => (\n <div key={reasonItem?.id} className=\"desktop:min-w-[288px] flex flex-1 shrink-0 items-center gap-2\">\n <Picture source={reasonItem?.icon?.url} alt={reasonItem?.icon?.alt} className=\"size-5 shrink-0\" />\n <Link href={reasonItem?.link} asChild={!reasonItem?.link} className=\"no-underline\">\n <Text\n html={reasonItem?.label}\n className=\"text-sm desktop:text-base font-bold leading-[1.2] text-[#B6B6BA]\"\n />\n </Link>\n </div>\n ))}\n </div>\n </div>\n <DownloadApp\n className={cn({\n 'desktop:flex-[404] hidden desktop:block': services?.download?.title,\n })}\n title={services?.download?.title}\n apps={services?.download?.apps}\n />\n </div>\n <div className=\"desktop:block hidden h-px bg-[#3D3E3F]\" />\n <div className=\"desktop:grid grid-cols-4 gap-4\">\n <MainNavMenu title={mainNav?.products?.title} lists={mainNav?.products?.products} />\n <MainNavMenu title={mainNav?.explore?.title} lists={mainNav?.explore?.explores} />\n <MainNavMenu title={mainNav?.support?.title} lists={mainNav?.support?.supports} />\n <div className=\"desktop:py-0 desktop:border-none border-t border-[#3D3E3F] pt-4\">\n <div className=\"desktop:pb-0 flex items-center justify-between pb-4\">\n <Text as=\"p\" html={mainNav?.contact?.title} className=\"text-xl font-bold leading-[1.2] text-white\" />\n {isMobile && (\n <button onClick={() => setMainNavMenuOpen(!mainNavMenuOpen)}>\n {mainNavMenuOpen ? <SubtractIcon width={20} height={20} /> : <AddIcon width={20} height={20} />}\n </button>\n )}\n </div>\n {((mainNavMenuOpen && isMobile) || !isMobile) && (\n <div className=\"desktop:mt-4 desktop:mb-0 mb-4 flex flex-col gap-2\">\n {mainNav?.contact?.contacts?.map((contactItem: any) => (\n <div key={contactItem?.id} className=\"flex items-start gap-2\">\n <Picture source={contactItem?.icon?.url} alt={contactItem?.icon?.alt} className=\"size-5 shrink-0\" />\n <Link href={contactItem?.link} className=\"no-underline\">\n <Text\n html={contactItem?.label}\n className=\"desktop:text-base text-sm font-bold leading-[1.2] text-[#B6B6BA] hover:text-white\"\n />\n </Link>\n </div>\n ))}\n </div>\n )}\n <ChangeCountry\n country={currentCountry || country}\n className=\"desktop:hidden border-b border-[#3D3E3F]\"\n isMobile={isMobile}\n onChangeCountry={event?.country}\n />\n <div className=\"desktop:hidden mt-8\">\n <DownloadApp title={services?.download?.title} apps={services?.download?.apps} />\n </div>\n {!!mainNav?.socials?.length && (\n <div className=\"mt-8 flex items-center gap-2\">\n {mainNav?.socials?.map((socialItem: any) => (\n <Link href={socialItem?.link} key={socialItem?.id}>\n <Picture source={socialItem?.icon?.url} alt={socialItem?.icon?.alt} className=\"size-8 shrink-0\" />\n </Link>\n ))}\n </div>\n )}\n <div className=\"mt-4 flex flex-wrap gap-2\">\n {mainNav?.payment?.map((paymentItem: any) => (\n <Link href={paymentItem?.link} key={paymentItem?.id}>\n <Picture\n source={paymentItem?.icon?.url}\n alt={paymentItem?.icon?.alt}\n className=\"h-[28px] w-[44px] shrink-0\"\n />\n </Link>\n ))}\n </div>\n </div>\n </div>\n </div>\n )\n}\n\nconst FooterBrand = ({\n data,\n isMobile,\n event,\n currentCountry,\n}: {\n data: any\n isMobile: boolean\n event: any\n currentCountry: any\n}) => {\n return (\n <div className=\"flex flex-col gap-4\">\n <div className=\"desktop:items-center desktop:flex desktop:gap-4\">\n <div className=\"laptop:flex-row laptop:items-center desktop:flex-[980] flex flex-col items-start gap-4\">\n <Text html={data?.brand?.currentBrand} className=\"text-[#B6B6BA]\" />\n <div className=\"laptop:block hidden h-[20px] w-px bg-[#B6B6BA] laptop:mb-[10px]\" />\n <div className=\"desktop:gap-6 flex flex-wrap items-center gap-4\">\n {data?.brand?.brands?.map((brandItem: any) => (\n <Link href={brandItem?.link} key={brandItem?.id}>\n <Text html={brandItem?.icon} className=\"text-[#B6B6BA] hover:text-white\" />\n </Link>\n ))}\n </div>\n </div>\n <ChangeCountry\n country={currentCountry || data?.country}\n className=\"desktop:flex-[316] desktop:block hidden\"\n isMobile={isMobile}\n onChangeCountry={event?.country}\n />\n </div>\n <div className=\"h-px bg-[#3D3E3F]\" />\n <div className=\"laptop:flex-row desktop:gap-4 desktop:items-center flex flex-col items-start gap-1\">\n <Text\n html={data?.copyright?.label}\n className=\"desktop:text-base text-xs font-bold leading-[1.4] text-[#6D6D6F]\"\n />\n <div className=\"flex flex-wrap items-center gap-x-2 gap-y-1\">\n {data?.policy?.policies?.map((policyItem: any) => (\n <Link\n href={policyItem?.link}\n key={policyItem?.id}\n className=\"desktop:text-base text-xs font-bold leading-[1.4] text-[#B6B6BA] no-underline\"\n >\n {policyItem?.label}\n </Link>\n ))}\n </div>\n </div>\n </div>\n )\n}\n\nconst MainNavMenu = ({ title, lists, className }: { title: string; lists: any[]; className?: string }) => {\n const [mainNavMenuOpen, setMainNavMenuOpen] = useState<boolean>(false)\n const [isMobile, setIsMobile] = useState(false)\n\n const mediaQuery = useMediaQuery({ query: '(max-width: 1440px)' })\n\n useEffect(() => {\n setIsMobile(mediaQuery)\n }, [mediaQuery])\n\n return (\n <div className={cn('desktop:py-0 desktop:border-none border-t border-[#3D3E3F] py-4', className)}>\n <div className=\"flex items-center justify-between\" onClick={() => setMainNavMenuOpen(!mainNavMenuOpen)}>\n <Text as=\"p\" html={title} className=\"text-xl font-bold leading-[1.2] text-white\" />\n {isMobile && (\n <>{mainNavMenuOpen ? <SubtractIcon width={20} height={20} /> : <AddIcon width={20} height={20} />}</>\n )}\n </div>\n {((mainNavMenuOpen && isMobile) || !isMobile) && (\n <div className=\"mt-4 flex flex-col gap-2\">\n {lists?.map((item: any) => (\n <Link href={item?.link} key={item?.id} className=\"no-underline\">\n <Text\n html={item?.label}\n className=\"desktop:text-base text-sm font-bold leading-[1.2] text-[#B6B6BA] hover:text-white\"\n />\n </Link>\n ))}\n </div>\n )}\n </div>\n )\n}\n\n/**\n * DownloadApp \u4E0B\u8F7D\u5E94\u7528\u6A21\u5757\n * @param title\n * @param apps\n * @param className\n * @returns\n */\nconst DownloadApp = ({ title, apps, className }: { title: string; apps: any[]; className?: string }) => {\n if (!apps?.length) return null\n return (\n <div className={className}>\n <Text html={title} className=\" text-xl font-bold leading-[1.2] text-white\" />\n <div className=\"mt-4 flex items-center gap-4\">\n {apps?.map((appItem: any) => (\n <div key={appItem?.id} className=\"flex flex-col items-center gap-[6px]\">\n <Link href={appItem?.link}>\n <Picture source={appItem?.icon?.url} alt={appItem?.icon?.alt} className=\"size-10 shrink-0\" />\n </Link>\n {appItem?.label && <Text html={appItem?.label} className=\"text-xs font-bold text-[#999999]\" />}\n </div>\n ))}\n </div>\n </div>\n )\n}\n\n/**\n * ChangeCountry \u5207\u6362\u56FD\u5BB6\u6A21\u5757\n * @param data \u6570\u636E\n * @param isMobile \u662F\u5426\u662F\u79FB\u52A8\u7AEF\n * @returns\n */\nconst ChangeCountry = ({\n country,\n isMobile,\n className,\n onChangeCountry,\n}: {\n country: any\n isMobile: boolean\n className?: string\n onChangeCountry?: () => void\n}) => {\n return (\n <div\n className={cn('desktop:py-0 desktop:border-none border-t border-[#3D3E3F] py-4', className)}\n onClick={() => onChangeCountry?.()}\n >\n <div className=\"flex items-center justify-between\">\n <div className=\"flex cursor-pointer items-center gap-2\">\n <CountryIcon width={20} height={20} className=\"shrink-0\" />\n <Text\n as=\"p\"\n html={country?.countryName || country?.country}\n className=\"desktop:text-[#B6B6BA] text-base font-bold leading-[1.4] text-white hover:text-white\"\n />\n </div>\n {isMobile && (\n <button>\n <ArrowRightIcon width={20} height={20} />\n </button>\n )}\n </div>\n </div>\n )\n}\n\nexport default withLayout(FooterNavigation)\n"],
5
+ "mappings": "AA2BI,OA4QM,YAAAA,EA3QJ,OAAAC,EADF,QAAAC,MAAA,oBA3BJ,OAAS,aAAAC,EAAW,WAAAC,EAAS,YAAAC,MAAgB,QAC7C,OAAS,WAAAC,EAAS,QAAAC,EAAM,aAAAC,EAAW,QAAAC,MAAY,4BAC/C,OAAOC,MAAe,wBAEtB,OAAS,6BAAAC,MAAiC,aAC1C,OAAS,WAAAC,EAAS,gBAAAC,EAAc,kBAAAC,EAAgB,eAAAC,MAAmB,mBACnE,OAAS,iBAAAC,MAAqB,mBAC9B,OAAS,MAAAC,MAAU,yBACnB,OAAS,cAAAC,MAAkB,yBAE3B,MAAMC,EAAmB,CAAC,CAAE,KAAM,CAAE,iBAAAC,CAAiB,EAAI,CAAC,EAAG,eAAAC,EAAgB,MAAAC,CAAM,IAA6B,CAC9G,KAAM,CAACC,EAAUC,CAAW,EAAInB,EAAS,EAAK,EAExCoB,EAAaT,EAAc,CAAE,MAAO,qBAAsB,CAAC,EAEjEb,EAAU,IAAM,CACdqB,EAAYC,CAAU,CACxB,EAAG,CAACA,CAAU,CAAC,EAEf,MAAMC,EAAUtB,EAAQ,IAEpBgB,GAAkB,cAAc,KAAMO,GAAeA,GAAO,YAAchB,EAA0B,KAAK,GACrG,SAAW,CAAC,EAEjB,CAACS,CAAgB,CAAC,EAErB,OACElB,EAACM,EAAA,CAAU,eAAe,gEACxB,UAAAP,EAACM,EAAA,CAAK,KAAMa,GAAkB,MAAO,UAAU,mDAAmD,EACjGA,GAAkB,cAAc,IAAKO,GAAe,CACnD,GAAIA,GAAO,YAAchB,EAA0B,OACjD,OAAOV,EAAC2B,EAAA,CAAoB,KAAMD,EAAO,SAAUL,GAAO,OAAQ,EAEpE,GAAIK,GAAO,YAAchB,EAA0B,MACjD,OAAOV,EAAC4B,EAAA,CAAY,KAAMF,EAAO,SAAUJ,EAAU,MAAOD,EAAO,eAAgBD,EAAgB,EAErG,GAAIM,GAAO,YAAchB,EAA0B,KACjD,OACEV,EAAC6B,EAAA,CACC,KAAM,CAAE,GAAGH,EAAO,QAAAD,CAAQ,EAC1B,MAAOJ,EACP,SAAUC,EACV,eAAgBF,EAClB,CAGN,CAAC,GACH,CAEJ,EAQMO,EAAsB,CAAC,CAAE,KAAAG,EAAM,SAAAC,CAAS,IAE1C9B,EAAC,OAAI,UAAU,sIACb,UAAAD,EAACS,EAAA,CAAU,kBAAmBqB,GAAM,OAAQ,UAAU,qBAAqB,SAAUC,EAAU,EAC/F/B,EAAC,OAAI,UAAU,0CAA0C,EACzDC,EAAC,OAAI,UAAU,uEACb,UAAAA,EAAC,OAAI,UAAU,SACb,UAAAD,EAACM,EAAA,CAAK,KAAMwB,GAAM,OAAO,MAAO,UAAU,8CAA8C,EACxF9B,EAAC,OAAI,UAAU,2BACZ,SAAA8B,GAAM,OAAO,QAAQ,IAAKE,GACzB/B,EAAC,OAAwB,UAAU,wBACjC,UAAAD,EAACK,EAAA,CAAQ,OAAQ2B,GAAW,MAAM,IAAK,IAAKA,GAAW,MAAM,IAAK,UAAU,kBAAkB,EAC9FhC,EAACM,EAAA,CACC,KAAM0B,GAAW,MACjB,UAAU,oFACZ,IALQA,GAAW,EAMrB,CACD,EACH,GACF,EACAhC,EAAC,OAAI,UAAU,yCAAyC,EACxDC,EAAC,OAAI,UAAU,SACb,UAAAD,EAACM,EAAA,CAAK,KAAMwB,GAAM,SAAS,MAAO,UAAU,6CAA6C,EACzF9B,EAAC,OAAI,UAAU,2BACZ,SAAA8B,GAAM,SAAS,UAAU,IAAKG,GAC7BjC,EAACQ,EAAA,CACC,KAAMyB,GAAa,KACnB,QAAS,CAACA,GAAa,KAEvB,UAAU,eAEV,SAAAjC,EAACM,EAAA,CACC,KAAM2B,GAAa,MACnB,UAAU,oFACZ,GANKA,GAAa,EAOpB,CACD,EACH,GACF,GACF,GACF,EAaEJ,EAAe,CAAC,CACpB,KAAAC,EACA,MAAAT,EACA,SAAAC,EACA,eAAAF,CACF,IAKM,CACJ,KAAM,CAACc,EAAiBC,CAAkB,EAAI/B,EAAkB,EAAK,EAC/D,CAAE,SAAAgC,EAAU,QAAAC,EAAS,QAAAZ,CAAQ,EAAIK,EACvC,OACE7B,EAAC,OAAI,UAAU,sBACb,UAAAA,EAAC,OACC,UAAWe,EAAG,CACZ,sBAAuBoB,GAAU,UAAU,KAC7C,CAAC,EAED,UAAAnC,EAAC,OACC,UAAWe,EAAG,SAAU,CACtB,sBAAuBoB,GAAU,UAAU,KAC7C,CAAC,EAED,UAAApC,EAACM,EAAA,CAAK,KAAM8B,GAAU,eAAe,MAAO,UAAU,8CAA8C,EACpGpC,EAAC,OACC,UAAWgB,EAAG,0EAA2E,CACvF,wBAAyBoB,GAAU,UAAU,KAC/C,CAAC,EAEA,SAAAA,GAAU,eAAe,SAAS,IAAKE,GACtCrC,EAAC,OAAyB,UAAU,gEAClC,UAAAD,EAACK,EAAA,CAAQ,OAAQiC,GAAY,MAAM,IAAK,IAAKA,GAAY,MAAM,IAAK,UAAU,kBAAkB,EAChGtC,EAACQ,EAAA,CAAK,KAAM8B,GAAY,KAAM,QAAS,CAACA,GAAY,KAAM,UAAU,eAClE,SAAAtC,EAACM,EAAA,CACC,KAAMgC,GAAY,MAClB,UAAU,mEACZ,EACF,IAPQA,GAAY,EAQtB,CACD,EACH,GACF,EACAtC,EAACuC,EAAA,CACC,UAAWvB,EAAG,CACZ,0CAA2CoB,GAAU,UAAU,KACjE,CAAC,EACD,MAAOA,GAAU,UAAU,MAC3B,KAAMA,GAAU,UAAU,KAC5B,GACF,EACApC,EAAC,OAAI,UAAU,yCAAyC,EACxDC,EAAC,OAAI,UAAU,iCACb,UAAAD,EAACwC,EAAA,CAAY,MAAOH,GAAS,UAAU,MAAO,MAAOA,GAAS,UAAU,SAAU,EAClFrC,EAACwC,EAAA,CAAY,MAAOH,GAAS,SAAS,MAAO,MAAOA,GAAS,SAAS,SAAU,EAChFrC,EAACwC,EAAA,CAAY,MAAOH,GAAS,SAAS,MAAO,MAAOA,GAAS,SAAS,SAAU,EAChFpC,EAAC,OAAI,UAAU,kEACb,UAAAA,EAAC,OAAI,UAAU,sDACb,UAAAD,EAACM,EAAA,CAAK,GAAG,IAAI,KAAM+B,GAAS,SAAS,MAAO,UAAU,6CAA6C,EAClGf,GACCtB,EAAC,UAAO,QAAS,IAAMmC,EAAmB,CAACD,CAAe,EACvD,SAAAA,EAAkBlC,EAACY,EAAA,CAAa,MAAO,GAAI,OAAQ,GAAI,EAAKZ,EAACW,EAAA,CAAQ,MAAO,GAAI,OAAQ,GAAI,EAC/F,GAEJ,GACGuB,GAAmBZ,GAAa,CAACA,IAClCtB,EAAC,OAAI,UAAU,qDACZ,SAAAqC,GAAS,SAAS,UAAU,IAAKI,GAChCxC,EAAC,OAA0B,UAAU,yBACnC,UAAAD,EAACK,EAAA,CAAQ,OAAQoC,GAAa,MAAM,IAAK,IAAKA,GAAa,MAAM,IAAK,UAAU,kBAAkB,EAClGzC,EAACQ,EAAA,CAAK,KAAMiC,GAAa,KAAM,UAAU,eACvC,SAAAzC,EAACM,EAAA,CACC,KAAMmC,GAAa,MACnB,UAAU,oFACZ,EACF,IAPQA,GAAa,EAQvB,CACD,EACH,EAEFzC,EAAC0C,EAAA,CACC,QAAStB,GAAkBK,EAC3B,UAAU,2CACV,SAAUH,EACV,gBAAiBD,GAAO,QAC1B,EACArB,EAAC,OAAI,UAAU,sBACb,SAAAA,EAACuC,EAAA,CAAY,MAAOH,GAAU,UAAU,MAAO,KAAMA,GAAU,UAAU,KAAM,EACjF,EACC,CAAC,CAACC,GAAS,SAAS,QACnBrC,EAAC,OAAI,UAAU,+BACZ,SAAAqC,GAAS,SAAS,IAAKM,GACtB3C,EAACQ,EAAA,CAAK,KAAMmC,GAAY,KACtB,SAAA3C,EAACK,EAAA,CAAQ,OAAQsC,GAAY,MAAM,IAAK,IAAKA,GAAY,MAAM,IAAK,UAAU,kBAAkB,GAD/DA,GAAY,EAE/C,CACD,EACH,EAEF3C,EAAC,OAAI,UAAU,4BACZ,SAAAqC,GAAS,SAAS,IAAKO,GACtB5C,EAACQ,EAAA,CAAK,KAAMoC,GAAa,KACvB,SAAA5C,EAACK,EAAA,CACC,OAAQuC,GAAa,MAAM,IAC3B,IAAKA,GAAa,MAAM,IACxB,UAAU,6BACZ,GALkCA,GAAa,EAMjD,CACD,EACH,GACF,GACF,GACF,CAEJ,EAEMhB,EAAc,CAAC,CACnB,KAAAE,EACA,SAAAR,EACA,MAAAD,EACA,eAAAD,CACF,IAOInB,EAAC,OAAI,UAAU,sBACb,UAAAA,EAAC,OAAI,UAAU,kDACb,UAAAA,EAAC,OAAI,UAAU,yFACb,UAAAD,EAACM,EAAA,CAAK,KAAMwB,GAAM,OAAO,aAAc,UAAU,iBAAiB,EAClE9B,EAAC,OAAI,UAAU,kEAAkE,EACjFA,EAAC,OAAI,UAAU,kDACZ,SAAA8B,GAAM,OAAO,QAAQ,IAAKe,GACzB7C,EAACQ,EAAA,CAAK,KAAMqC,GAAW,KACrB,SAAA7C,EAACM,EAAA,CAAK,KAAMuC,GAAW,KAAM,UAAU,kCAAkC,GADzCA,GAAW,EAE7C,CACD,EACH,GACF,EACA7C,EAAC0C,EAAA,CACC,QAAStB,GAAkBU,GAAM,QACjC,UAAU,0CACV,SAAUR,EACV,gBAAiBD,GAAO,QAC1B,GACF,EACArB,EAAC,OAAI,UAAU,oBAAoB,EACnCC,EAAC,OAAI,UAAU,qFACb,UAAAD,EAACM,EAAA,CACC,KAAMwB,GAAM,WAAW,MACvB,UAAU,mEACZ,EACA9B,EAAC,OAAI,UAAU,8CACZ,SAAA8B,GAAM,QAAQ,UAAU,IAAKgB,GAC5B9C,EAACQ,EAAA,CACC,KAAMsC,GAAY,KAElB,UAAU,gFAET,SAAAA,GAAY,OAHRA,GAAY,EAInB,CACD,EACH,GACF,GACF,EAIEN,EAAc,CAAC,CAAE,MAAAO,EAAO,MAAAC,EAAO,UAAAC,CAAU,IAA2D,CACxG,KAAM,CAACf,EAAiBC,CAAkB,EAAI/B,EAAkB,EAAK,EAC/D,CAACkB,EAAUC,CAAW,EAAInB,EAAS,EAAK,EAExCoB,EAAaT,EAAc,CAAE,MAAO,qBAAsB,CAAC,EAEjE,OAAAb,EAAU,IAAM,CACdqB,EAAYC,CAAU,CACxB,EAAG,CAACA,CAAU,CAAC,EAGbvB,EAAC,OAAI,UAAWe,EAAG,kEAAmEiC,CAAS,EAC7F,UAAAhD,EAAC,OAAI,UAAU,oCAAoC,QAAS,IAAMkC,EAAmB,CAACD,CAAe,EACnG,UAAAlC,EAACM,EAAA,CAAK,GAAG,IAAI,KAAMyC,EAAO,UAAU,6CAA6C,EAChFzB,GACCtB,EAAAD,EAAA,CAAG,SAAAmC,EAAkBlC,EAACY,EAAA,CAAa,MAAO,GAAI,OAAQ,GAAI,EAAKZ,EAACW,EAAA,CAAQ,MAAO,GAAI,OAAQ,GAAI,EAAG,GAEtG,GACGuB,GAAmBZ,GAAa,CAACA,IAClCtB,EAAC,OAAI,UAAU,2BACZ,SAAAgD,GAAO,IAAKE,GACXlD,EAACQ,EAAA,CAAK,KAAM0C,GAAM,KAAqB,UAAU,eAC/C,SAAAlD,EAACM,EAAA,CACC,KAAM4C,GAAM,MACZ,UAAU,oFACZ,GAJ2BA,GAAM,EAKnC,CACD,EACH,GAEJ,CAEJ,EASMX,EAAc,CAAC,CAAE,MAAAQ,EAAO,KAAAI,EAAM,UAAAF,CAAU,IACvCE,GAAM,OAETlD,EAAC,OAAI,UAAWgD,EACd,UAAAjD,EAACM,EAAA,CAAK,KAAMyC,EAAO,UAAU,8CAA8C,EAC3E/C,EAAC,OAAI,UAAU,+BACZ,SAAAmD,GAAM,IAAKC,GACVnD,EAAC,OAAsB,UAAU,uCAC/B,UAAAD,EAACQ,EAAA,CAAK,KAAM4C,GAAS,KACnB,SAAApD,EAACK,EAAA,CAAQ,OAAQ+C,GAAS,MAAM,IAAK,IAAKA,GAAS,MAAM,IAAK,UAAU,mBAAmB,EAC7F,EACCA,GAAS,OAASpD,EAACM,EAAA,CAAK,KAAM8C,GAAS,MAAO,UAAU,oCAAoC,IAJrFA,GAAS,EAKnB,CACD,EACH,GACF,EAdwB,KAwBtBV,EAAgB,CAAC,CACrB,QAAAjB,EACA,SAAAH,EACA,UAAA2B,EACA,gBAAAI,CACF,IAOIrD,EAAC,OACC,UAAWgB,EAAG,kEAAmEiC,CAAS,EAC1F,QAAS,IAAMI,IAAkB,EAEjC,SAAApD,EAAC,OAAI,UAAU,oCACb,UAAAA,EAAC,OAAI,UAAU,yCACb,UAAAD,EAACc,EAAA,CAAY,MAAO,GAAI,OAAQ,GAAI,UAAU,WAAW,EACzDd,EAACM,EAAA,CACC,GAAG,IACH,KAAMmB,GAAS,aAAeA,GAAS,QACvC,UAAU,uFACZ,GACF,EACCH,GACCtB,EAAC,UACC,SAAAA,EAACa,EAAA,CAAe,MAAO,GAAI,OAAQ,GAAI,EACzC,GAEJ,EACF,EAIJ,IAAOyC,EAAQrC,EAAWC,CAAgB",
6
6
  "names": ["Fragment", "jsx", "jsxs", "useEffect", "useMemo", "useState", "Picture", "Text", "Container", "Link", "Subscribe", "FooterNavigationBlockType", "AddIcon", "SubtractIcon", "ArrowRightIcon", "CountryIcon", "useMediaQuery", "cn", "withLayout", "FooterNavigation", "footerNavigation", "currentCountry", "event", "isMobile", "setIsMobile", "mediaQuery", "country", "block", "MarketingConversion", "FooterBrand", "MainServices", "data", "onSubmit", "enjoyItem", "benefitItem", "mainNavMenuOpen", "setMainNavMenuOpen", "services", "mainNav", "reasonItem", "DownloadApp", "MainNavMenu", "contactItem", "ChangeCountry", "socialItem", "paymentItem", "brandItem", "policyItem", "title", "lists", "className", "item", "apps", "appItem", "onChangeCountry", "FooterNavigation_default"]
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import React, { type Dispatch, type SetStateAction, type PropsWithChildren } from 'react';
2
2
  import type { Product, ProductPrice, ProductVariant, VariantCoupon, Options, FreeGift, BundleListItem, Bundle } from './types/product';
3
- import type { CompareData } from './types.js';
3
+ import type { CompareData, DiscountData } from './types.js';
4
4
  type Country = {
5
5
  id?: number;
6
6
  name?: string;
@@ -98,11 +98,15 @@ export interface ProductContextType {
98
98
  openModal: ({ title, content, domContent }: ModalData) => void;
99
99
  openSignInPopup?: () => void;
100
100
  openAuthCodePopup?: () => void;
101
+ openSignUpPopup?: () => void;
101
102
  renderAffirm?: React.ReactNode;
102
103
  renderKlarna?: React.ReactNode;
103
104
  renderPaypal?: React.ReactNode;
105
+ onUseCouponChange?: (couponSaving: number) => void;
106
+ onUseMemberDiscountChange?: (memberSaving: number) => void;
107
+ discount?: DiscountData;
104
108
  }
105
- export declare const ProductContext: React.Context<ProductContextType>;
106
- export declare const useProductContext: () => ProductContextType;
107
- declare const ProductProvider: ({ product, isLogin, profile, isMobile, isDesktop, children, renderRating, freeGift, bundle, checkedBundle, checkedGift, setCheckedBundle, setCheckedGift, variant, selectedOptions, setSelectedOptions, compareData, coupon, finalPrice, comparePrice, totalSavings, savingDetail, setSavingDetail, selectedVariants, onAddToCart, onBuyNow, creditsRedemptionAmount, memberFunctionResult, openModal, openSignInPopup, openAuthCodePopup, renderAffirm, renderKlarna, renderPaypal, }: PropsWithChildren<Omit<ProductContextType, "joinedRecommendBuyProducts" | "setJoinedRecommendBuyProducts">>) => import("react/jsx-runtime").JSX.Element;
109
+ export declare const BizProductContext: React.Context<ProductContextType>;
110
+ export declare const useBizProductContext: () => ProductContextType;
111
+ declare const ProductProvider: ({ product, isLogin, profile, isMobile, isDesktop, children, renderRating, freeGift, bundle, checkedBundle, checkedGift, setCheckedBundle, setCheckedGift, variant, selectedOptions, setSelectedOptions, compareData, coupon, finalPrice, comparePrice, totalSavings, savingDetail, setSavingDetail, selectedVariants, onAddToCart, onBuyNow, creditsRedemptionAmount, memberFunctionResult, openModal, openSignInPopup, openAuthCodePopup, openSignUpPopup, renderAffirm, renderKlarna, renderPaypal, onUseCouponChange, onUseMemberDiscountChange, discount, }: PropsWithChildren<Omit<ProductContextType, "joinedRecommendBuyProducts" | "setJoinedRecommendBuyProducts">>) => import("react/jsx-runtime").JSX.Element;
108
112
  export default ProductProvider;
@@ -0,0 +1,2 @@
1
+ import{jsx as E}from"react/jsx-runtime";import{createContext as j,useContext as n,useState as z}from"react";const e=j({}),Q=()=>{if(!n(e))throw new Error("useProductContext must be used in <ProductProvider>");return n(e)},J=({product:t,isLogin:o,profile:r,isMobile:i,isDesktop:a,children:d,renderRating:c,freeGift:u,bundle:s,checkedBundle:p,checkedGift:m,setCheckedBundle:l,setCheckedGift:P,variant:b,selectedOptions:g,setSelectedOptions:C,compareData:f,coupon:v,finalPrice:y,comparePrice:h,totalSavings:S,savingDetail:D,setSavingDetail:B,selectedVariants:R,onAddToCart:x,onBuyNow:_,creditsRedemptionAmount:A,memberFunctionResult:V,openModal:k,openSignInPopup:M,openAuthCodePopup:w,openSignUpPopup:F,renderAffirm:I,renderKlarna:L,renderPaypal:N,onUseCouponChange:T,onUseMemberDiscountChange:G,discount:O})=>{const[U,W]=z({bundle:void 0,gift:void 0});return E(e.Provider,{value:{product:t,variant:b,isMobile:i,isDesktop:a,isLogin:o,profile:r,coupon:v,renderRating:c,finalPrice:y,comparePrice:h,savingDetail:D,setSavingDetail:B,totalSavings:S,selectedOptions:g,setSelectedOptions:C,freeGift:u,checkedGift:m,setCheckedGift:P,checkedBundle:p,setCheckedBundle:l,bundle:s,compareData:f,selectedVariants:R,onAddToCart:x,onBuyNow:_,joinedRecommendBuyProducts:U,setJoinedRecommendBuyProducts:W,creditsRedemptionAmount:A,memberFunctionResult:V,openModal:k,openSignInPopup:M,openAuthCodePopup:w,openSignUpPopup:F,renderAffirm:I,renderKlarna:L,renderPaypal:N,onUseCouponChange:T,onUseMemberDiscountChange:G,discount:O},children:d})};var X=J;export{e as BizProductContext,X as default,Q as useBizProductContext};
2
+ //# sourceMappingURL=BizProductProvider.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/biz-components/Listing/BizProductProvider.tsx"],
4
+ "sourcesContent": ["import React, {\n createContext,\n useCallback,\n useContext,\n type Dispatch,\n type SetStateAction,\n type PropsWithChildren,\n useState,\n} from 'react'\nimport type {\n Product,\n ProductPrice,\n ProductVariant,\n VariantCoupon,\n Options,\n FreeGift,\n BundleListItem,\n Bundle,\n} from './types/product'\nimport type { CompareData, DiscountData } from './types.js'\n\ntype Country = {\n id?: number\n name?: string\n code?: string\n}\n\nexport type UserProfile = {\n user_id: string\n email: string\n nick_name?: string\n full_name?: string\n first_name?: string\n last_name?: string\n dob?: string\n gender?: string\n phone_number?: string\n phone_account?: string\n country?: Country\n is_subscribe?: boolean\n avatar?: string\n can_change_password?: boolean\n invitation_code?: string\n phone_carrier?: string\n dob_programmed?: boolean\n activated?: boolean\n registed_at?: number\n activated_at?: number\n token?: string\n}\n\nexport type SavingDetail = { coupon: number; bundle: number; member: number; freeGift: number; compare: number }\n\ntype variantWithFinalPrice = ProductVariant & { finalPrice?: ProductPrice }\n\nexport type FunctionMemberPriceResult = {\n hasMemberPrice: boolean\n originalPrice: number\n withCouponMemberTotalSave: number\n withoutCouponMaxMemberTotalSave?: number\n labels: {\n key: string\n value: string\n desc: string\n }[]\n}\n\nexport type ModalData = {\n needClickAway?: boolean\n className?: string\n title?: string\n content?: string\n domContent?: React.ReactNode\n}\nexport interface ProductContextType {\n isLogin?: boolean\n isMobile?: boolean\n isDesktop?: boolean\n product: Product\n profile?: UserProfile\n variant: ProductVariant\n selectedVariants: Array<variantWithFinalPrice>\n renderRating?: React.ReactNode\n coupon?: VariantCoupon\n savingDetail: SavingDetail\n setSavingDetail: Dispatch<SetStateAction<SavingDetail>>\n finalPrice: number\n comparePrice: number\n totalSavings: number\n selectedOptions: Options\n setSelectedOptions: Dispatch<SetStateAction<Options>>\n freeGift?: FreeGift\n checkedGift?: ProductVariant\n setCheckedGift?: Dispatch<SetStateAction<ProductVariant | undefined>>\n checkedBundle?: BundleListItem\n setCheckedBundle: Dispatch<SetStateAction<BundleListItem | undefined>>\n // productSummaryStatus: {\n // bundleSummary: boolean\n // giftSummary: boolean\n // }\n joinedRecommendBuyProducts: { bundle?: BundleListItem; gift?: ProductVariant }\n setJoinedRecommendBuyProducts?: Dispatch<SetStateAction<{ bundle?: BundleListItem; gift?: ProductVariant }>>\n // setProductSummaryStatus?: Dispatch<SetStateAction<{ bundleSummary: boolean; giftSummary: boolean }>>\n checkedCareBundle?: ProductVariant\n setCheckedCareBundle?: Dispatch<SetStateAction<ProductVariant | undefined>>\n bundle?: Bundle\n compareData?: CompareData['data']\n onAddToCart?: () => void\n onBuyNow?: () => void\n creditsRedemptionAmount?: number\n memberFunctionResult?: FunctionMemberPriceResult\n openModal: ({ title, content, domContent }: ModalData) => void\n openSignInPopup?: () => void\n openAuthCodePopup?: () => void\n openSignUpPopup?: () => void\n renderAffirm?: React.ReactNode\n renderKlarna?: React.ReactNode\n renderPaypal?: React.ReactNode\n onUseCouponChange?: (couponSaving: number) => void\n onUseMemberDiscountChange?: (memberSaving: number) => void\n discount?: DiscountData\n}\n\n// const initialState: ProductContextType = {\n// isLogin: false,\n// isMobile: false,\n// product: {} as Product,\n// variant: {} as ProductVariant,\n// savingDetail: { coupon: 0, bundle: 0, member: 0, freeGift: 0, compare: 0 },\n// finalPrice: 0,\n// comparePrice: 0,\n// totalSavings: 0,\n// renderRating: null,\n// selectedOptions: {} as Options,\n// setSelectedOptions: () => {},\n// checkedBundle: undefined,\n// checkedGift: undefined,\n// setCheckedBundle: () => {},\n// setCheckedGift: () => {},\n// checkedCareBundle: undefined,\n// setCheckedCareBundle: () => {},\n// }\n\nexport const BizProductContext = createContext<ProductContextType>({} as ProductContextType)\n\nexport const useBizProductContext = () => {\n const context = useContext(BizProductContext)\n if (!context) {\n throw new Error('useProductContext must be used in <ProductProvider>')\n }\n return useContext(BizProductContext)\n}\n\nconst ProductProvider = ({\n product,\n isLogin,\n profile,\n isMobile,\n isDesktop,\n children,\n renderRating,\n freeGift,\n bundle,\n checkedBundle,\n checkedGift,\n setCheckedBundle,\n setCheckedGift,\n variant,\n selectedOptions,\n setSelectedOptions,\n compareData,\n coupon,\n finalPrice,\n comparePrice,\n totalSavings,\n savingDetail,\n setSavingDetail,\n selectedVariants,\n onAddToCart,\n onBuyNow,\n creditsRedemptionAmount,\n memberFunctionResult,\n openModal,\n openSignInPopup,\n openAuthCodePopup,\n openSignUpPopup,\n renderAffirm,\n renderKlarna,\n renderPaypal,\n onUseCouponChange,\n onUseMemberDiscountChange,\n discount,\n}: PropsWithChildren<Omit<ProductContextType, 'joinedRecommendBuyProducts' | 'setJoinedRecommendBuyProducts'>>) => {\n const [joinedRecommendBuyProducts, setJoinedRecommendBuyProducts] = useState<{\n bundle?: BundleListItem\n gift?: ProductVariant\n }>({\n bundle: undefined,\n gift: undefined,\n })\n return (\n <BizProductContext.Provider\n value={{\n product,\n variant,\n isMobile,\n isDesktop,\n isLogin,\n profile,\n coupon,\n renderRating,\n finalPrice,\n comparePrice,\n savingDetail,\n setSavingDetail,\n totalSavings,\n selectedOptions,\n setSelectedOptions,\n freeGift,\n checkedGift,\n setCheckedGift,\n checkedBundle,\n setCheckedBundle,\n bundle,\n compareData,\n selectedVariants,\n onAddToCart,\n onBuyNow,\n joinedRecommendBuyProducts,\n setJoinedRecommendBuyProducts,\n creditsRedemptionAmount,\n memberFunctionResult,\n openModal,\n openSignInPopup,\n openAuthCodePopup,\n openSignUpPopup,\n renderAffirm,\n renderKlarna,\n renderPaypal,\n onUseCouponChange,\n onUseMemberDiscountChange,\n discount,\n }}\n >\n {children}\n </BizProductContext.Provider>\n )\n}\n\nexport default ProductProvider\n"],
5
+ "mappings": "AAyMI,cAAAA,MAAA,oBAzMJ,OACE,iBAAAC,EAEA,cAAAC,EAIA,YAAAC,MACK,QAuIA,MAAMC,EAAoBH,EAAkC,CAAC,CAAuB,EAE9EI,EAAuB,IAAM,CAExC,GAAI,CADYH,EAAWE,CAAiB,EAE1C,MAAM,IAAI,MAAM,qDAAqD,EAEvE,OAAOF,EAAWE,CAAiB,CACrC,EAEME,EAAkB,CAAC,CACvB,QAAAC,EACA,QAAAC,EACA,QAAAC,EACA,SAAAC,EACA,UAAAC,EACA,SAAAC,EACA,aAAAC,EACA,SAAAC,EACA,OAAAC,EACA,cAAAC,EACA,YAAAC,EACA,iBAAAC,EACA,eAAAC,EACA,QAAAC,EACA,gBAAAC,EACA,mBAAAC,EACA,YAAAC,EACA,OAAAC,EACA,WAAAC,EACA,aAAAC,EACA,aAAAC,EACA,aAAAC,EACA,gBAAAC,EACA,iBAAAC,EACA,YAAAC,EACA,SAAAC,EACA,wBAAAC,EACA,qBAAAC,EACA,UAAAC,EACA,gBAAAC,EACA,kBAAAC,EACA,gBAAAC,EACA,aAAAC,EACA,aAAAC,EACA,aAAAC,EACA,kBAAAC,EACA,0BAAAC,EACA,SAAAC,CACF,IAAmH,CACjH,KAAM,CAACC,EAA4BC,CAA6B,EAAI3C,EAGjE,CACD,OAAQ,OACR,KAAM,MACR,CAAC,EACD,OACEH,EAACI,EAAkB,SAAlB,CACC,MAAO,CACL,QAAAG,EACA,QAAAa,EACA,SAAAV,EACA,UAAAC,EACA,QAAAH,EACA,QAAAC,EACA,OAAAe,EACA,aAAAX,EACA,WAAAY,EACA,aAAAC,EACA,aAAAE,EACA,gBAAAC,EACA,aAAAF,EACA,gBAAAN,EACA,mBAAAC,EACA,SAAAR,EACA,YAAAG,EACA,eAAAE,EACA,cAAAH,EACA,iBAAAE,EACA,OAAAH,EACA,YAAAQ,EACA,iBAAAO,EACA,YAAAC,EACA,SAAAC,EACA,2BAAAa,EACA,8BAAAC,EACA,wBAAAb,EACA,qBAAAC,EACA,UAAAC,EACA,gBAAAC,EACA,kBAAAC,EACA,gBAAAC,EACA,aAAAC,EACA,aAAAC,EACA,aAAAC,EACA,kBAAAC,EACA,0BAAAC,EACA,SAAAC,CACF,EAEC,SAAAhC,EACH,CAEJ,EAEA,IAAOmC,EAAQzC",
6
+ "names": ["jsx", "createContext", "useContext", "useState", "BizProductContext", "useBizProductContext", "ProductProvider", "product", "isLogin", "profile", "isMobile", "isDesktop", "children", "renderRating", "freeGift", "bundle", "checkedBundle", "checkedGift", "setCheckedBundle", "setCheckedGift", "variant", "selectedOptions", "setSelectedOptions", "compareData", "coupon", "finalPrice", "comparePrice", "totalSavings", "savingDetail", "setSavingDetail", "selectedVariants", "onAddToCart", "onBuyNow", "creditsRedemptionAmount", "memberFunctionResult", "openModal", "openSignInPopup", "openAuthCodePopup", "openSignUpPopup", "renderAffirm", "renderKlarna", "renderPaypal", "onUseCouponChange", "onUseMemberDiscountChange", "discount", "joinedRecommendBuyProducts", "setJoinedRecommendBuyProducts", "BizProductProvider_default"]
7
+ }
@@ -1,2 +1,2 @@
1
- import{jsx as o,jsxs as T}from"react/jsx-runtime";import{Text as c}from"../../../../components/index.js";import{useCallback as h,useEffect as O,useMemo as v,useState as g}from"react";import{cn as D}from"../../../../helpers";import E from"./ShippingMethod";import{ShippingPolicyModal as I}from"./ShippingPolicyModal";import{isWeightAvailable as b}from"./utils";import L from"./LearnMore";import{useProductContext as V}from"../../ProductProvider";const W=({metafields:i,productList:m,onShippingInfoChange:u,variant:y,className:P})=>{const{isLogin:_,openSignInPopup:w}=V(),[C,M]=g(!1),[S,N]=g(!1),[k,f]=g(null),x=v(()=>m.reduce((e,t)=>e+(t?.variant?.weight||0),0),[m]),r=h((e,t,n)=>({id:`${e.__code}__${e.price}`,code:e.__code,mode:e.__mode,title:e.title,disabled:!b(t,e),price:e.price,subtitle:e.subtitle,tag:n!==0?i?.memberOnly:"",error:b(t,e)?"":i.overWeightError}),[i?.memberOnly,i.overWeightError]),l=v(()=>{const e=i?.list?.map((t,n)=>r(t,x,n));return e?.reduce((t,n)=>{const d=e.filter(p=>p.code==n.code);let s;return d.every(p=>p.disabled)?s=d[d.length-1]:s=d.find(p=>!p.disabled),t.find(p=>s.id===p.id)?t:[...t,s]},[])},[r,i?.list,x]),a=h(e=>{u({selected_delivery_code:e.code,selected_delivery_mode:e.mode})},[u]);O(()=>{if(i?.list?.length>0&&!S){const e=r(i?.list[0],0,0);f(e),a(e),N(!0)}},[r,i?.list,a,S]);const A=h(e=>{e.disabled||(f(e),a(e))},[_,l,y.sku,a,w]);return T("div",{className:D("mt-[40px]",P),children:[o("div",{className:"flex flex-wrap justify-between space-x-2 md:space-x-1",children:o(c,{className:"text-[20px] font-bold leading-[1.4] text-[#1F2021] md:text-[16px]",html:i?.title})}),T("div",{className:"mt-[16px] flex flex-wrap gap-[12px] overflow-hidden md:mt-[12px] desktop:flex-nowrap",children:[l.map((e,t)=>o(E,{index:t,item:e,active:k?.code===e.code,toggleShipping:()=>A(e),currencyCode:y.price.currencyCode,metafields:i,className:"w-full laptop:w-[calc(50%-6px)] desktop:flex-1"},t)),o(L,{setOpenShippingPolicyModal:M,metafields:i,className:"w-full laptop:w-[calc(50%-6px)] desktop:w-1/3"})]}),l.find(e=>e?.error)&&o(c,{className:"mt-[16px] font-bold leading-[1.4] text-[#D41435] md:mt-[12px]",html:l.find(e=>e.error)?.error,as:"p"}),i?.seeAvailableArea&&o(c,{as:"div",className:"mt-[16px] font-bold leading-[1.4] text-[#1F2021] [&_a]:text-[#595959] [&_a]:underline",html:i?.seeAvailableArea}),i?.shippingPolicy&&o(I,{data:i?.shippingPolicy,onClose:()=>M(!1),open:C})]})};var Q=W;export{Q as default};
1
+ import{jsx as o,jsxs as T}from"react/jsx-runtime";import{Text as c}from"../../../../components/index.js";import{useCallback as h,useEffect as O,useMemo as v,useState as g}from"react";import{cn as z}from"../../../../helpers";import D from"./ShippingMethod";import{ShippingPolicyModal as E}from"./ShippingPolicyModal";import{isWeightAvailable as b}from"./utils";import I from"./LearnMore";import{useBizProductContext as L}from"../../BizProductProvider.js";const V=({metafields:i,productList:m,onShippingInfoChange:u,variant:y,className:P})=>{const{isLogin:_,openSignInPopup:w}=L(),[C,M]=g(!1),[S,N]=g(!1),[k,f]=g(null),x=v(()=>m.reduce((e,t)=>e+(t?.variant?.weight||0),0),[m]),r=h((e,t,n)=>({id:`${e.__code}__${e.price}`,code:e.__code,mode:e.__mode,title:e.title,disabled:!b(t,e),price:e.price,subtitle:e.subtitle,tag:n!==0?i?.memberOnly:"",error:b(t,e)?"":i.overWeightError}),[i?.memberOnly,i.overWeightError]),l=v(()=>{const e=i?.list?.map((t,n)=>r(t,x,n));return e?.reduce((t,n)=>{const d=e.filter(p=>p.code==n.code);let s;return d.every(p=>p.disabled)?s=d[d.length-1]:s=d.find(p=>!p.disabled),t.find(p=>s.id===p.id)?t:[...t,s]},[])},[r,i?.list,x]),a=h(e=>{u({selected_delivery_code:e.code,selected_delivery_mode:e.mode})},[u]);O(()=>{if(i?.list?.length>0&&!S){const e=r(i?.list[0],0,0);f(e),a(e),N(!0)}},[r,i?.list,a,S]);const A=h(e=>{e.disabled||(f(e),a(e))},[_,l,y.sku,a,w]);return T("div",{className:z("mt-[40px]",P),children:[o("div",{className:"flex flex-wrap justify-between space-x-2 md:space-x-1",children:o(c,{className:"text-[20px] font-bold leading-[1.4] text-[#1F2021] md:text-[16px]",html:i?.title})}),T("div",{className:"mt-[16px] flex flex-wrap gap-[12px] overflow-hidden md:mt-[12px] desktop:flex-nowrap",children:[l.map((e,t)=>o(D,{index:t,item:e,active:k?.code===e.code,toggleShipping:()=>A(e),currencyCode:y.price.currencyCode,metafields:i,className:"w-full laptop:w-[calc(50%-6px)] desktop:flex-1"},t)),o(I,{setOpenShippingPolicyModal:M,metafields:i,className:"w-full laptop:w-[calc(50%-6px)] desktop:w-1/3"})]}),l.find(e=>e?.error)&&o(c,{className:"mt-[16px] font-bold leading-[1.4] text-[#D41435] md:mt-[12px]",html:l.find(e=>e.error)?.error,as:"p"}),i?.seeAvailableArea&&o(c,{as:"div",className:"mt-[16px] font-bold leading-[1.4] text-[#1F2021] [&_a]:text-[#595959] [&_a]:underline",html:i?.seeAvailableArea}),i?.shippingPolicy&&o(E,{data:i?.shippingPolicy,onClose:()=>M(!1),open:C})]})};var Q=V;export{Q as default};
2
2
  //# sourceMappingURL=index.js.map