@gem-sdk/components 12.0.0-dev.52 → 12.0.0-dev.54

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),React=require("react"),core=require("@gem-sdk/core"),FeatureImageWithGalleryImage=require("./layouts/FeatureImageWithGalleryImage.js"),FeatureImage=require("./FeatureImage.js"),OnlyGalleryImage=require("./layouts/OnlyGalleryImage.js"),system=require("@gem-sdk/system"),classes=require("../../common/classes.js");const PostPurchaseProductImages=e=>{let{setting:s,styles:t,builderProps:r,builderAttrs:a,style:l,children:u}=e,i={...s,...t},{layoutType:m="bottom-center"}=i,c=core.useProduct(),g=e=>e?.medias?.edges.filter(e=>!["VIDEO","EXTERNAL_VIDEO","MODEL_3D"].includes(e.node?.contentType||"")).map(e=>e?.node),n=e=>!!e&&["EXTERNAL_VIDEO","MODEL_3D","VIDEO"].includes(e),o=React.useMemo(()=>{let e=g(c)?.map(e=>(e&&(e.src=n(e.contentType)?e?.previewImage:e.src),e));return e?.length?e:[{id:c?.featuredImage?.id||"noImageError",src:c?.featuredImage?.src||"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif",width:c?.featuredImage?.width||480,height:c?.featuredImage?.height||480}]},[c]),d=()=>["bottom-center","left","right"].includes(m)?jsxRuntime.jsx(FeatureImageWithGalleryImage.default,{gallery:o,builderProps:r,setting:s,styles:t}):["one-col","two-col"].includes(m)?jsxRuntime.jsx(OnlyGalleryImage.default,{gallery:o,builderProps:r,setting:s,styles:t}):jsxRuntime.jsx(FeatureImage.default,{gallery:o,styles:t,setting:s}),y=system.createClass(classes.getProductImageClass({align:i?.align})),I=system.createStyle({...l});return jsxRuntime.jsxs("div",{...a,className:y,style:I,children:[jsxRuntime.jsx("div",{className:y,children:d()}),u]})};exports.default=PostPurchaseProductImages;
2
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),React=require("react"),core=require("@gem-sdk/core"),FeatureImageWithGalleryImage=require("./layouts/FeatureImageWithGalleryImage.js"),FeatureImage=require("./FeatureImage.js"),OnlyGalleryImage=require("./layouts/OnlyGalleryImage.js"),system=require("@gem-sdk/system"),classes=require("../../common/classes.js");const PostPurchaseProductImages=e=>{let{setting:s,styles:t,builderProps:r,builderAttrs:a,style:l,children:u}=e,i={...s,...t},{layoutType:m="bottom-center"}=i,c=core.useProduct(),g=e=>e?.medias?.edges.filter(e=>!["VIDEO","EXTERNAL_VIDEO","MODEL_3D"].includes(e.node?.contentType||"")).map(e=>e?.node),n=e=>!!e&&["EXTERNAL_VIDEO","MODEL_3D","VIDEO"].includes(e),o=React.useMemo(()=>{let e=g(c)?.map(e=>(e&&(e.src=n(e.contentType)?e?.previewImage:e.src),e));return e?.length?e:[{id:c?.featuredImage?.id||"noImageError",baseID:c?.featuredImage?.baseID||"noImageError",src:c?.featuredImage?.src||"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif",width:c?.featuredImage?.width||480,height:c?.featuredImage?.height||480}]},[c]),d=()=>["bottom-center","left","right"].includes(m)?jsxRuntime.jsx(FeatureImageWithGalleryImage.default,{gallery:o,builderProps:r,setting:s,styles:t}):["one-col","two-col"].includes(m)?jsxRuntime.jsx(OnlyGalleryImage.default,{gallery:o,builderProps:r,setting:s,styles:t}):jsxRuntime.jsx(FeatureImage.default,{gallery:o,styles:t,setting:s}),I=system.createClass(classes.getProductImageClass({align:i?.align})),y=system.createStyle({...l});return jsxRuntime.jsxs("div",{...a,className:I,style:y,children:[jsxRuntime.jsx("div",{className:I,children:d()}),u]})};exports.default=PostPurchaseProductImages;
@@ -1 +1 @@
1
- "use strict";const productOfferPlaceholder={id:"",title:"Dynamic product",description:"This is a dynamic product. The actual product will appear here based on your setup",descriptionHtml:'<p class="QN2lPu">This is a dynamic product. The actual product will</p>\n<p class="QN2lPu">appear here based on your setup</p>',createdAt:"2024-07-01T04:19:51.286753Z",handle:"dynamic-product",averageRating:0,isStorefront:!0,isSample:!1,baseID:"",sku:"",options:[{id:"1",name:"Variant",optionType:"",values:[{id:"1",label:"Variant option",isDefault:!0,baseID:""}]}],vendor:"",featuredImage:{id:"542178560626918105",contentType:"IMAGE",previewImage:"",src:"https://cdn.shopify.com/s/files/1/0858/3168/0279/files/gempages_502328832959710176-312cf60c-d923-4913-9873-66545effe9cc.png",width:449,height:449,alt:""},collections:{edges:[{node:{id:"502321959132988135",title:"Home page"}},{node:{id:"539286505089204764",title:"b"}},{node:{id:"539286505089401372",title:"e"}}]},tags:[],medias:{edges:[{cursor:"gqFpzweGNIc/AALZoXYB",node:{id:"542178560626918105",contentType:"IMAGE",previewImage:"",src:"https://cdn.shopify.com/s/files/1/0858/3168/0279/files/gempages_502328832959710176-312cf60c-d923-4913-9873-66545effe9cc.png",width:449,height:449,alt:""}}],pageInfo:{endCursor:"gqFpzweGNIc/AALZoXYB",hasNextPage:!0}},variants:{edges:[{cursor:"gqFpzwc5ZqRtDAMIoXYC",node:{id:"520560088328176392",title:"Default Title",barcode:"",baseID:"gid://shopify/ProductVariant/49298248925463",costPrice:"88",height:0,inventoryPolicy:"DENY",inventoryQuantity:211,inventoryStatus:"",isDigital:!0,length:0,lowInventoryAmount:0,manageInventory:!1,mediaId:"0",platform:"SHOPIFY",price:"88",salePrice:"88",sku:"",soldIndividually:!1,weight:0,width:0,selectedOptions:[],media:void 0}},{cursor:"gqFpzwc5ZqRtDAMIoXYC",node:{id:"520560088328176392",title:"Default Title",barcode:"",baseID:"gid://shopify/ProductVariant/49298248925463",costPrice:"88",height:0,inventoryPolicy:"DENY",inventoryQuantity:211,inventoryStatus:"",isDigital:!0,length:0,lowInventoryAmount:0,manageInventory:!1,mediaId:"0",platform:"SHOPIFY",price:"88",salePrice:"88",sku:"",soldIndividually:!1,weight:0,width:0,selectedOptions:[],media:void 0}}],pageInfo:{hasNextPage:!1,endCursor:"gaFpzwc5ZqRtDAMI"}}};exports.productOfferPlaceholder=productOfferPlaceholder;
1
+ "use strict";const productOfferPlaceholder={id:"",title:"Dynamic product",description:"This is a dynamic product. The actual product will appear here based on your setup",descriptionHtml:'<p class="QN2lPu">This is a dynamic product. The actual product will</p>\n<p class="QN2lPu">appear here based on your setup</p>',createdAt:"2024-07-01T04:19:51.286753Z",handle:"dynamic-product",averageRating:0,isStorefront:!0,isSample:!1,baseID:"",sku:"",options:[{id:"1",name:"Variant",optionType:"",values:[{id:"1",label:"Variant option",isDefault:!0,baseID:""}]}],vendor:"",featuredImage:{id:"542178560626918105",baseID:"",contentType:"IMAGE",previewImage:"",src:"https://cdn.shopify.com/s/files/1/0858/3168/0279/files/gempages_502328832959710176-312cf60c-d923-4913-9873-66545effe9cc.png",width:449,height:449,alt:""},collections:{edges:[{node:{id:"502321959132988135",title:"Home page"}},{node:{id:"539286505089204764",title:"b"}},{node:{id:"539286505089401372",title:"e"}}]},tags:[],medias:{edges:[{cursor:"gqFpzweGNIc/AALZoXYB",node:{id:"542178560626918105",baseID:"",contentType:"IMAGE",previewImage:"",src:"https://cdn.shopify.com/s/files/1/0858/3168/0279/files/gempages_502328832959710176-312cf60c-d923-4913-9873-66545effe9cc.png",width:449,height:449,alt:""}}],pageInfo:{endCursor:"gqFpzweGNIc/AALZoXYB",hasNextPage:!0}},variants:{edges:[{cursor:"gqFpzwc5ZqRtDAMIoXYC",node:{id:"520560088328176392",title:"Default Title",barcode:"",baseID:"gid://shopify/ProductVariant/49298248925463",costPrice:"88",height:0,inventoryPolicy:"DENY",inventoryQuantity:211,inventoryStatus:"",isDigital:!0,length:0,lowInventoryAmount:0,manageInventory:!1,mediaId:"0",platform:"SHOPIFY",price:"88",salePrice:"88",sku:"",soldIndividually:!1,weight:0,width:0,selectedOptions:[],media:void 0}},{cursor:"gqFpzwc5ZqRtDAMIoXYC",node:{id:"520560088328176392",title:"Default Title",barcode:"",baseID:"gid://shopify/ProductVariant/49298248925463",costPrice:"88",height:0,inventoryPolicy:"DENY",inventoryQuantity:211,inventoryStatus:"",isDigital:!0,length:0,lowInventoryAmount:0,manageInventory:!1,mediaId:"0",platform:"SHOPIFY",price:"88",salePrice:"88",sku:"",soldIndividually:!1,weight:0,width:0,selectedOptions:[],media:void 0}}],pageInfo:{hasNextPage:!1,endCursor:"gaFpzwc5ZqRtDAMI"}}};exports.productOfferPlaceholder=productOfferPlaceholder;
@@ -1 +1 @@
1
- "use strict";var React=require("react"),core=require("@gem-sdk/core"),getPrice=require("../helpers/product-price-breakdown/getPrice.js");const useRecurringSubtotal=()=>{let e=core.useCurrentVariant(),r=core.useProduct(),i=core.useProductStore(e=>e.selectedSellingPlan),{quantity:l}=core.useQuantity(),t=e?.sellingPlanGroups,n=r?.sellingPlanGroups,u=core.convertDecimalToNumber(e?.price)??0,c=React.useMemo(()=>{if(!i)return null;let l=e?.sellingPlanGroups??r?.sellingPlanGroups??[];for(let e of l)if(e?.sellingPlans){for(let r of e.sellingPlans)if(r?.baseID===i)return r}return null},[JSON.stringify(t),JSON.stringify(n),i]),o=JSON.stringify(c?.pricingPolicies),s=JSON.stringify(c?.billingPolicy),a=c?.baseID,g=React.useMemo(()=>{if(!a||!e||u<=0||!c)return 0;let r=getPrice.calculateRecurringPrice({variantPrice:u,pricingPolicies:c.pricingPolicies}),i=r*(l||1);return parseFloat(core.shopifyPriceRounding(i,2))},[o,u,l,a]),P=React.useMemo(()=>{if(!a||!c)return null;let e=c.billingPolicy;return getPrice.formatInterval({billingPolicy:e})},[s,a]),f=core.useFormatMoney(g,!1),p=React.useMemo(()=>a&&!(g<=0)&&P?`${f} ${P}`:null,[a,g,P,f]);return p};exports.useRecurringSubtotal=useRecurringSubtotal;
1
+ "use strict";var React=require("react"),core=require("@gem-sdk/core"),getPrice=require("../helpers/product-price-breakdown/getPrice.js");const useRecurringSubtotal=()=>{let e=core.useCurrentVariant(),r=core.useProduct(),i=core.useProductStore(e=>e.selectedSellingPlan),{quantity:l}=core.useQuantity(),t=e?.sellingPlanGroups,n=r?.sellingPlanGroups,u=core.convertDecimalToNumber(e?.price)??0,c=React.useMemo(()=>{if(!i)return null;let l=e?.sellingPlanGroups??r?.sellingPlanGroups??[];for(let e of l)if(e?.sellingPlans){for(let r of e.sellingPlans)if(r?.baseID===i)return r}return null},[JSON.stringify(t),JSON.stringify(n),i]),o=JSON.stringify(c?.pricingPolicies),s=JSON.stringify(c?.billingPolicy),a=c?.baseID,g=React.useMemo(()=>{if(!a||!e||u<=0||!c)return 0;let r=getPrice.calculateRecurringPrice({variantPrice:u,pricingPolicies:c.pricingPolicies}),i=r*(l||1);return parseFloat(core.shopifyPriceRounding(i,2))},[o,u,l,a]),P=React.useMemo(()=>{if(!a||!c)return null;let e=c.billingPolicy;return getPrice.formatInterval({billingPolicy:e})},[s,a]),f=core.useFormatMoney(Math.max(g,0),!1),p=React.useMemo(()=>a&&P?`${f} ${P}`:null,[a,P,f]);return p};exports.useRecurringSubtotal=useRecurringSubtotal;
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),core=require("@gem-sdk/core"),React=require("react"),ProductFeaturedImage=require("./product-images/ProductFeaturedImage.js"),productImage=require("../helpers/product-image.js"),helpers=require("./product-images/common/helpers.js"),ProductGalleryCarousel=require("./product-images/ProductGalleryCarousel.js"),ProductGalleryGrid=require("./product-images/ProductGalleryGrid.js"),ProductImagesLightBox=require("./product-images/ProductImagesLightBox.js"),productGallery=require("./product-images/common/productGallery.js");const DEVICES=["mobile","tablet","desktop"],getProductGallery=e=>e?.medias?.edges.map(e=>e?.node),ProductImages=e=>{let{setting:t,styles:r,builderProps:i,builderAttrs:o,style:s,children:l}=e,a={...e.styles,...e.setting},u={...e.styles,...e.setting},c=core.useProduct(),g=core.useCurrentDevice(),n=core.useCurrentVariant(),d=core.useProductStore(e=>e.setProductFeaturedImage),[p,m]=React.useState(!1),[f,h]=React.useState(100),y=React.useRef(null),b=core.getResponsiveValueByScreen(t?.galleryVisible,g),I=core.getResponsiveValueByScreen(t?.featureImageVisible,g),R=React.useMemo(()=>core.getResponsiveValueByScreen(r?.position,g),[g,r?.position]),j=React.useMemo(()=>productGallery.getStyleWidthForGallery({galleryVisible:t?.galleryVisible,featureImageVisible:t?.featureImageVisible,position:r?.position,width:r?.width,widthHorizontalLayout:r?.widthHorizontalLayout}),[r?.position,r?.width,r?.widthHorizontalLayout,t?.galleryVisible,t?.featureImageVisible]),x=React.useMemo(()=>{let e=getProductGallery(c);return e?.length?e:[{id:c?.featuredImage?.id??"noImageError",src:c?.featuredImage?.src??"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif",width:c?.featuredImage?.width??480,height:c?.featuredImage?.height??480}]},[c]),V=React.useMemo(()=>helpers.getStyleAlignment(r?.align,r?.position),[r?.position,r?.align]),P=React.useMemo(()=>x.reduce((e,t,r)=>t?{...e,[t.id]:r}:e,{}),[x]),v=React.useMemo(()=>productGallery.getStyleGallerySpacing(r?.position,r?.gallerySpacing),[r?.position,r?.gallerySpacing]),S=React.useMemo(()=>helpers.checkAddOverFlowClass(s),[s]),G=React.useMemo(()=>{let e={};return DEVICES.forEach(i=>{let o=helpers.convertUnitToNumber(r?.height?.[i],0),s=core.getResponsiveValueByScreen(t?.galleryVisible,i),l=core.getResponsiveValueByScreen(t?.featureImageVisible,i),a=core.getResponsiveValueByScreen(r?.position,i),u=("left"===a||"right"===a)&&s&&l;e=o?"number"==typeof r?.height?.[i]?{...e,[i]:r?.height?.[i]+"px"}:r?.height?.[i]?.includes("%")?{...e,[i]:helpers.convertUnitToNumber(r?.height?.[i],f)*f/100+"px"}:{...e,[i]:r?.height?.[i]}:{...e,[i]:u?f+"px":"auto"}}),e},[f,r?.height,r?.position,t?.featureImageVisible,t?.galleryVisible]),w=React.useCallback(()=>core.makeStyleResponsive("h",core.makeHeight(G)),[G]);React.useEffect(()=>{if(n){let e=P[n?.mediaId]??0,t=x[e]??c?.featuredImage;t&&d(t)}},[n,P,x,c?.featuredImage,d]),React.useEffect(()=>{let e=null;return y?.current&&(e=new ResizeObserver(()=>{h(y?.current?.offsetHeight??0)})).observe(y.current,{}),()=>{e?.disconnect()}},[t?.featureImageVisible,g]),React.useEffect(()=>{t?.featureImageVisible&&setTimeout(()=>{h(y?.current?.offsetHeight??0)},100)},[t?.featureImageVisible,g]);let k=e=>{if(!e)return;let t=P[e];if(void 0!==t){let e=x[t];e&&d(e)}},B=e=>{let r=t?.clickEffect=="popup"||core.getResponsiveValueByScreen(t?.largeViewInPopup,g);r&&m(!0),k(e)},C=e=>{let r=core.getResponsiveValueByScreen(t?.largeViewInPopup,g);r&&B(e),k(e)};return jsxRuntime.jsxs("div",{...o,className:core.cls(i?.uid,{"gp-overflow-hidden":S}),style:{...s},children:[jsxRuntime.jsxs("div",{className:core.cls("gp-flex gp-w-full",{...productImage.getFlexDirection(e)}),style:{...V},children:[I&&jsxRuntime.jsx(ProductFeaturedImage.default,{imgRef:y,productImages:x,...a,onOpenLightBox:()=>m(!0)}),b&&x.length>1&&jsxRuntime.jsx("div",{className:core.cls("gp-product-images-gallery gp-inline-flex gp-h-fit gp-max-w-full",{"gp-justify-start":r?.position?.desktop=="bottom-left","tablet:gp-justify-start":r?.position?.tablet=="bottom-left","mobile:gp-justify-start":r?.position?.mobile=="bottom-left","gp-justify-center":r?.position?.desktop=="bottom-center","tablet:gp-justify-center":r?.position?.tablet=="bottom-center","mobile:gp-justify-center":r?.position?.mobile=="bottom-center","gp-mx-auto":"bottom-center"==R}),style:{...core.makeStyle({fs:"1.23"}),...j,...v,...w()},children:"slider"===helpers.getTypeWidthDevice(t?.type)[g]||"left"===R||"right"===R?jsxRuntime.jsx(ProductGalleryCarousel.default,{productImages:x,...u,builderPropUID:i?.uid,onHandleClick:e=>C(e||"")}):jsxRuntime.jsx(ProductGalleryGrid.default,{productImages:x,...u,builderPropUID:i?.uid,onHandleClick:e=>C(e||"")})})]}),(t?.clickEffect=="popup"||core.getResponsiveValueByScreen(t?.largeViewInPopup,g))&&jsxRuntime.jsx(ProductImagesLightBox.default,{productImages:x,builderPropUID:i?.uid,open:p,onHandleClose:()=>m(!1),imageRatio:r?.ftAspectRatio}),l]})};exports.default=ProductImages;
2
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),core=require("@gem-sdk/core"),React=require("react"),ProductFeaturedImage=require("./product-images/ProductFeaturedImage.js"),productImage=require("../helpers/product-image.js"),helpers=require("./product-images/common/helpers.js"),ProductGalleryCarousel=require("./product-images/ProductGalleryCarousel.js"),ProductGalleryGrid=require("./product-images/ProductGalleryGrid.js"),ProductImagesLightBox=require("./product-images/ProductImagesLightBox.js"),productGallery=require("./product-images/common/productGallery.js");const DEVICES=["mobile","tablet","desktop"],getProductGallery=e=>e?.medias?.edges.map(e=>e?.node),ProductImages=e=>{let{setting:t,styles:r,builderProps:i,builderAttrs:o,style:s,children:a}=e,l={...e.styles,...e.setting},u={...e.styles,...e.setting},c=core.useProduct(),g=core.useCurrentDevice(),n=core.useCurrentVariant(),d=core.useProductStore(e=>e.setProductFeaturedImage),[p,m]=React.useState(!1),[f,h]=React.useState(100),y=React.useRef(null),b=core.getResponsiveValueByScreen(t?.galleryVisible,g),I=core.getResponsiveValueByScreen(t?.featureImageVisible,g),R=React.useMemo(()=>core.getResponsiveValueByScreen(r?.position,g),[g,r?.position]),j=React.useMemo(()=>productGallery.getStyleWidthForGallery({galleryVisible:t?.galleryVisible,featureImageVisible:t?.featureImageVisible,position:r?.position,width:r?.width,widthHorizontalLayout:r?.widthHorizontalLayout}),[r?.position,r?.width,r?.widthHorizontalLayout,t?.galleryVisible,t?.featureImageVisible]),x=React.useMemo(()=>{let e=getProductGallery(c);return e?.length?e:[{id:c?.featuredImage?.id??"noImageError",baseID:c?.featuredImage?.baseID??"noImageError",src:c?.featuredImage?.src??"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif",width:c?.featuredImage?.width??480,height:c?.featuredImage?.height??480}]},[c]),V=React.useMemo(()=>helpers.getStyleAlignment(r?.align,r?.position),[r?.position,r?.align]),P=React.useMemo(()=>x.reduce((e,t,r)=>t?{...e,[t.id]:r}:e,{}),[x]),v=React.useMemo(()=>productGallery.getStyleGallerySpacing(r?.position,r?.gallerySpacing),[r?.position,r?.gallerySpacing]),S=React.useMemo(()=>helpers.checkAddOverFlowClass(s),[s]),G=React.useMemo(()=>{let e={};return DEVICES.forEach(i=>{let o=helpers.convertUnitToNumber(r?.height?.[i],0),s=core.getResponsiveValueByScreen(t?.galleryVisible,i),a=core.getResponsiveValueByScreen(t?.featureImageVisible,i),l=core.getResponsiveValueByScreen(r?.position,i),u=("left"===l||"right"===l)&&s&&a;e=o?"number"==typeof r?.height?.[i]?{...e,[i]:r?.height?.[i]+"px"}:r?.height?.[i]?.includes("%")?{...e,[i]:helpers.convertUnitToNumber(r?.height?.[i],f)*f/100+"px"}:{...e,[i]:r?.height?.[i]}:{...e,[i]:u?f+"px":"auto"}}),e},[f,r?.height,r?.position,t?.featureImageVisible,t?.galleryVisible]),w=React.useCallback(()=>core.makeStyleResponsive("h",core.makeHeight(G)),[G]);React.useEffect(()=>{if(n){let e=P[n?.mediaId]??0,t=x[e]??c?.featuredImage;t&&d(t)}},[n,P,x,c?.featuredImage,d]),React.useEffect(()=>{let e=null;return y?.current&&(e=new ResizeObserver(()=>{h(y?.current?.offsetHeight??0)})).observe(y.current,{}),()=>{e?.disconnect()}},[t?.featureImageVisible,g]),React.useEffect(()=>{t?.featureImageVisible&&setTimeout(()=>{h(y?.current?.offsetHeight??0)},100)},[t?.featureImageVisible,g]);let k=e=>{if(!e)return;let t=P[e];if(void 0!==t){let e=x[t];e&&d(e)}},B=e=>{let r=t?.clickEffect=="popup"||core.getResponsiveValueByScreen(t?.largeViewInPopup,g);r&&m(!0),k(e)},C=e=>{let r=core.getResponsiveValueByScreen(t?.largeViewInPopup,g);r&&B(e),k(e)};return jsxRuntime.jsxs("div",{...o,className:core.cls(i?.uid,{"gp-overflow-hidden":S}),style:{...s},children:[jsxRuntime.jsxs("div",{className:core.cls("gp-flex gp-w-full",{...productImage.getFlexDirection(e)}),style:{...V},children:[I&&jsxRuntime.jsx(ProductFeaturedImage.default,{imgRef:y,productImages:x,...l,onOpenLightBox:()=>m(!0)}),b&&x.length>1&&jsxRuntime.jsx("div",{className:core.cls("gp-product-images-gallery gp-inline-flex gp-h-fit gp-max-w-full",{"gp-justify-start":r?.position?.desktop=="bottom-left","tablet:gp-justify-start":r?.position?.tablet=="bottom-left","mobile:gp-justify-start":r?.position?.mobile=="bottom-left","gp-justify-center":r?.position?.desktop=="bottom-center","tablet:gp-justify-center":r?.position?.tablet=="bottom-center","mobile:gp-justify-center":r?.position?.mobile=="bottom-center","gp-mx-auto":"bottom-center"==R}),style:{...core.makeStyle({fs:"1.23"}),...j,...v,...w()},children:"slider"===helpers.getTypeWidthDevice(t?.type)[g]||"left"===R||"right"===R?jsxRuntime.jsx(ProductGalleryCarousel.default,{productImages:x,...u,builderPropUID:i?.uid,onHandleClick:e=>C(e||"")}):jsxRuntime.jsx(ProductGalleryGrid.default,{productImages:x,...u,builderPropUID:i?.uid,onHandleClick:e=>C(e||"")})})]}),(t?.clickEffect=="popup"||core.getResponsiveValueByScreen(t?.largeViewInPopup,g))&&jsxRuntime.jsx(ProductImagesLightBox.default,{productImages:x,builderPropUID:i?.uid,open:p,onHandleClose:()=>m(!1),imageRatio:r?.ftAspectRatio}),a]})};exports.default=ProductImages;
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),common=require("./common/common.js"),core=require("@gem-sdk/core"),React=require("react"),FeatureImageWithGallery=require("./components/feature-gallery/FeatureImageWithGallery.js"),OnlyFeatureImage=require("./components/feature-only/OnlyFeatureImage.js"),ProductImagesLightBox=require("./components/lightbox/ProductImagesLightBox.js"),NoDataState=require("../../../common/components/NoDataState.js"),getProductImagesClassName=require("./composables/getProductImagesClassName.js"),getBorderActiveCss=require("./common/getBorderActiveCss.js"),GalleryGrid=require("./components/gallery-grid/GalleryGrid.js");const getProductGallery=e=>e?.medias?.edges.map(e=>e?.node),LAYOUT_FEATURE_IMAGE_GALLERY=["bottom-left","bottom-center","left","right","inside-left","inside-right","inside-bottom"],ProductImagesV2=e=>{let t=React.useMemo(()=>common.setDefaultWhenUndefineSetting(e),[e]),{redirectProductShopifyLink:a}=core.useProductShopifyEditLink(),{setting:i,styles:o,builderProps:l,builderAttrs:r,style:C,children:s}=t,d=core.useProduct(),c=core.useCurrentDevice(),n=core.useCurrentVariant(),{isChangeSelectedOption:u}=core.useSelectedOption(),m=core.useEditorMode(),g=core.useProductStore(e=>e.setProductFeaturedImage),[p,f]=React.useState(!1),h=e=>e?.medias?.edges.find(e=>["VIDEO","EXTERNAL_VIDEO"].includes(e?.node?.contentType??""))?.node,y=e=>e?.featuredImage,I=e=>e?.medias?.edges.find(e=>e?.node?.contentType==="MODEL_3D")?.node,M=React.useMemo(()=>i?.typeDisplay==="all-images"&&!u,[u,i?.typeDisplay]),D=React.useMemo(()=>{if(M){let e;switch(i?.preDisplay){case"1st-images":e=y(d);break;case"1st-3d-mode":e=I(d);break;case"1st-video":e=h(d);break;case"1st-available-variant":e=n?.media}return g(e),e}},[M,i?.preDisplay,g,d,n?.media]),x=React.useMemo(()=>{let e=getProductGallery(d);return e?.length?e:[{id:d?.featuredImage?.id||"noImageError",src:d?.featuredImage?.src||"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif",width:d?.featuredImage?.width||480,height:d?.featuredImage?.height||480}]},[d]),R=React.useMemo(()=>x.reduce((e,t,a)=>t?{...e,[t.id]:a}:e,{}),[x]),b=React.useMemo(()=>core.getResponsiveValueByScreen(o?.position,c),[c,o?.position]),j=(e,t)=>{v(e),t&&E()},E=()=>{f(!0)},v=e=>{if(!e)return;let t=R[e];if(void 0!==t){let e=x[t];e&&g(e)}};React.useEffect(()=>{if(n&&!M){let e=R[n?.mediaId];if(void 0!==e){let t=x[e]??d?.featuredImage;t&&g(t)}}},[n,R,x,d?.featuredImage,g,M]);let P=React.useMemo(()=>{let e="popup"===core.getResponsiveValueByScreen(i?.ftClickOpenLightBox,c)||core.getResponsiveValueByScreen(i?.clickOpenLightBox,c);return e||"edit"!==m||window?.parent?.postMessage?.(JSON.stringify({type:"active-modal",value:open}),"*"),e},[i?.ftClickOpenLightBox,i?.clickOpenLightBox,c,m]),L=()=>x.length>0?React.Children.map(core.filterToolbarPreview(s),e=>React.isValidElement(e)?jsxRuntime.jsx(e.type,{...e.props,isInsideProductImage:!0,navigationPosition:i?.ftNavigationPosition,imageData:{imageShape:o?.ftShape,imageAlign:o?.align,imageLayout:o?.position},dotData:{dotSize:i?.ftDotSize,dotGapToCarousel:i?.ftDotGapToCarousel,dotStyle:i?.ftDotStyle}}):null):null,V=`
2
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),common=require("./common/common.js"),core=require("@gem-sdk/core"),React=require("react"),FeatureImageWithGallery=require("./components/feature-gallery/FeatureImageWithGallery.js"),OnlyFeatureImage=require("./components/feature-only/OnlyFeatureImage.js"),ProductImagesLightBox=require("./components/lightbox/ProductImagesLightBox.js"),NoDataState=require("../../../common/components/NoDataState.js"),getProductImagesClassName=require("./composables/getProductImagesClassName.js"),getBorderActiveCss=require("./common/getBorderActiveCss.js"),GalleryGrid=require("./components/gallery-grid/GalleryGrid.js");const getProductGallery=e=>e?.medias?.edges.map(e=>e?.node),LAYOUT_FEATURE_IMAGE_GALLERY=["bottom-left","bottom-center","left","right","inside-left","inside-right","inside-bottom"],ProductImagesV2=e=>{let t=React.useMemo(()=>common.setDefaultWhenUndefineSetting(e),[e]),{redirectProductShopifyLink:a}=core.useProductShopifyEditLink(),{setting:i,styles:o,builderProps:l,builderAttrs:r,style:C,children:s}=t,d=core.useProduct(),n=core.useCurrentDevice(),c=core.useCurrentVariant(),{isChangeSelectedOption:u}=core.useSelectedOption(),m=core.useEditorMode(),g=core.useProductStore(e=>e.setProductFeaturedImage),[p,f]=React.useState(!1),h=e=>e?.medias?.edges.find(e=>["VIDEO","EXTERNAL_VIDEO"].includes(e?.node?.contentType??""))?.node,y=e=>e?.featuredImage,I=e=>e?.medias?.edges.find(e=>e?.node?.contentType==="MODEL_3D")?.node,D=React.useMemo(()=>i?.typeDisplay==="all-images"&&!u,[u,i?.typeDisplay]),M=React.useMemo(()=>{if(D){let e;switch(i?.preDisplay){case"1st-images":e=y(d);break;case"1st-3d-mode":e=I(d);break;case"1st-video":e=h(d);break;case"1st-available-variant":e=c?.media}return g(e),e}},[D,i?.preDisplay,g,d,c?.media]),b=React.useMemo(()=>{let e=getProductGallery(d);return e?.length?e:[{id:d?.featuredImage?.id||"noImageError",baseID:d?.featuredImage?.baseID||"noImageError",src:d?.featuredImage?.src||"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif",width:d?.featuredImage?.width||480,height:d?.featuredImage?.height||480}]},[d]),x=React.useMemo(()=>b.reduce((e,t,a)=>t?{...e,[t.id]:a}:e,{}),[b]),R=React.useMemo(()=>core.getResponsiveValueByScreen(o?.position,n),[n,o?.position]),E=(e,t)=>{v(e),t&&j()},j=()=>{f(!0)},v=e=>{if(!e)return;let t=x[e];if(void 0!==t){let e=b[t];e&&g(e)}};React.useEffect(()=>{if(c&&!D){let e=x[c?.mediaId];if(void 0!==e){let t=b[e]??d?.featuredImage;t&&g(t)}}},[c,x,b,d?.featuredImage,g,D]);let P=React.useMemo(()=>{let e="popup"===core.getResponsiveValueByScreen(i?.ftClickOpenLightBox,n)||core.getResponsiveValueByScreen(i?.clickOpenLightBox,n);return e||"edit"!==m||window?.parent?.postMessage?.(JSON.stringify({type:"active-modal",value:open}),"*"),e},[i?.ftClickOpenLightBox,i?.clickOpenLightBox,n,m]),L=()=>b.length>0?React.Children.map(core.filterToolbarPreview(s),e=>React.isValidElement(e)?jsxRuntime.jsx(e.type,{...e.props,isInsideProductImage:!0,navigationPosition:i?.ftNavigationPosition,imageData:{imageShape:o?.ftShape,imageAlign:o?.align,imageLayout:o?.position},dotData:{dotSize:i?.ftDotSize,dotGapToCarousel:i?.ftDotGapToCarousel,dotStyle:i?.ftDotStyle}}):null):null,V=`
3
3
  <svg viewBox="0 0 452 400" fill="none" xmlns="http://www.w3.org/2000/svg">
4
4
  <path d="M0 7.99999C0 3.58171 3.58172 0 8 0H444C448.418 0 452 3.58172 452 8V392C452 396.418 448.418 400 444 400H8C3.58173 400 0 396.418 0 392V7.99999Z" fill="#F9F9F9"/>
5
5
  <path d="M208.148 348.801C239.683 348.75 265.245 347.272 265.242 345.499C265.239 343.726 239.673 342.33 208.138 342.381C176.603 342.432 151.041 343.91 151.044 345.683C151.047 347.456 176.614 348.851 208.148 348.801Z" fill="#E6E6E6"/>
@@ -23,4 +23,4 @@
23
23
  <path opacity="0.2" d="M293.196 231.862C306.954 231.862 318.106 217.921 318.106 200.724C318.106 183.527 306.954 169.586 293.196 169.586C279.439 169.586 268.286 183.527 268.286 200.724C268.286 217.921 279.439 231.862 293.196 231.862Z" fill="white"/>
24
24
  <path opacity="0.2" d="M293.196 247.637C313.923 247.637 330.726 226.634 330.726 200.725C330.726 174.816 313.923 153.812 293.196 153.812C272.469 153.812 255.666 174.816 255.666 200.725C255.666 226.634 272.469 247.637 293.196 247.637Z" fill="white"/>
25
25
  </svg>
26
- `,Z=jsxRuntime.jsx(NoDataState.default,{elementType:"secondary",description:"Catch your customer's attention with attracted media.",descriptionActions:[{text:"Add image",callback:a},{text:"sync data",callback:"syncProduct"}],additionalMedia:V}),{wrapperClasses:k}=getProductImagesClassName.getProductImagesClassName(e);return jsxRuntime.jsxs("div",{...r,className:k,style:C,children:[jsxRuntime.jsx("style",{dangerouslySetInnerHTML:{__html:getBorderActiveCss.getBorderActiveCss({settings:{...i,...o},uid:l?.uid,type:"React"})}}),LAYOUT_FEATURE_IMAGE_GALLERY.includes(b)&&jsxRuntime.jsx(FeatureImageWithGallery.default,{...t,gallery:x,priorityFeatureImage:D,onHandleClickImage:(e,t)=>j(e||"",t),noDataChildren:Z,children:L()}),"only-feature"===b&&jsxRuntime.jsx(OnlyFeatureImage.default,{gallery:x,...t,onHandleClickImage:(e,t)=>j(e||"",t),noDataChildren:Z,children:L()}),["one-col","two-col"].includes(b)&&jsxRuntime.jsx(GalleryGrid.default,{gallery:x,...t,onHandleClickImage:(e,t)=>j(e||"",t),noDataChildren:Z,children:L()}),P&&jsxRuntime.jsx(ProductImagesLightBox.default,{productImages:x,builderPropUID:l?.uid,open:p,onHandleClose:()=>f(!1),imageRatio:common.getAspectRatio(o?.ftShape)}),core.filterToolbarPreview(s,!0)]})};exports.default=ProductImagesV2;
26
+ `,Z=jsxRuntime.jsx(NoDataState.default,{elementType:"secondary",description:"Catch your customer's attention with attracted media.",descriptionActions:[{text:"Add image",callback:a},{text:"sync data",callback:"syncProduct"}],additionalMedia:V}),{wrapperClasses:k}=getProductImagesClassName.getProductImagesClassName(e);return jsxRuntime.jsxs("div",{...r,className:k,style:C,children:[jsxRuntime.jsx("style",{dangerouslySetInnerHTML:{__html:getBorderActiveCss.getBorderActiveCss({settings:{...i,...o},uid:l?.uid,type:"React"})}}),LAYOUT_FEATURE_IMAGE_GALLERY.includes(R)&&jsxRuntime.jsx(FeatureImageWithGallery.default,{...t,gallery:b,priorityFeatureImage:M,onHandleClickImage:(e,t)=>E(e||"",t),noDataChildren:Z,children:L()}),"only-feature"===R&&jsxRuntime.jsx(OnlyFeatureImage.default,{gallery:b,...t,onHandleClickImage:(e,t)=>E(e||"",t),noDataChildren:Z,children:L()}),["one-col","two-col"].includes(R)&&jsxRuntime.jsx(GalleryGrid.default,{gallery:b,...t,onHandleClickImage:(e,t)=>E(e||"",t),noDataChildren:Z,children:L()}),P&&jsxRuntime.jsx(ProductImagesLightBox.default,{productImages:b,builderPropUID:l?.uid,open:p,onHandleClose:()=>f(!1),imageRatio:common.getAspectRatio(o?.ftShape)}),core.filterToolbarPreview(s,!0)]})};exports.default=ProductImagesV2;
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),common=require("./common/common.js"),core=require("@gem-sdk/core"),React=require("react"),FeatureImageWithGallery=require("./components/feature-gallery/FeatureImageWithGallery.js"),OnlyFeatureImage=require("./components/feature-only/OnlyFeatureImage.js"),ProductImagesLightBox=require("./components/lightbox/ProductImagesLightBox.js"),NoDataState=require("../../../common/components/NoDataState.js"),getProductImagesClassName=require("./composables/getProductImagesClassName.js"),getBorderActiveCss=require("./common/getBorderActiveCss.js"),GalleryGrid=require("./components/gallery-grid/GalleryGrid.js");const getProductGallery=e=>e?.medias?.edges.map(e=>e?.node),LAYOUT_FEATURE_IMAGE_GALLERY=["bottom-left","bottom-center","left","right","inside-left","inside-right","inside-bottom"],ProductImagesV3=e=>{let t=React.useMemo(()=>common.setDefaultWhenUndefineSetting(e),[e]),{redirectProductShopifyLink:a}=core.useProductShopifyEditLink(),{setting:i,styles:l,builderProps:r,builderAttrs:o,style:s,children:C}=t,n=core.useProduct(),d=core.useCurrentDevice(),c=core.useCurrentVariant(),{isChangeSelectedOption:u}=core.useSelectedOption(),m=core.useEditorMode(),p=core.useProductStore(e=>e.setProductFeaturedImage),[g,f]=React.useState(!1),h=e=>e?.medias?.edges.find(e=>["VIDEO","EXTERNAL_VIDEO"].includes(e?.node?.contentType??""))?.node,y=e=>e?.featuredImage,I=e=>e?.medias?.edges.find(e=>e?.node?.contentType==="MODEL_3D")?.node,M=React.useMemo(()=>i?.typeDisplay==="all-images"&&!u,[u,i?.typeDisplay]),D=React.useMemo(()=>{if(M){let e;switch(i?.preDisplay){case"1st-images":e=y(n);break;case"1st-3d-mode":e=I(n);break;case"1st-video":e=h(n);break;case"1st-available-variant":e=c?.media}return p(e),e}},[M,i?.preDisplay,p,n,c?.media]),R=React.useMemo(()=>i?.filterByVariant==="selected_variant",[i?.filterByVariant]),b=React.useMemo(()=>{let e=getProductGallery(n);if(!e?.length)return[{id:n?.featuredImage?.id||"noImageError",src:n?.featuredImage?.src||"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif",width:n?.featuredImage?.width||480,height:n?.featuredImage?.height||480}];if(!R||!c?.selectedOptions?.length)return e;let t=c.selectedOptions.map(e=>e.value).filter(Boolean).map(e=>e?.trim().toLowerCase()),a=t.join("-"),i=e=>e.toLowerCase().trim().replace(/[\s_]+/g,"-").replace(/[^a-z\d-]/g,"").replace(/-+/g,"-"),l=e?.filter(e=>{if(!e?.alt)return!1;let t=i(e.alt),l=i(a),r="all-variants"===t,o=t===l||t.includes(l);return r||o});return l?.length>0?l:e},[c?.selectedOptions,R,n]),x=React.useMemo(()=>b.reduce((e,t,a)=>t?{...e,[t.id]:a}:e,{}),[b]),v=React.useMemo(()=>core.getResponsiveValueByScreen(l?.position,d),[d,l?.position]),E=(e,t)=>{V(e),t&&j()},j=()=>{f(!0)},V=e=>{if(!e)return;let t=x[e];if(void 0!==t){let e=b[t];e&&p(e)}};React.useEffect(()=>{if(c&&!M){let e=x[c?.mediaId];if(void 0!==e){let t=b[e]??n?.featuredImage;t&&p(t)}}},[c,x,b,n?.featuredImage,p,M]);let L=React.useMemo(()=>{let e="popup"===core.getResponsiveValueByScreen(i?.ftClickOpenLightBox,d)||core.getResponsiveValueByScreen(i?.clickOpenLightBox,d);return e||"edit"!==m||window?.parent?.postMessage?.(JSON.stringify({type:"active-modal",value:open}),"*"),e},[i?.ftClickOpenLightBox,i?.clickOpenLightBox,d,m]),P=()=>b.length>0?React.Children.map(core.filterToolbarPreview(C),e=>React.isValidElement(e)?jsxRuntime.jsx(e.type,{...e.props,isInsideProductImage:!0,navigationPosition:i?.ftNavigationPosition,imageData:{imageShape:l?.ftShape,imageAlign:l?.align,imageLayout:l?.position},dotData:{dotSize:i?.ftDotSize,dotGapToCarousel:i?.ftDotGapToCarousel,dotStyle:i?.ftDotStyle}}):null):null,w=`
2
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),common=require("./common/common.js"),core=require("@gem-sdk/core"),React=require("react"),FeatureImageWithGallery=require("./components/feature-gallery/FeatureImageWithGallery.js"),OnlyFeatureImage=require("./components/feature-only/OnlyFeatureImage.js"),ProductImagesLightBox=require("./components/lightbox/ProductImagesLightBox.js"),NoDataState=require("../../../common/components/NoDataState.js"),getProductImagesClassName=require("./composables/getProductImagesClassName.js"),getBorderActiveCss=require("./common/getBorderActiveCss.js"),GalleryGrid=require("./components/gallery-grid/GalleryGrid.js");const getProductGallery=e=>e?.medias?.edges.map(e=>e?.node),LAYOUT_FEATURE_IMAGE_GALLERY=["bottom-left","bottom-center","left","right","inside-left","inside-right","inside-bottom"],ProductImagesV3=e=>{let t=React.useMemo(()=>common.setDefaultWhenUndefineSetting(e),[e]),{redirectProductShopifyLink:a}=core.useProductShopifyEditLink(),{setting:i,styles:l,builderProps:r,builderAttrs:o,style:s,children:C}=t,n=core.useProduct(),d=core.useCurrentDevice(),c=core.useCurrentVariant(),{isChangeSelectedOption:u}=core.useSelectedOption(),m=core.useEditorMode(),g=core.useProductStore(e=>e.setProductFeaturedImage),[p,f]=React.useState(!1),h=e=>e?.medias?.edges.find(e=>["VIDEO","EXTERNAL_VIDEO"].includes(e?.node?.contentType??""))?.node,y=e=>e?.featuredImage,I=e=>e?.medias?.edges.find(e=>e?.node?.contentType==="MODEL_3D")?.node,M=React.useMemo(()=>i?.typeDisplay==="all-images"&&!u,[u,i?.typeDisplay]),D=React.useMemo(()=>{if(M){let e;switch(i?.preDisplay){case"1st-images":e=y(n);break;case"1st-3d-mode":e=I(n);break;case"1st-video":e=h(n);break;case"1st-available-variant":e=c?.media}return g(e),e}},[M,i?.preDisplay,g,n,c?.media]),b=React.useMemo(()=>i?.filterByVariant==="selected_variant",[i?.filterByVariant]),R=React.useMemo(()=>{let e=getProductGallery(n);if(!e?.length)return[{id:n?.featuredImage?.id||"noImageError",baseID:n?.featuredImage?.baseID||"noImageError",src:n?.featuredImage?.src||"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif",width:n?.featuredImage?.width||480,height:n?.featuredImage?.height||480}];if(!b||!c?.selectedOptions?.length)return e;let t=c.selectedOptions.map(e=>e.value).filter(Boolean).map(e=>e?.trim().toLowerCase()),a=t.join("-"),i=e=>e.toLowerCase().trim().replace(/[\s_]+/g,"-").replace(/[^a-z\d-]/g,"").replace(/-+/g,"-"),l=e?.filter(e=>{if(!e?.alt)return!1;let t=i(e.alt),l=i(a),r="all-variants"===t,o=t===l||t.includes(l);return r||o});return l?.length>0?l:e},[c?.selectedOptions,b,n]),x=React.useMemo(()=>R.reduce((e,t,a)=>t?{...e,[t.id]:a}:e,{}),[R]),E=React.useMemo(()=>core.getResponsiveValueByScreen(l?.position,d),[d,l?.position]),v=(e,t)=>{V(e),t&&j()},j=()=>{f(!0)},V=e=>{if(!e)return;let t=x[e];if(void 0!==t){let e=R[t];e&&g(e)}};React.useEffect(()=>{if(c&&!M){let e=x[c?.mediaId];if(void 0!==e){let t=R[e]??n?.featuredImage;t&&g(t)}}},[c,x,R,n?.featuredImage,g,M]);let L=React.useMemo(()=>{let e="popup"===core.getResponsiveValueByScreen(i?.ftClickOpenLightBox,d)||core.getResponsiveValueByScreen(i?.clickOpenLightBox,d);return e||"edit"!==m||window?.parent?.postMessage?.(JSON.stringify({type:"active-modal",value:open}),"*"),e},[i?.ftClickOpenLightBox,i?.clickOpenLightBox,d,m]),P=()=>R.length>0?React.Children.map(core.filterToolbarPreview(C),e=>React.isValidElement(e)?jsxRuntime.jsx(e.type,{...e.props,isInsideProductImage:!0,navigationPosition:i?.ftNavigationPosition,imageData:{imageShape:l?.ftShape,imageAlign:l?.align,imageLayout:l?.position},dotData:{dotSize:i?.ftDotSize,dotGapToCarousel:i?.ftDotGapToCarousel,dotStyle:i?.ftDotStyle}}):null):null,w=`
3
3
  <svg viewBox="0 0 452 400" fill="none" xmlns="http://www.w3.org/2000/svg">
4
4
  <path d="M0 7.99999C0 3.58171 3.58172 0 8 0H444C448.418 0 452 3.58172 452 8V392C452 396.418 448.418 400 444 400H8C3.58173 400 0 396.418 0 392V7.99999Z" fill="#F9F9F9"/>
5
5
  <path d="M208.148 348.801C239.683 348.75 265.245 347.272 265.242 345.499C265.239 343.726 239.673 342.33 208.138 342.381C176.603 342.432 151.041 343.91 151.044 345.683C151.047 347.456 176.614 348.851 208.148 348.801Z" fill="#E6E6E6"/>
@@ -23,4 +23,4 @@
23
23
  <path opacity="0.2" d="M293.196 231.862C306.954 231.862 318.106 217.921 318.106 200.724C318.106 183.527 306.954 169.586 293.196 169.586C279.439 169.586 268.286 183.527 268.286 200.724C268.286 217.921 279.439 231.862 293.196 231.862Z" fill="white"/>
24
24
  <path opacity="0.2" d="M293.196 247.637C313.923 247.637 330.726 226.634 330.726 200.725C330.726 174.816 313.923 153.812 293.196 153.812C272.469 153.812 255.666 174.816 255.666 200.725C255.666 226.634 272.469 247.637 293.196 247.637Z" fill="white"/>
25
25
  </svg>
26
- `,Z=jsxRuntime.jsx(NoDataState.default,{elementType:"secondary",description:"Catch your customer's attention with attracted media.",descriptionActions:[{text:"Add image",callback:a},{text:"sync data",callback:"syncProduct"}],additionalMedia:w}),{wrapperClasses:k}=getProductImagesClassName.getProductImagesClassName(e);return jsxRuntime.jsxs("div",{...o,className:k,style:s,children:[jsxRuntime.jsx("style",{dangerouslySetInnerHTML:{__html:getBorderActiveCss.getBorderActiveCss({settings:{...i,...l},uid:r?.uid,type:"React"})}}),LAYOUT_FEATURE_IMAGE_GALLERY.includes(v)&&jsxRuntime.jsx(FeatureImageWithGallery.default,{...t,isFilterByVariantEnabled:R,gallery:b,priorityFeatureImage:D,onHandleClickImage:(e,t)=>E(e||"",t),noDataChildren:Z,children:P()}),"only-feature"===v&&jsxRuntime.jsx(OnlyFeatureImage.default,{gallery:b,...t,onHandleClickImage:(e,t)=>E(e||"",t),noDataChildren:Z,isFilterByVariantEnabled:R,children:P()}),["one-col","two-col"].includes(v)&&jsxRuntime.jsx(GalleryGrid.default,{gallery:b,...t,onHandleClickImage:(e,t)=>E(e||"",t),noDataChildren:Z,children:P()}),L&&jsxRuntime.jsx(ProductImagesLightBox.default,{productImages:b,builderPropUID:r?.uid,open:g,onHandleClose:()=>f(!1),imageRatio:common.getAspectRatio(l?.ftShape)}),core.filterToolbarPreview(C,!0)]})};exports.default=ProductImagesV3;
26
+ `,Z=jsxRuntime.jsx(NoDataState.default,{elementType:"secondary",description:"Catch your customer's attention with attracted media.",descriptionActions:[{text:"Add image",callback:a},{text:"sync data",callback:"syncProduct"}],additionalMedia:w}),{wrapperClasses:k}=getProductImagesClassName.getProductImagesClassName(e);return jsxRuntime.jsxs("div",{...o,className:k,style:s,children:[jsxRuntime.jsx("style",{dangerouslySetInnerHTML:{__html:getBorderActiveCss.getBorderActiveCss({settings:{...i,...l},uid:r?.uid,type:"React"})}}),LAYOUT_FEATURE_IMAGE_GALLERY.includes(E)&&jsxRuntime.jsx(FeatureImageWithGallery.default,{...t,isFilterByVariantEnabled:b,gallery:R,priorityFeatureImage:D,onHandleClickImage:(e,t)=>v(e||"",t),noDataChildren:Z,children:P()}),"only-feature"===E&&jsxRuntime.jsx(OnlyFeatureImage.default,{gallery:R,...t,onHandleClickImage:(e,t)=>v(e||"",t),noDataChildren:Z,isFilterByVariantEnabled:b,children:P()}),["one-col","two-col"].includes(E)&&jsxRuntime.jsx(GalleryGrid.default,{gallery:R,...t,onHandleClickImage:(e,t)=>v(e||"",t),noDataChildren:Z,children:P()}),L&&jsxRuntime.jsx(ProductImagesLightBox.default,{productImages:R,builderPropUID:r?.uid,open:p,onHandleClose:()=>f(!1),imageRatio:common.getAspectRatio(l?.ftShape)}),core.filterToolbarPreview(C,!0)]})};exports.default=ProductImagesV3;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),dynamic=require("next/dynamic"),Loading=require("../../../common/components/Loading.js"),React=require("react"),core=require("@gem-sdk/core"),SalePageProductListWarning=require("../SalePageProductListWarning.js"),Head=require("next/head"),ProductListGridLayout=require("./ProductListGridLayout.js"),ProductListCarouselLayout=require("./ProductListCarouselLayout.js"),styles=require("./common/styles.js"),system=require("@gem-sdk/system"),classes=require("./common/classes.js"),helpers=require("./common/helpers.js"),helpers$1=require("../../../dialog/common/helpers.js");const ProductNotFound=dynamic(()=>Promise.resolve().then(function(){return require("../ProductNotFound.js")}),{loading:Loading.default}),ProductList=e=>{let{children:t,styles:r,builderProps:o,setting:s,builderAttrs:a}=e,{isRelatedProduct:d,productSetting:i}=helpers.getData(e),l=i.relatedTag&&i.relatedTag[0],{isEditMode:c,isPreviewSharePageMode:u}=core.useRenderMode(),n=core.useCurrentDevice(),m=core.usePageType(),g=core.usePageStore(e=>e.dynamicProduct),h=core.usePageStore(e=>e.dynamicCollection),[P,j]=React.useState(1),[p,x]=React.useState(!0),[f,y]=React.useState(),[R,v]=React.useState(!1),b="GP_FUNNEL_PAGE"===m,T="GP_COLLECTION"==m;T&&(i.productSrc="DynamicCollection",i.collectionId=h?.collectionId??"latest");let I=i?.productSrc??"Collection",S=g?.productId&&g?.productId!==i.relatedProductId?g?.productId:i.relatedProductId,k=core.useFetchHandle(),L=core.usePageStore(e=>e.publicStoreFrontData),C=React.useMemo(()=>core.hasPublicStoreFrontData(L)?core.createStoreFrontFetcher(L):k,[L]),{data:O}=core.useProductQuery(d&&S?S:void 0,{revalidateOnMount:c||u},C),E=i.relatedTag&&"tags"===i.relatedTag[0]&&(!O?.tags||O?.tags.length===0),N=i.relatedTag&&"collection"===i.relatedTag[0]&&(!O?.collections?.edges||O?.collections.edges.length===0),q=i.relatedTag&&"vendor"===i.relatedTag[0]&&!O?.vendor,M=E||N||q,w=core.useProductsQueryAll(f,{revalidateOnMount:c||u},C),W=c||u,F=core.useProductsQuery("PickProduct"===I?i?.productIds:void 0,{revalidateOnMount:W},{defaultSelectedProductCount:i?.numOfSelectedProducts}),G=React.useMemo(()=>({id:i?.collectionId??"latest",numberOfProducts:s?.numberOfProducts??4,orderBy:s?.orderBy}),[i?.collectionId,Number(s?.numberOfProducts),s?.orderBy]),Q=core.useCollectionQuery("PickProduct"!==I?G:void 0,{revalidateOnMount:W});React.useEffect(()=>{if(d&&O&&i.relatedTag&&"recommended-product"!==i.relatedType){let e;switch(v(!1),i.hasRelatedExclude&&(e=i?.relatedExclude&&i.relatedExclude.split(",").map(e=>e.trim())),i.relatedTag[0]){case"vendor":y({vendor:i.relatedTag&&"vendor"===i.relatedTag[0]?O?.vendor:"",limit:s?.numberOfProducts,idNEQ:O.id});break;case"collection":{let t;let r=O?.collections?.edges.map(e=>e.node?.id);if(!r||r?.length===0){v(!0);break}y(t=e&&e.length>0?{idNEQ:O.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:r},{titleNotIn:e}]}],limit:s?.numberOfProducts}:{idNEQ:O.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:r}]}],limit:s?.numberOfProducts});break}case"tags":{let t;if(!O.tags||0===O.tags.length){v(!0);break}y(t=e&&e.length>0?{idNEQ:O.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:O.tags},{nameNotIn:e}]}],limit:s?.numberOfProducts}:{idNEQ:O.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:O.tags}]}],limit:s?.numberOfProducts})}}}},[O,i.relatedType,i.relatedTag,s?.numberOfProducts,i.relatedExclude,i.hasRelatedExclude,d]);let B="PickProduct"===I?F.isValidating:Q.isValidating,D="PickProduct"===I?F.isLoading:Q.isLoading,A="PickProduct"===I?F.error:Q.error,H=Q.data?.collections?.edges?.[0]?.node,$="PickProduct"===I?core.flattenConnection(F.data?.products):core.flattenConnection(H?.products),_=w?.data?.products?core.flattenConnection(w?.data?.products):void 0,z=d&&_?_:"PickProduct"===I&&i?.productIds?.length?i?.productIds?.map(e=>$?.find(t=>t?.baseID===e)).filter(Boolean)??$:"PickProduct"!==I?$:$.filter((e,t)=>t<(i?.numOfSelectedProducts??4)),V=React.useMemo(()=>R&&d&&c||!z.length&&!D&&p&&c,[p,D,R,d,c,z.length]),U=React.useMemo(()=>!z||R&&d,[R,d,z]),J=React.useMemo(()=>{if(!s?.sameHeight)return[];let e=0,t=Math.ceil((z?.length??0)/+(s?.slidesToShow?.[n]??1));return Array.from(Array(z?.length??0)).map((o,a)=>(a>=+(s?.slidesToShow?.[n]??1)*(e+1)&&++e,{gridRow:`${1+P*e}/${P+1+P*e}`,marginBottom:e+1<t?helpers$1.getPropertyByDevice(r?.horizontalGutter,n):void 0}))},[s?.sameHeight,s?.slidesToShow,P,z?.length,n,r?.horizontalGutter]),K=React.useMemo(()=>B||D||A||!z||R&&d,[A,D,R,d,B,z]);React.useEffect(()=>{K||setTimeout(()=>{let{builderData:e}=o??{},t=e?.childrens?.[0];if(!t)return;let r=document.querySelector(`[data-id=${t}] div`);r&&j(r.childElementCount||1)},c?0:500)},[o,K,c]);let X=React.useMemo(()=>({collection:H,products:z,settings:{loop:s?.loop??{desktop:!1},scrollMode:s?.scrollMode??{desktop:"snap"},slidesToShow:s?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:r?.layout,dot:s?.dot,dotStyle:s?.dotStyle,arrow:s?.arrow,controlOverContent:s?.controlOverContent},styles:{horizontalGutter:r?.horizontalGutter,verticalGutter:r?.verticalGutter,fullWidth:r?.fullWidth,spacing:r?.spacing,width:r?.width,height:r?.height}}),[H,z,s,r]);if(o?.isPreview&&b)return jsxRuntime.jsx(jsxRuntime.Fragment,{});if(V)return jsxRuntime.jsx(jsxRuntime.Fragment,{children:system.If(p,jsxRuntime.jsx(ProductNotFound,{builderAttrs:a,collectionHandle:H?.handle,productSrc:I,onClose:()=>x(!1),children:t,relatedTagString:l,assignProductNoTags:M,noAssignedProduct:!S}))});let{productListWrapStyle:Y,productListContentStyle:Z,productListWrapAlignStyle:ee}=styles.getStyle(e),{productListWrapClass:et}=classes.getClass(e),er=()=>jsxRuntime.jsx(jsxRuntime.Fragment,{children:system.If(r?.layout==="grid",jsxRuntime.jsx(ProductListGridLayout.default,{...e,productSortedById:z,generateGridRowArray:J}),jsxRuntime.jsx(ProductListCarouselLayout.default,{...e,productSortedById:z}))});return jsxRuntime.jsxs("div",{...a,className:et,style:Y,children:[!!r?.preloadBgImage&&jsxRuntime.jsxs(Head,{children:[!!r.backgroundImage?.desktop?.image?.src&&jsxRuntime.jsx("link",{rel:"preload",href:r.backgroundImage.desktop.image.src,as:"image"}),!!r.backgroundImage?.tablet?.image?.src&&jsxRuntime.jsx("link",{rel:"preload",href:r.backgroundImage?.tablet?.image?.src,as:"image"}),!!r.backgroundImage?.mobile?.image?.src&&jsxRuntime.jsx("link",{rel:"preload",href:r.backgroundImage?.mobile?.image?.src,as:"image"})]}),B||D?jsxRuntime.jsx(Loading.default,{}):A?jsxRuntime.jsxs("div",{children:["Error: ",A?.message]}):U?jsxRuntime.jsx("div",{children:"Products not found"}):jsxRuntime.jsx(core.ProductListProvider,{...X,children:jsxRuntime.jsx("div",{className:"gp-flex gp-w-full",style:ee,children:jsxRuntime.jsxs("div",{style:Z,children:[b&&jsxRuntime.jsx(SalePageProductListWarning.default,{}),er()]})})}),core.filterToolbarPreview(t,!0)]})};exports.default=ProductList;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),dynamic=require("next/dynamic"),Loading=require("../../../common/components/Loading.js"),React=require("react"),core=require("@gem-sdk/core"),SalePageProductListWarning=require("../SalePageProductListWarning.js"),Head=require("next/head"),ProductListGridLayout=require("./ProductListGridLayout.js"),ProductListCarouselLayout=require("./ProductListCarouselLayout.js"),styles=require("./common/styles.js"),system=require("@gem-sdk/system"),classes=require("./common/classes.js"),helpers=require("./common/helpers.js"),helpers$1=require("../../../dialog/common/helpers.js");const ProductNotFound=dynamic(()=>Promise.resolve().then(function(){return require("../ProductNotFound.js")}),{loading:Loading.default}),ProductList=e=>{let{children:t,styles:r,builderProps:o,setting:s,builderAttrs:a}=e,{isRelatedProduct:d,productSetting:i}=helpers.getData(e),c=i.relatedTag&&i.relatedTag[0],{isEditMode:l,isPreviewSharePageMode:u}=core.useRenderMode(),n=core.useCurrentDevice(),g=core.usePageType(),m=core.usePageStore(e=>e.dynamicProduct),h=core.usePageStore(e=>e.dynamicCollection),[P,f]=React.useState(1),[j,p]=React.useState(!0),[x,y]=React.useState(),[R,v]=React.useState(!1),b="GP_FUNNEL_PAGE"===g,T="GP_COLLECTION"==g;T&&(i.productSrc="DynamicCollection",i.collectionId=h?.collectionId??"latest");let I=i?.productSrc??"Collection",S=m?.productId&&m?.productId!==i.relatedProductId?m?.productId:i.relatedProductId,k=core.useFetchHandle(),L=core.usePageStore(e=>e.publicStoreFrontData),C=React.useMemo(()=>core.hasPublicStoreFrontData(L)?core.createStoreFrontFetcher(L):k,[L]),{data:O}=core.useProductQuery(d&&S?S:void 0,{revalidateOnMount:l||u},C),w=i.relatedTag&&"tags"===i.relatedTag[0]&&(!O?.tags||O?.tags.length===0),E=i.relatedTag&&"collection"===i.relatedTag[0]&&(!O?.collections?.edges||O?.collections.edges.length===0),N=i.relatedTag&&"vendor"===i.relatedTag[0]&&!O?.vendor,q=w||E||N,M=core.useProductsQueryAll(x,{revalidateOnMount:l||u},C),W=l||u,F=core.useProductsQuery("PickProduct"===I?i?.productIds:void 0,{revalidateOnMount:W},{defaultSelectedProductCount:i?.numOfSelectedProducts}),G=React.useMemo(()=>({id:i?.collectionId??"latest",numberOfProducts:s?.numberOfProducts??4,orderBy:s?.orderBy}),[i?.collectionId,Number(s?.numberOfProducts),s?.orderBy]),Q=core.useCollectionQuery("PickProduct"!==I?G:void 0,{revalidateOnMount:W});React.useEffect(()=>{if(d&&O&&i.relatedTag&&"recommended-product"!==i.relatedType){let e;switch(v(!1),i.hasRelatedExclude&&(e=i?.relatedExclude&&i.relatedExclude.split(",").map(e=>e.trim())),i.relatedTag[0]){case"vendor":y({first:s?.numberOfProducts,where:{vendor:i.relatedTag&&"vendor"===i.relatedTag[0]?O?.vendor:"",idNEQ:O.id}});break;case"collection":{let t;let r=O?.collections?.edges.map(e=>e.node?.id);if(!r||r?.length===0){v(!0);break}y(t=e&&e.length>0?{first:s?.numberOfProducts,where:{idNEQ:O.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:r},{titleNotIn:e}]}]}}:{first:s?.numberOfProducts,where:{idNEQ:O.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:r}]}]}});break}case"tags":{let t;if(!O.tags||0===O.tags.length){v(!0);break}y(t=e&&e.length>0?{first:s?.numberOfProducts,where:{idNEQ:O.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:O.tags},{nameNotIn:e}]}]}}:{first:s?.numberOfProducts,where:{idNEQ:O.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:O.tags}]}]}})}}}},[O,i.relatedType,i.relatedTag,s?.numberOfProducts,i.relatedExclude,i.hasRelatedExclude,d]);let B="PickProduct"===I?F.isValidating:Q.isValidating,D="PickProduct"===I?F.isLoading:Q.isLoading,A="PickProduct"===I?F.error:Q.error,H=Q.data?.collections?.edges?.[0]?.node,$="PickProduct"===I?core.flattenConnection(F.data?.products):core.flattenConnection(H?.products),_=M?.data?.products?core.flattenConnection(M?.data?.products):void 0,z=d&&_?_:"PickProduct"===I&&i?.productIds?.length?i?.productIds?.map(e=>$?.find(t=>t?.baseID===e)).filter(Boolean)??$:"PickProduct"!==I?$:$.filter((e,t)=>t<(i?.numOfSelectedProducts??4)),V=React.useMemo(()=>R&&d&&l||!z.length&&!D&&j&&l,[j,D,R,d,l,z.length]),U=React.useMemo(()=>!z||R&&d,[R,d,z]),J=React.useMemo(()=>{if(!s?.sameHeight)return[];let e=0,t=Math.ceil((z?.length??0)/+(s?.slidesToShow?.[n]??1));return Array.from(Array(z?.length??0)).map((o,a)=>(a>=+(s?.slidesToShow?.[n]??1)*(e+1)&&++e,{gridRow:`${1+P*e}/${P+1+P*e}`,marginBottom:e+1<t?helpers$1.getPropertyByDevice(r?.horizontalGutter,n):void 0}))},[s?.sameHeight,s?.slidesToShow,P,z?.length,n,r?.horizontalGutter]),K=React.useMemo(()=>B||D||A||!z||R&&d,[A,D,R,d,B,z]);React.useEffect(()=>{K||setTimeout(()=>{let{builderData:e}=o??{},t=e?.childrens?.[0];if(!t)return;let r=document.querySelector(`[data-id=${t}] div`);r&&f(r.childElementCount||1)},l?0:500)},[o,K,l]);let X=React.useMemo(()=>({collection:H,products:z,settings:{loop:s?.loop??{desktop:!1},scrollMode:s?.scrollMode??{desktop:"snap"},slidesToShow:s?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:r?.layout,dot:s?.dot,dotStyle:s?.dotStyle,arrow:s?.arrow,controlOverContent:s?.controlOverContent},styles:{horizontalGutter:r?.horizontalGutter,verticalGutter:r?.verticalGutter,fullWidth:r?.fullWidth,spacing:r?.spacing,width:r?.width,height:r?.height}}),[H,z,s,r]);if(o?.isPreview&&b)return jsxRuntime.jsx(jsxRuntime.Fragment,{});if(V)return jsxRuntime.jsx(jsxRuntime.Fragment,{children:system.If(j,jsxRuntime.jsx(ProductNotFound,{builderAttrs:a,collectionHandle:H?.handle,productSrc:I,onClose:()=>p(!1),children:t,relatedTagString:c,assignProductNoTags:q,noAssignedProduct:!S}))});let{productListWrapStyle:Y,productListContentStyle:Z,productListWrapAlignStyle:ee}=styles.getStyle(e),{productListWrapClass:et}=classes.getClass(e),er=()=>jsxRuntime.jsx(jsxRuntime.Fragment,{children:system.If(r?.layout==="grid",jsxRuntime.jsx(ProductListGridLayout.default,{...e,productSortedById:z,generateGridRowArray:J}),jsxRuntime.jsx(ProductListCarouselLayout.default,{...e,productSortedById:z}))});return jsxRuntime.jsxs("div",{...a,className:et,style:Y,children:[!!r?.preloadBgImage&&jsxRuntime.jsxs(Head,{children:[!!r.backgroundImage?.desktop?.image?.src&&jsxRuntime.jsx("link",{rel:"preload",href:r.backgroundImage.desktop.image.src,as:"image"}),!!r.backgroundImage?.tablet?.image?.src&&jsxRuntime.jsx("link",{rel:"preload",href:r.backgroundImage?.tablet?.image?.src,as:"image"}),!!r.backgroundImage?.mobile?.image?.src&&jsxRuntime.jsx("link",{rel:"preload",href:r.backgroundImage?.mobile?.image?.src,as:"image"})]}),B||D?jsxRuntime.jsx(Loading.default,{}):A?jsxRuntime.jsxs("div",{children:["Error: ",A?.message]}):U?jsxRuntime.jsx("div",{children:"Products not found"}):jsxRuntime.jsx(core.ProductListProvider,{...X,children:jsxRuntime.jsx("div",{className:"gp-flex gp-w-full",style:ee,children:jsxRuntime.jsxs("div",{style:Z,children:[b&&jsxRuntime.jsx(SalePageProductListWarning.default,{}),er()]})})}),core.filterToolbarPreview(t,!0)]})};exports.default=ProductList;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),dynamic=require("next/dynamic"),Loading=require("../../../common/components/Loading.js"),React=require("react"),core=require("@gem-sdk/core"),SalePageProductListWarning=require("../SalePageProductListWarning.js"),Head=require("next/head"),ProductListGridLayout=require("./ProductListGridLayout.js"),ProductListCarouselLayout=require("./ProductListCarouselLayout.js"),styles=require("./common/styles.js"),system=require("@gem-sdk/system"),classes=require("./common/classes.js"),helpers=require("./common/helpers.js"),helpers$1=require("../../../dialog/common/helpers.js");const ProductNotFound=dynamic(()=>Promise.resolve().then(function(){return require("../ProductNotFound.js")}),{loading:Loading.default}),ProductList=e=>{let{children:t,styles:r,builderProps:o,setting:s,builderAttrs:a}=e,{isRelatedProduct:d,productSetting:i}=helpers.getData(e),l=i.relatedTag&&i.relatedTag[0],{isEditMode:c,isPreviewSharePageMode:u}=core.useRenderMode(),n=core.useCurrentDevice(),g=core.usePageType(),m=core.usePageStore(e=>e.dynamicProduct),h=core.usePageStore(e=>e.dynamicCollection),[P,p]=React.useState(1),[j,x]=React.useState(!0),[f,y]=React.useState(),[R,b]=React.useState(!1),v="GP_FUNNEL_PAGE"===g,S="GP_COLLECTION"==g;S&&(i.productSrc="DynamicCollection",i.collectionId=h?.collectionId??"latest");let I=i?.productSrc??"Collection",T=m?.productId&&m?.productId!==i.relatedProductId?m?.productId:i.relatedProductId,k=core.useFetchHandle(),L=core.usePageStore(e=>e.publicStoreFrontData),C=React.useMemo(()=>core.hasPublicStoreFrontData(L)?core.createStoreFrontFetcher(L):k,[L]),{data:O}=core.useProductQuery(d&&T?T:void 0,{revalidateOnMount:c||u},C),E=i.relatedTag&&"tags"===i.relatedTag[0]&&(!O?.tags||O?.tags.length===0),M=i.relatedTag&&"collection"===i.relatedTag[0]&&(!O?.collections?.edges||O?.collections.edges.length===0),N=i.relatedTag&&"vendor"===i.relatedTag[0]&&!O?.vendor,q=E||M||N,w=core.useProductsQueryAll(f,{revalidateOnMount:c||u},C),W=c||u,F=core.useProductsQuery("PickProduct"===I?i?.productIds:void 0,{revalidateOnMount:W},{defaultSelectedProductCount:i?.numOfSelectedProducts}),G=React.useMemo(()=>({id:i?.collectionId??"latest",numberOfProducts:s?.numberOfProducts??4,orderBy:s?.orderBy}),[i?.collectionId,Number(s?.numberOfProducts),s?.orderBy]),Q=core.useCollectionQuery("PickProduct"!==I?G:void 0,{revalidateOnMount:W});React.useEffect(()=>{if(d&&O&&i.relatedTag&&"recommended-product"!==i.relatedType){let e;switch(b(!1),i.hasRelatedExclude&&(e=i?.relatedExclude&&i.relatedExclude.split(",").map(e=>e.trim())),i.relatedTag[0]){case"vendor":y({vendor:i.relatedTag&&"vendor"===i.relatedTag[0]?O?.vendor:"",limit:s?.numberOfProducts,idNEQ:O.id});break;case"collection":{let t;let r=O?.collections?.edges.map(e=>e.node?.id);if(!r||r?.length===0){b(!0);break}y(t=e&&e.length>0?{idNEQ:O.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:r},{titleNotIn:e}]}],limit:s?.numberOfProducts}:{idNEQ:O.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:r}]}],limit:s?.numberOfProducts});break}case"tags":{let t;if(!O.tags||0===O.tags.length){b(!0);break}y(t=e&&e.length>0?{idNEQ:O.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:O.tags},{nameNotIn:e}]}],limit:s?.numberOfProducts}:{idNEQ:O.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:O.tags}]}],limit:s?.numberOfProducts})}}}},[O,i.relatedType,i.relatedTag,s?.numberOfProducts,i.relatedExclude,i.hasRelatedExclude,d]);let A="PickProduct"===I?F.isValidating:Q.isValidating,B="PickProduct"===I?F.isLoading:Q.isLoading,D="PickProduct"===I?F.error:Q.error,H=Q.data?.collections?.edges?.[0]?.node,$="PickProduct"===I?core.flattenConnection(F.data?.products):core.flattenConnection(H?.products),_=core.usePageStore(e=>e.assignedProductIds),z=core.usePageStore(e=>e.isApplyAllProducts),V=React.useMemo(()=>(_??[]).length>0&&!z||z,[_,z]),U=w?.data?.products&&V?core.flattenConnection(w?.data?.products):[],J=d?U:"PickProduct"===I&&i?.productIds?.length?i?.productIds?.map(e=>$?.find(t=>t?.baseID===e)).filter(Boolean)??$:"PickProduct"!==I?$:$.filter((e,t)=>t<(i?.numOfSelectedProducts??4)),K=React.useMemo(()=>R&&d&&c||!J.length&&!B&&j&&c,[j,B,R,d,c,J.length]),X=React.useMemo(()=>!J||R&&d,[R,d,J]),Y=React.useMemo(()=>{if(!s?.sameHeight)return[];let e=0,t=Math.ceil((J?.length??0)/+(s?.slidesToShow?.[n]??1));return Array.from(Array(J?.length??0)).map((o,a)=>(a>=+(s?.slidesToShow?.[n]??1)*(e+1)&&++e,{gridRow:`${1+P*e}/${P+1+P*e}`,marginBottom:e+1<t?helpers$1.getPropertyByDevice(r?.horizontalGutter,n):void 0}))},[s?.sameHeight,s?.slidesToShow,P,J?.length,n,r?.horizontalGutter]),Z=React.useMemo(()=>A||B||D||!J||R&&d,[D,B,R,d,A,J]),ee=O?.collections?.edges.map(e=>e.node?.id)??[];React.useEffect(()=>{Z||setTimeout(()=>{let{builderData:e}=o??{},t=e?.childrens?.[0];if(!t)return;let r=document.querySelector(`[data-id=${t}] div`);r&&p(r.childElementCount||1)},c?0:500)},[o,Z,c,ee]);let et=React.useMemo(()=>({collection:H,products:J,settings:{loop:s?.loop??{desktop:!1},scrollMode:s?.scrollMode??{desktop:"snap"},slidesToShow:s?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:r?.layout,dot:s?.dot,dotStyle:s?.dotStyle,arrow:s?.arrow,controlOverContent:s?.controlOverContent},styles:{horizontalGutter:r?.horizontalGutter,verticalGutter:r?.verticalGutter,fullWidth:r?.fullWidth,spacing:r?.spacing,width:r?.width,height:r?.height}}),[H,J,s,r]);if(o?.isPreview&&v)return jsxRuntime.jsx(jsxRuntime.Fragment,{});if(K)return jsxRuntime.jsx(jsxRuntime.Fragment,{children:system.If(j,jsxRuntime.jsx(ProductNotFound,{builderAttrs:a,collectionHandle:H?.handle,productSrc:I,onClose:()=>x(!1),children:t,relatedTagString:l,assignProductNoTags:q,noAssignedProduct:!T}))});let{productListWrapStyle:er,productListContentStyle:eo,productListWrapAlignStyle:es}=styles.getStyle(e),{productListWrapClass:ea}=classes.getClass(e),ed=()=>jsxRuntime.jsx(jsxRuntime.Fragment,{children:system.If(r?.layout==="grid",jsxRuntime.jsx(ProductListGridLayout.default,{...e,productSortedById:J,generateGridRowArray:Y}),jsxRuntime.jsx(ProductListCarouselLayout.default,{...e,productSortedById:J}))});return jsxRuntime.jsxs("div",{...a,className:ea,style:er,children:[!!r?.preloadBgImage&&jsxRuntime.jsxs(Head,{children:[!!r.backgroundImage?.desktop?.image?.src&&jsxRuntime.jsx("link",{rel:"preload",href:r.backgroundImage.desktop.image.src,as:"image"}),!!r.backgroundImage?.tablet?.image?.src&&jsxRuntime.jsx("link",{rel:"preload",href:r.backgroundImage?.tablet?.image?.src,as:"image"}),!!r.backgroundImage?.mobile?.image?.src&&jsxRuntime.jsx("link",{rel:"preload",href:r.backgroundImage?.mobile?.image?.src,as:"image"})]}),A||B?jsxRuntime.jsx(Loading.default,{}):D?jsxRuntime.jsxs("div",{children:["Error: ",D?.message]}):X?jsxRuntime.jsx("div",{children:"Products not found"}):jsxRuntime.jsx(core.ProductListProvider,{...et,children:jsxRuntime.jsx("div",{className:"gp-flex gp-w-full",style:es,children:jsxRuntime.jsxs("div",{style:eo,children:[v&&jsxRuntime.jsx(SalePageProductListWarning.default,{}),ed()]})})}),core.filterToolbarPreview(t,!0)]})};exports.default=ProductList;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var jsxRuntime=require("react/jsx-runtime"),dynamic=require("next/dynamic"),Loading=require("../../../common/components/Loading.js"),React=require("react"),core=require("@gem-sdk/core"),SalePageProductListWarning=require("../SalePageProductListWarning.js"),Head=require("next/head"),ProductListGridLayout=require("./ProductListGridLayout.js"),ProductListCarouselLayout=require("./ProductListCarouselLayout.js"),styles=require("./common/styles.js"),system=require("@gem-sdk/system"),classes=require("./common/classes.js"),helpers=require("./common/helpers.js"),helpers$1=require("../../../dialog/common/helpers.js");const ProductNotFound=dynamic(()=>Promise.resolve().then(function(){return require("../ProductNotFound.js")}),{loading:Loading.default}),ProductList=e=>{let{children:t,styles:r,builderProps:o,setting:s,builderAttrs:a}=e,{isRelatedProduct:d,productSetting:i}=helpers.getData(e),c=i.relatedTag&&i.relatedTag[0],{isEditMode:l,isPreviewSharePageMode:u}=core.useRenderMode(),n=core.useCurrentDevice(),g=core.usePageType(),m=core.usePageStore(e=>e.dynamicProduct),h=core.usePageStore(e=>e.dynamicCollection),[P,f]=React.useState(1),[p,j]=React.useState(!0),[x,y]=React.useState(),[R,b]=React.useState(!1),v="GP_FUNNEL_PAGE"===g,S="GP_COLLECTION"==g;S&&(i.productSrc="DynamicCollection",i.collectionId=h?.collectionId??"latest");let I=i?.productSrc??"Collection",T=m?.productId&&m?.productId!==i.relatedProductId?m?.productId:i.relatedProductId,k=core.useFetchHandle(),L=core.usePageStore(e=>e.publicStoreFrontData),C=React.useMemo(()=>core.hasPublicStoreFrontData(L)?core.createStoreFrontFetcher(L):k,[L]),{data:O}=core.useProductQuery(d&&T?T:void 0,{revalidateOnMount:l||u},C),w=i.relatedTag&&"tags"===i.relatedTag[0]&&(!O?.tags||O?.tags.length===0),E=i.relatedTag&&"collection"===i.relatedTag[0]&&(!O?.collections?.edges||O?.collections.edges.length===0),M=i.relatedTag&&"vendor"===i.relatedTag[0]&&!O?.vendor,N=w||E||M,q=core.useProductsQueryAll(x,{revalidateOnMount:l||u},C),W=l||u,F=core.useProductsQuery("PickProduct"===I?i?.productIds:void 0,{revalidateOnMount:W},{defaultSelectedProductCount:i?.numOfSelectedProducts}),G=React.useMemo(()=>({id:i?.collectionId??"latest",numberOfProducts:s?.numberOfProducts??4,orderBy:s?.orderBy}),[i?.collectionId,Number(s?.numberOfProducts),s?.orderBy]),Q=core.useCollectionQuery("PickProduct"!==I?G:void 0,{revalidateOnMount:W});React.useEffect(()=>{if(d&&O&&i.relatedTag&&"recommended-product"!==i.relatedType){let e;switch(b(!1),i.hasRelatedExclude&&(e=i?.relatedExclude&&i.relatedExclude.split(",").map(e=>e.trim())),i.relatedTag[0]){case"vendor":y({first:s?.numberOfProducts,where:{vendor:i.relatedTag&&"vendor"===i.relatedTag[0]?O?.vendor:"",idNEQ:O.id}});break;case"collection":{let t;let r=O?.collections?.edges.map(e=>e.node?.id);if(!r||r?.length===0){b(!0);break}y(t=e&&e.length>0?{first:s?.numberOfProducts,where:{idNEQ:O.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:r},{titleNotIn:e}]}]}}:{first:s?.numberOfProducts,where:{idNEQ:O.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:r}]}]}});break}case"tags":{let t;if(!O.tags||0===O.tags.length){b(!0);break}y(t=e&&e.length>0?{first:s?.numberOfProducts,where:{idNEQ:O.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:O.tags},{nameNotIn:e}]}]}}:{first:s?.numberOfProducts,where:{idNEQ:O.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:O.tags}]}]}})}}}},[O,i.relatedType,i.relatedTag,s?.numberOfProducts,i.relatedExclude,i.hasRelatedExclude,d]);let A="PickProduct"===I?F.isValidating:Q.isValidating,B="PickProduct"===I?F.isLoading:Q.isLoading,D="PickProduct"===I?F.error:Q.error,H=Q.data?.collections?.edges?.[0]?.node,$="PickProduct"===I?core.flattenConnection(F.data?.products):core.flattenConnection(H?.products),_=core.usePageStore(e=>e.assignedProductIds),z=core.usePageStore(e=>e.isApplyAllProducts),V=React.useMemo(()=>(_??[]).length>0&&!z||z,[_,z]),U=q?.data?.products&&V?core.flattenConnection(q?.data?.products):[],J=d?U:"PickProduct"===I&&i?.productIds?.length?i?.productIds?.map(e=>$?.find(t=>t?.baseID===e)).filter(Boolean)??$:"PickProduct"!==I?$:$.filter((e,t)=>t<(i?.numOfSelectedProducts??4)),K=React.useMemo(()=>R&&d&&l||!J.length&&!B&&p&&l,[p,B,R,d,l,J.length]),X=React.useMemo(()=>!J||R&&d,[R,d,J]),Y=React.useMemo(()=>{if(!s?.sameHeight)return[];let e=0,t=Math.ceil((J?.length??0)/+(s?.slidesToShow?.[n]??1));return Array.from(Array(J?.length??0)).map((o,a)=>(a>=+(s?.slidesToShow?.[n]??1)*(e+1)&&++e,{gridRow:`${1+P*e}/${P+1+P*e}`,marginBottom:e+1<t?helpers$1.getPropertyByDevice(r?.horizontalGutter,n):void 0}))},[s?.sameHeight,s?.slidesToShow,P,J?.length,n,r?.horizontalGutter]),Z=React.useMemo(()=>A||B||D||!J||R&&d,[D,B,R,d,A,J]),ee=O?.collections?.edges.map(e=>e.node?.id)??[];React.useEffect(()=>{Z||setTimeout(()=>{let{builderData:e}=o??{},t=e?.childrens?.[0];if(!t)return;let r=document.querySelector(`[data-id=${t}] div`);r&&f(r.childElementCount||1)},l?0:500)},[o,Z,l,ee]);let et=React.useMemo(()=>({collection:H,products:J,settings:{loop:s?.loop??{desktop:!1},scrollMode:s?.scrollMode??{desktop:"snap"},slidesToShow:s?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:r?.layout,dot:s?.dot,dotStyle:s?.dotStyle,arrow:s?.arrow,controlOverContent:s?.controlOverContent},styles:{horizontalGutter:r?.horizontalGutter,verticalGutter:r?.verticalGutter,fullWidth:r?.fullWidth,spacing:r?.spacing,width:r?.width,height:r?.height}}),[H,J,s,r]);if(o?.isPreview&&v)return jsxRuntime.jsx(jsxRuntime.Fragment,{});if(K)return jsxRuntime.jsx(jsxRuntime.Fragment,{children:system.If(p,jsxRuntime.jsx(ProductNotFound,{builderAttrs:a,collectionHandle:H?.handle,productSrc:I,onClose:()=>j(!1),children:t,relatedTagString:c,assignProductNoTags:N,noAssignedProduct:!T}))});let{productListWrapStyle:er,productListContentStyle:eo,productListWrapAlignStyle:es}=styles.getStyle(e),{productListWrapClass:ea}=classes.getClass(e),ed=()=>jsxRuntime.jsx(jsxRuntime.Fragment,{children:system.If(r?.layout==="grid",jsxRuntime.jsx(ProductListGridLayout.default,{...e,productSortedById:J,generateGridRowArray:Y}),jsxRuntime.jsx(ProductListCarouselLayout.default,{...e,productSortedById:J}))});return jsxRuntime.jsxs("div",{...a,className:ea,style:er,children:[!!r?.preloadBgImage&&jsxRuntime.jsxs(Head,{children:[!!r.backgroundImage?.desktop?.image?.src&&jsxRuntime.jsx("link",{rel:"preload",href:r.backgroundImage.desktop.image.src,as:"image"}),!!r.backgroundImage?.tablet?.image?.src&&jsxRuntime.jsx("link",{rel:"preload",href:r.backgroundImage?.tablet?.image?.src,as:"image"}),!!r.backgroundImage?.mobile?.image?.src&&jsxRuntime.jsx("link",{rel:"preload",href:r.backgroundImage?.mobile?.image?.src,as:"image"})]}),A||B?jsxRuntime.jsx(Loading.default,{}):D?jsxRuntime.jsxs("div",{children:["Error: ",D?.message]}):X?jsxRuntime.jsx("div",{children:"Products not found"}):jsxRuntime.jsx(core.ProductListProvider,{...et,children:jsxRuntime.jsx("div",{className:"gp-flex gp-w-full",style:es,children:jsxRuntime.jsxs("div",{style:eo,children:[v&&jsxRuntime.jsx(SalePageProductListWarning.default,{}),ed()]})})}),core.filterToolbarPreview(t,!0)]})};exports.default=ProductList;
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useMemo as r}from"react";import{useProduct as s}from"@gem-sdk/core";import a from"./layouts/FeatureImageWithGalleryImage.js";import o from"./FeatureImage.js";import m from"./layouts/OnlyGalleryImage.js";import{createClass as l,createStyle as i}from"@gem-sdk/system";import{getProductImageClass as c}from"../../common/classes.js";let PostPurchaseProductImages=g=>{let{setting:n,styles:d,builderProps:f,builderAttrs:u,style:p,children:y}=g,I={...n,...d},{layoutType:h="bottom-center"}=I,b=s(),E=e=>e?.medias?.edges.filter(e=>!["VIDEO","EXTERNAL_VIDEO","MODEL_3D"].includes(e.node?.contentType||"")).map(e=>e?.node),D=e=>!!e&&["EXTERNAL_VIDEO","MODEL_3D","VIDEO"].includes(e),P=r(()=>{let e=E(b)?.map(e=>(e&&(e.src=D(e.contentType)?e?.previewImage:e.src),e));return e?.length?e:[{id:b?.featuredImage?.id||"noImageError",src:b?.featuredImage?.src||"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif",width:b?.featuredImage?.width||480,height:b?.featuredImage?.height||480}]},[b]),O=()=>["bottom-center","left","right"].includes(h)?t(a,{gallery:P,builderProps:f,setting:n,styles:d}):["one-col","two-col"].includes(h)?t(m,{gallery:P,builderProps:f,setting:n,styles:d}):t(o,{gallery:P,styles:d,setting:n}),j=l(c({align:I?.align})),_=i({...p});return e("div",{...u,className:j,style:_,children:[t("div",{className:j,children:O()}),y]})};export{PostPurchaseProductImages as default};
2
+ import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useMemo as r}from"react";import{useProduct as s}from"@gem-sdk/core";import a from"./layouts/FeatureImageWithGalleryImage.js";import o from"./FeatureImage.js";import m from"./layouts/OnlyGalleryImage.js";import{createClass as l,createStyle as i}from"@gem-sdk/system";import{getProductImageClass as c}from"../../common/classes.js";let PostPurchaseProductImages=g=>{let{setting:n,styles:d,builderProps:f,builderAttrs:u,style:I,children:p}=g,y={...n,...d},{layoutType:b="bottom-center"}=y,h=s(),E=e=>e?.medias?.edges.filter(e=>!["VIDEO","EXTERNAL_VIDEO","MODEL_3D"].includes(e.node?.contentType||"")).map(e=>e?.node),D=e=>!!e&&["EXTERNAL_VIDEO","MODEL_3D","VIDEO"].includes(e),P=r(()=>{let e=E(h)?.map(e=>(e&&(e.src=D(e.contentType)?e?.previewImage:e.src),e));return e?.length?e:[{id:h?.featuredImage?.id||"noImageError",baseID:h?.featuredImage?.baseID||"noImageError",src:h?.featuredImage?.src||"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif",width:h?.featuredImage?.width||480,height:h?.featuredImage?.height||480}]},[h]),O=()=>["bottom-center","left","right"].includes(b)?t(a,{gallery:P,builderProps:f,setting:n,styles:d}):["one-col","two-col"].includes(b)?t(m,{gallery:P,builderProps:f,setting:n,styles:d}):t(o,{gallery:P,styles:d,setting:n}),j=l(c({align:y?.align})),_=i({...I});return e("div",{...u,className:j,style:_,children:[t("div",{className:j,children:O()}),p]})};export{PostPurchaseProductImages as default};
@@ -1 +1 @@
1
- let productOfferPlaceholder={id:"",title:"Dynamic product",description:"This is a dynamic product. The actual product will appear here based on your setup",descriptionHtml:'<p class="QN2lPu">This is a dynamic product. The actual product will</p>\n<p class="QN2lPu">appear here based on your setup</p>',createdAt:"2024-07-01T04:19:51.286753Z",handle:"dynamic-product",averageRating:0,isStorefront:!0,isSample:!1,baseID:"",sku:"",options:[{id:"1",name:"Variant",optionType:"",values:[{id:"1",label:"Variant option",isDefault:!0,baseID:""}]}],vendor:"",featuredImage:{id:"542178560626918105",contentType:"IMAGE",previewImage:"",src:"https://cdn.shopify.com/s/files/1/0858/3168/0279/files/gempages_502328832959710176-312cf60c-d923-4913-9873-66545effe9cc.png",width:449,height:449,alt:""},collections:{edges:[{node:{id:"502321959132988135",title:"Home page"}},{node:{id:"539286505089204764",title:"b"}},{node:{id:"539286505089401372",title:"e"}}]},tags:[],medias:{edges:[{cursor:"gqFpzweGNIc/AALZoXYB",node:{id:"542178560626918105",contentType:"IMAGE",previewImage:"",src:"https://cdn.shopify.com/s/files/1/0858/3168/0279/files/gempages_502328832959710176-312cf60c-d923-4913-9873-66545effe9cc.png",width:449,height:449,alt:""}}],pageInfo:{endCursor:"gqFpzweGNIc/AALZoXYB",hasNextPage:!0}},variants:{edges:[{cursor:"gqFpzwc5ZqRtDAMIoXYC",node:{id:"520560088328176392",title:"Default Title",barcode:"",baseID:"gid://shopify/ProductVariant/49298248925463",costPrice:"88",height:0,inventoryPolicy:"DENY",inventoryQuantity:211,inventoryStatus:"",isDigital:!0,length:0,lowInventoryAmount:0,manageInventory:!1,mediaId:"0",platform:"SHOPIFY",price:"88",salePrice:"88",sku:"",soldIndividually:!1,weight:0,width:0,selectedOptions:[],media:void 0}},{cursor:"gqFpzwc5ZqRtDAMIoXYC",node:{id:"520560088328176392",title:"Default Title",barcode:"",baseID:"gid://shopify/ProductVariant/49298248925463",costPrice:"88",height:0,inventoryPolicy:"DENY",inventoryQuantity:211,inventoryStatus:"",isDigital:!0,length:0,lowInventoryAmount:0,manageInventory:!1,mediaId:"0",platform:"SHOPIFY",price:"88",salePrice:"88",sku:"",soldIndividually:!1,weight:0,width:0,selectedOptions:[],media:void 0}}],pageInfo:{hasNextPage:!1,endCursor:"gaFpzwc5ZqRtDAMI"}}};export{productOfferPlaceholder};
1
+ let productOfferPlaceholder={id:"",title:"Dynamic product",description:"This is a dynamic product. The actual product will appear here based on your setup",descriptionHtml:'<p class="QN2lPu">This is a dynamic product. The actual product will</p>\n<p class="QN2lPu">appear here based on your setup</p>',createdAt:"2024-07-01T04:19:51.286753Z",handle:"dynamic-product",averageRating:0,isStorefront:!0,isSample:!1,baseID:"",sku:"",options:[{id:"1",name:"Variant",optionType:"",values:[{id:"1",label:"Variant option",isDefault:!0,baseID:""}]}],vendor:"",featuredImage:{id:"542178560626918105",baseID:"",contentType:"IMAGE",previewImage:"",src:"https://cdn.shopify.com/s/files/1/0858/3168/0279/files/gempages_502328832959710176-312cf60c-d923-4913-9873-66545effe9cc.png",width:449,height:449,alt:""},collections:{edges:[{node:{id:"502321959132988135",title:"Home page"}},{node:{id:"539286505089204764",title:"b"}},{node:{id:"539286505089401372",title:"e"}}]},tags:[],medias:{edges:[{cursor:"gqFpzweGNIc/AALZoXYB",node:{id:"542178560626918105",baseID:"",contentType:"IMAGE",previewImage:"",src:"https://cdn.shopify.com/s/files/1/0858/3168/0279/files/gempages_502328832959710176-312cf60c-d923-4913-9873-66545effe9cc.png",width:449,height:449,alt:""}}],pageInfo:{endCursor:"gqFpzweGNIc/AALZoXYB",hasNextPage:!0}},variants:{edges:[{cursor:"gqFpzwc5ZqRtDAMIoXYC",node:{id:"520560088328176392",title:"Default Title",barcode:"",baseID:"gid://shopify/ProductVariant/49298248925463",costPrice:"88",height:0,inventoryPolicy:"DENY",inventoryQuantity:211,inventoryStatus:"",isDigital:!0,length:0,lowInventoryAmount:0,manageInventory:!1,mediaId:"0",platform:"SHOPIFY",price:"88",salePrice:"88",sku:"",soldIndividually:!1,weight:0,width:0,selectedOptions:[],media:void 0}},{cursor:"gqFpzwc5ZqRtDAMIoXYC",node:{id:"520560088328176392",title:"Default Title",barcode:"",baseID:"gid://shopify/ProductVariant/49298248925463",costPrice:"88",height:0,inventoryPolicy:"DENY",inventoryQuantity:211,inventoryStatus:"",isDigital:!0,length:0,lowInventoryAmount:0,manageInventory:!1,mediaId:"0",platform:"SHOPIFY",price:"88",salePrice:"88",sku:"",soldIndividually:!1,weight:0,width:0,selectedOptions:[],media:void 0}}],pageInfo:{hasNextPage:!1,endCursor:"gaFpzwc5ZqRtDAMI"}}};export{productOfferPlaceholder};
@@ -1 +1 @@
1
- import{useMemo as l}from"react";import{useCurrentVariant as r,useProduct as e,useProductStore as i,useQuantity as n,convertDecimalToNumber as t,shopifyPriceRounding as s,useFormatMoney as o}from"@gem-sdk/core";import{calculateRecurringPrice as u,formatInterval as g}from"../helpers/product-price-breakdown/getPrice.js";let useRecurringSubtotal=()=>{let c=r(),f=e(),p=i(l=>l.selectedSellingPlan),{quantity:a}=n(),P=c?.sellingPlanGroups,b=f?.sellingPlanGroups,m=t(c?.price)??0,S=l(()=>{if(!p)return null;let l=c?.sellingPlanGroups??f?.sellingPlanGroups??[];for(let r of l)if(r?.sellingPlans){for(let l of r.sellingPlans)if(l?.baseID===p)return l}return null},[JSON.stringify(P),JSON.stringify(b),p]),y=JSON.stringify(S?.pricingPolicies),d=JSON.stringify(S?.billingPolicy),G=S?.baseID,J=l(()=>{if(!G||!c||m<=0||!S)return 0;let l=u({variantPrice:m,pricingPolicies:S.pricingPolicies}),r=l*(a||1);return parseFloat(s(r,2))},[y,m,a,G]),N=l(()=>{if(!G||!S)return null;let l=S.billingPolicy;return g({billingPolicy:l})},[d,G]),O=o(J,!1),k=l(()=>G&&!(J<=0)&&N?`${O} ${N}`:null,[G,J,N,O]);return k};export{useRecurringSubtotal};
1
+ import{useMemo as l}from"react";import{useCurrentVariant as r,useProduct as e,useProductStore as i,useQuantity as n,convertDecimalToNumber as t,shopifyPriceRounding as s,useFormatMoney as o}from"@gem-sdk/core";import{calculateRecurringPrice as u,formatInterval as g}from"../helpers/product-price-breakdown/getPrice.js";let useRecurringSubtotal=()=>{let a=r(),c=e(),f=i(l=>l.selectedSellingPlan),{quantity:p}=n(),P=a?.sellingPlanGroups,m=c?.sellingPlanGroups,b=t(a?.price)??0,S=l(()=>{if(!f)return null;let l=a?.sellingPlanGroups??c?.sellingPlanGroups??[];for(let r of l)if(r?.sellingPlans){for(let l of r.sellingPlans)if(l?.baseID===f)return l}return null},[JSON.stringify(P),JSON.stringify(m),f]),y=JSON.stringify(S?.pricingPolicies),d=JSON.stringify(S?.billingPolicy),G=S?.baseID,J=l(()=>{if(!G||!a||b<=0||!S)return 0;let l=u({variantPrice:b,pricingPolicies:S.pricingPolicies}),r=l*(p||1);return parseFloat(s(r,2))},[y,b,p,G]),N=l(()=>{if(!G||!S)return null;let l=S.billingPolicy;return g({billingPolicy:l})},[d,G]),O=o(Math.max(J,0),!1),h=l(()=>G&&N?`${O} ${N}`:null,[G,N,O]);return h};export{useRecurringSubtotal};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useProduct as i,useCurrentDevice as o,useCurrentVariant as r,useProductStore as l,getResponsiveValueByScreen as a,makeStyleResponsive as s,makeHeight as g,cls as p,makeStyle as m}from"@gem-sdk/core";import{useState as u,useRef as d,useMemo as n,useCallback as c,useEffect as f}from"react";import b from"./product-images/ProductFeaturedImage.js";import{getFlexDirection as h}from"../helpers/product-image.js";import{getStyleAlignment as I,checkAddOverFlowClass as y,convertUnitToNumber as V,getTypeWidthDevice as w}from"./product-images/common/helpers.js";import P from"./product-images/ProductGalleryCarousel.js";import j from"./product-images/ProductGalleryGrid.js";import x from"./product-images/ProductImagesLightBox.js";import{getStyleWidthForGallery as k,getStyleGallerySpacing as E}from"./product-images/common/productGallery.js";let DEVICES=["mobile","tablet","desktop"],getProductGallery=e=>e?.medias?.edges.map(e=>e?.node),ProductImages=H=>{let{setting:v,styles:C,builderProps:G,builderAttrs:D,style:L,children:z}=H,R={...H.styles,...H.setting},S={...H.styles,...H.setting},N=i(),U=o(),B=r(),F=l(e=>e.setProductFeaturedImage),[O,A]=u(!1),[T,_]=u(100),q=d(null),J=a(v?.galleryVisible,U),K=a(v?.featureImageVisible,U),M=n(()=>a(C?.position,U),[U,C?.position]),Q=n(()=>k({galleryVisible:v?.galleryVisible,featureImageVisible:v?.featureImageVisible,position:C?.position,width:C?.width,widthHorizontalLayout:C?.widthHorizontalLayout}),[C?.position,C?.width,C?.widthHorizontalLayout,v?.galleryVisible,v?.featureImageVisible]),W=n(()=>{let e=getProductGallery(N);return e?.length?e:[{id:N?.featuredImage?.id??"noImageError",src:N?.featuredImage?.src??"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif",width:N?.featuredImage?.width??480,height:N?.featuredImage?.height??480}]},[N]),X=n(()=>I(C?.align,C?.position),[C?.position,C?.align]),Y=n(()=>W.reduce((e,t,i)=>t?{...e,[t.id]:i}:e,{}),[W]),Z=n(()=>E(C?.position,C?.gallerySpacing),[C?.position,C?.gallerySpacing]),$=n(()=>y(L),[L]),ee=n(()=>{let e={};return DEVICES.forEach(t=>{let i=V(C?.height?.[t],0),o=a(v?.galleryVisible,t),r=a(v?.featureImageVisible,t),l=a(C?.position,t),s=("left"===l||"right"===l)&&o&&r;e=i?"number"==typeof C?.height?.[t]?{...e,[t]:C?.height?.[t]+"px"}:C?.height?.[t]?.includes("%")?{...e,[t]:V(C?.height?.[t],T)*T/100+"px"}:{...e,[t]:C?.height?.[t]}:{...e,[t]:s?T+"px":"auto"}}),e},[T,C?.height,C?.position,v?.featureImageVisible,v?.galleryVisible]),et=c(()=>s("h",g(ee)),[ee]);f(()=>{if(B){let e=Y[B?.mediaId]??0,t=W[e]??N?.featuredImage;t&&F(t)}},[B,Y,W,N?.featuredImage,F]),f(()=>{let e=null;return q?.current&&(e=new ResizeObserver(()=>{_(q?.current?.offsetHeight??0)})).observe(q.current,{}),()=>{e?.disconnect()}},[v?.featureImageVisible,U]),f(()=>{v?.featureImageVisible&&setTimeout(()=>{_(q?.current?.offsetHeight??0)},100)},[v?.featureImageVisible,U]);let ei=e=>{if(!e)return;let t=Y[e];if(void 0!==t){let e=W[t];e&&F(e)}},eo=e=>{let t=v?.clickEffect=="popup"||a(v?.largeViewInPopup,U);t&&A(!0),ei(e)},er=e=>{let t=a(v?.largeViewInPopup,U);t&&eo(e),ei(e)};return e("div",{...D,className:p(G?.uid,{"gp-overflow-hidden":$}),style:{...L},children:[e("div",{className:p("gp-flex gp-w-full",{...h(H)}),style:{...X},children:[K&&t(b,{imgRef:q,productImages:W,...R,onOpenLightBox:()=>A(!0)}),J&&W.length>1&&t("div",{className:p("gp-product-images-gallery gp-inline-flex gp-h-fit gp-max-w-full",{"gp-justify-start":C?.position?.desktop=="bottom-left","tablet:gp-justify-start":C?.position?.tablet=="bottom-left","mobile:gp-justify-start":C?.position?.mobile=="bottom-left","gp-justify-center":C?.position?.desktop=="bottom-center","tablet:gp-justify-center":C?.position?.tablet=="bottom-center","mobile:gp-justify-center":C?.position?.mobile=="bottom-center","gp-mx-auto":"bottom-center"==M}),style:{...m({fs:"1.23"}),...Q,...Z,...et()},children:"slider"===w(v?.type)[U]||"left"===M||"right"===M?t(P,{productImages:W,...S,builderPropUID:G?.uid,onHandleClick:e=>er(e||"")}):t(j,{productImages:W,...S,builderPropUID:G?.uid,onHandleClick:e=>er(e||"")})})]}),(v?.clickEffect=="popup"||a(v?.largeViewInPopup,U))&&t(x,{productImages:W,builderPropUID:G?.uid,open:O,onHandleClose:()=>A(!1),imageRatio:C?.ftAspectRatio}),z]})};export{ProductImages as default};
2
+ import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useProduct as i,useCurrentDevice as o,useCurrentVariant as r,useProductStore as l,getResponsiveValueByScreen as a,makeStyleResponsive as s,makeHeight as g,cls as p,makeStyle as m}from"@gem-sdk/core";import{useState as u,useRef as d,useMemo as n,useCallback as c,useEffect as f}from"react";import b from"./product-images/ProductFeaturedImage.js";import{getFlexDirection as h}from"../helpers/product-image.js";import{getStyleAlignment as I,checkAddOverFlowClass as y,convertUnitToNumber as V,getTypeWidthDevice as w}from"./product-images/common/helpers.js";import P from"./product-images/ProductGalleryCarousel.js";import j from"./product-images/ProductGalleryGrid.js";import x from"./product-images/ProductImagesLightBox.js";import{getStyleWidthForGallery as E,getStyleGallerySpacing as k}from"./product-images/common/productGallery.js";let DEVICES=["mobile","tablet","desktop"],getProductGallery=e=>e?.medias?.edges.map(e=>e?.node),ProductImages=H=>{let{setting:v,styles:D,builderProps:C,builderAttrs:G,style:L,children:z}=H,R={...H.styles,...H.setting},S={...H.styles,...H.setting},N=i(),U=o(),B=r(),F=l(e=>e.setProductFeaturedImage),[O,A]=u(!1),[T,_]=u(100),q=d(null),J=a(v?.galleryVisible,U),K=a(v?.featureImageVisible,U),M=n(()=>a(D?.position,U),[U,D?.position]),Q=n(()=>E({galleryVisible:v?.galleryVisible,featureImageVisible:v?.featureImageVisible,position:D?.position,width:D?.width,widthHorizontalLayout:D?.widthHorizontalLayout}),[D?.position,D?.width,D?.widthHorizontalLayout,v?.galleryVisible,v?.featureImageVisible]),W=n(()=>{let e=getProductGallery(N);return e?.length?e:[{id:N?.featuredImage?.id??"noImageError",baseID:N?.featuredImage?.baseID??"noImageError",src:N?.featuredImage?.src??"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif",width:N?.featuredImage?.width??480,height:N?.featuredImage?.height??480}]},[N]),X=n(()=>I(D?.align,D?.position),[D?.position,D?.align]),Y=n(()=>W.reduce((e,t,i)=>t?{...e,[t.id]:i}:e,{}),[W]),Z=n(()=>k(D?.position,D?.gallerySpacing),[D?.position,D?.gallerySpacing]),$=n(()=>y(L),[L]),ee=n(()=>{let e={};return DEVICES.forEach(t=>{let i=V(D?.height?.[t],0),o=a(v?.galleryVisible,t),r=a(v?.featureImageVisible,t),l=a(D?.position,t),s=("left"===l||"right"===l)&&o&&r;e=i?"number"==typeof D?.height?.[t]?{...e,[t]:D?.height?.[t]+"px"}:D?.height?.[t]?.includes("%")?{...e,[t]:V(D?.height?.[t],T)*T/100+"px"}:{...e,[t]:D?.height?.[t]}:{...e,[t]:s?T+"px":"auto"}}),e},[T,D?.height,D?.position,v?.featureImageVisible,v?.galleryVisible]),et=c(()=>s("h",g(ee)),[ee]);f(()=>{if(B){let e=Y[B?.mediaId]??0,t=W[e]??N?.featuredImage;t&&F(t)}},[B,Y,W,N?.featuredImage,F]),f(()=>{let e=null;return q?.current&&(e=new ResizeObserver(()=>{_(q?.current?.offsetHeight??0)})).observe(q.current,{}),()=>{e?.disconnect()}},[v?.featureImageVisible,U]),f(()=>{v?.featureImageVisible&&setTimeout(()=>{_(q?.current?.offsetHeight??0)},100)},[v?.featureImageVisible,U]);let ei=e=>{if(!e)return;let t=Y[e];if(void 0!==t){let e=W[t];e&&F(e)}},eo=e=>{let t=v?.clickEffect=="popup"||a(v?.largeViewInPopup,U);t&&A(!0),ei(e)},er=e=>{let t=a(v?.largeViewInPopup,U);t&&eo(e),ei(e)};return e("div",{...G,className:p(C?.uid,{"gp-overflow-hidden":$}),style:{...L},children:[e("div",{className:p("gp-flex gp-w-full",{...h(H)}),style:{...X},children:[K&&t(b,{imgRef:q,productImages:W,...R,onOpenLightBox:()=>A(!0)}),J&&W.length>1&&t("div",{className:p("gp-product-images-gallery gp-inline-flex gp-h-fit gp-max-w-full",{"gp-justify-start":D?.position?.desktop=="bottom-left","tablet:gp-justify-start":D?.position?.tablet=="bottom-left","mobile:gp-justify-start":D?.position?.mobile=="bottom-left","gp-justify-center":D?.position?.desktop=="bottom-center","tablet:gp-justify-center":D?.position?.tablet=="bottom-center","mobile:gp-justify-center":D?.position?.mobile=="bottom-center","gp-mx-auto":"bottom-center"==M}),style:{...m({fs:"1.23"}),...Q,...Z,...et()},children:"slider"===w(v?.type)[U]||"left"===M||"right"===M?t(P,{productImages:W,...S,builderPropUID:C?.uid,onHandleClick:e=>er(e||"")}):t(j,{productImages:W,...S,builderPropUID:C?.uid,onHandleClick:e=>er(e||"")})})]}),(v?.clickEffect=="popup"||a(v?.largeViewInPopup,U))&&t(x,{productImages:W,builderPropUID:C?.uid,open:O,onHandleClose:()=>A(!1),imageRatio:D?.ftAspectRatio}),z]})};export{ProductImages as default};
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import{jsxs as e,jsx as t}from"react/jsx-runtime";import{setDefaultWhenUndefineSetting as a,getAspectRatio as i}from"./common/common.js";import{useProductShopifyEditLink as C,useProduct as o,useCurrentDevice as l,useCurrentVariant as d,useSelectedOption as r,useEditorMode as n,useProductStore as s,getResponsiveValueByScreen as p,filterToolbarPreview as c}from"@gem-sdk/core";import{useMemo as m,useState as f,useEffect as g,Children as h,isValidElement as u}from"react";import y from"./components/feature-gallery/FeatureImageWithGallery.js";import D from"./components/feature-only/OnlyFeatureImage.js";import I from"./components/lightbox/ProductImagesLightBox.js";import b from"../../../common/components/NoDataState.js";import{getProductImagesClassName as M}from"./composables/getProductImagesClassName.js";import{getBorderActiveCss as E}from"./common/getBorderActiveCss.js";import Z from"./components/gallery-grid/GalleryGrid.js";let getProductGallery=e=>e?.medias?.edges.map(e=>e?.node),LAYOUT_FEATURE_IMAGE_GALLERY=["bottom-left","bottom-center","left","right","inside-left","inside-right","inside-bottom"],ProductImagesV2=k=>{let w=m(()=>a(k),[k]),{redirectProductShopifyLink:L}=C(),{setting:A,styles:V,builderProps:v,builderAttrs:x,style:H,children:P}=w,G=o(),O=l(),T=d(),{isChangeSelectedOption:_}=r(),S=n(),j=s(e=>e.setProductFeaturedImage),[F,B]=f(!1),R=e=>e?.medias?.edges.find(e=>["VIDEO","EXTERNAL_VIDEO"].includes(e?.node?.contentType??""))?.node,N=e=>e?.featuredImage,U=e=>e?.medias?.edges.find(e=>e?.node?.contentType==="MODEL_3D")?.node,Y=m(()=>A?.typeDisplay==="all-images"&&!_,[_,A?.typeDisplay]),z=m(()=>{if(Y){let e;switch(A?.preDisplay){case"1st-images":e=N(G);break;case"1st-3d-mode":e=U(G);break;case"1st-video":e=R(G);break;case"1st-available-variant":e=T?.media}return j(e),e}},[Y,A?.preDisplay,j,G,T?.media]),J=m(()=>{let e=getProductGallery(G);return e?.length?e:[{id:G?.featuredImage?.id||"noImageError",src:G?.featuredImage?.src||"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif",width:G?.featuredImage?.width||480,height:G?.featuredImage?.height||480}]},[G]),W=m(()=>J.reduce((e,t,a)=>t?{...e,[t.id]:a}:e,{}),[J]),X=m(()=>p(V?.position,O),[O,V?.position]),q=(e,t)=>{Q(e),t&&K()},K=()=>{B(!0)},Q=e=>{if(!e)return;let t=W[e];if(void 0!==t){let e=J[t];e&&j(e)}};g(()=>{if(T&&!Y){let e=W[T?.mediaId];if(void 0!==e){let t=J[e]??G?.featuredImage;t&&j(t)}}},[T,W,J,G?.featuredImage,j,Y]);let $=m(()=>{let e="popup"===p(A?.ftClickOpenLightBox,O)||p(A?.clickOpenLightBox,O);return e||"edit"!==S||window?.parent?.postMessage?.(JSON.stringify({type:"active-modal",value:open}),"*"),e},[A?.ftClickOpenLightBox,A?.clickOpenLightBox,O,S]),ee=()=>J.length>0?h.map(c(P),e=>u(e)?t(e.type,{...e.props,isInsideProductImage:!0,navigationPosition:A?.ftNavigationPosition,imageData:{imageShape:V?.ftShape,imageAlign:V?.align,imageLayout:V?.position},dotData:{dotSize:A?.ftDotSize,dotGapToCarousel:A?.ftDotGapToCarousel,dotStyle:A?.ftDotStyle}}):null):null,et=`
2
+ import{jsxs as e,jsx as t}from"react/jsx-runtime";import{setDefaultWhenUndefineSetting as a,getAspectRatio as i}from"./common/common.js";import{useProductShopifyEditLink as C,useProduct as o,useCurrentDevice as l,useCurrentVariant as r,useSelectedOption as d,useEditorMode as n,useProductStore as s,getResponsiveValueByScreen as p,filterToolbarPreview as m}from"@gem-sdk/core";import{useMemo as c,useState as g,useEffect as f,Children as h,isValidElement as u}from"react";import y from"./components/feature-gallery/FeatureImageWithGallery.js";import I from"./components/feature-only/OnlyFeatureImage.js";import D from"./components/lightbox/ProductImagesLightBox.js";import b from"../../../common/components/NoDataState.js";import{getProductImagesClassName as M}from"./composables/getProductImagesClassName.js";import{getBorderActiveCss as E}from"./common/getBorderActiveCss.js";import Z from"./components/gallery-grid/GalleryGrid.js";let getProductGallery=e=>e?.medias?.edges.map(e=>e?.node),LAYOUT_FEATURE_IMAGE_GALLERY=["bottom-left","bottom-center","left","right","inside-left","inside-right","inside-bottom"],ProductImagesV2=k=>{let w=c(()=>a(k),[k]),{redirectProductShopifyLink:L}=C(),{setting:A,styles:V,builderProps:v,builderAttrs:x,style:H,children:P}=w,G=o(),O=l(),T=r(),{isChangeSelectedOption:_}=d(),S=n(),j=s(e=>e.setProductFeaturedImage),[F,B]=g(!1),R=e=>e?.medias?.edges.find(e=>["VIDEO","EXTERNAL_VIDEO"].includes(e?.node?.contentType??""))?.node,N=e=>e?.featuredImage,U=e=>e?.medias?.edges.find(e=>e?.node?.contentType==="MODEL_3D")?.node,Y=c(()=>A?.typeDisplay==="all-images"&&!_,[_,A?.typeDisplay]),z=c(()=>{if(Y){let e;switch(A?.preDisplay){case"1st-images":e=N(G);break;case"1st-3d-mode":e=U(G);break;case"1st-video":e=R(G);break;case"1st-available-variant":e=T?.media}return j(e),e}},[Y,A?.preDisplay,j,G,T?.media]),J=c(()=>{let e=getProductGallery(G);return e?.length?e:[{id:G?.featuredImage?.id||"noImageError",baseID:G?.featuredImage?.baseID||"noImageError",src:G?.featuredImage?.src||"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif",width:G?.featuredImage?.width||480,height:G?.featuredImage?.height||480}]},[G]),W=c(()=>J.reduce((e,t,a)=>t?{...e,[t.id]:a}:e,{}),[J]),X=c(()=>p(V?.position,O),[O,V?.position]),q=(e,t)=>{Q(e),t&&K()},K=()=>{B(!0)},Q=e=>{if(!e)return;let t=W[e];if(void 0!==t){let e=J[t];e&&j(e)}};f(()=>{if(T&&!Y){let e=W[T?.mediaId];if(void 0!==e){let t=J[e]??G?.featuredImage;t&&j(t)}}},[T,W,J,G?.featuredImage,j,Y]);let $=c(()=>{let e="popup"===p(A?.ftClickOpenLightBox,O)||p(A?.clickOpenLightBox,O);return e||"edit"!==S||window?.parent?.postMessage?.(JSON.stringify({type:"active-modal",value:open}),"*"),e},[A?.ftClickOpenLightBox,A?.clickOpenLightBox,O,S]),ee=()=>J.length>0?h.map(m(P),e=>u(e)?t(e.type,{...e.props,isInsideProductImage:!0,navigationPosition:A?.ftNavigationPosition,imageData:{imageShape:V?.ftShape,imageAlign:V?.align,imageLayout:V?.position},dotData:{dotSize:A?.ftDotSize,dotGapToCarousel:A?.ftDotGapToCarousel,dotStyle:A?.ftDotStyle}}):null):null,et=`
3
3
  <svg viewBox="0 0 452 400" fill="none" xmlns="http://www.w3.org/2000/svg">
4
4
  <path d="M0 7.99999C0 3.58171 3.58172 0 8 0H444C448.418 0 452 3.58172 452 8V392C452 396.418 448.418 400 444 400H8C3.58173 400 0 396.418 0 392V7.99999Z" fill="#F9F9F9"/>
5
5
  <path d="M208.148 348.801C239.683 348.75 265.245 347.272 265.242 345.499C265.239 343.726 239.673 342.33 208.138 342.381C176.603 342.432 151.041 343.91 151.044 345.683C151.047 347.456 176.614 348.851 208.148 348.801Z" fill="#E6E6E6"/>
@@ -23,4 +23,4 @@ import{jsxs as e,jsx as t}from"react/jsx-runtime";import{setDefaultWhenUndefineS
23
23
  <path opacity="0.2" d="M293.196 231.862C306.954 231.862 318.106 217.921 318.106 200.724C318.106 183.527 306.954 169.586 293.196 169.586C279.439 169.586 268.286 183.527 268.286 200.724C268.286 217.921 279.439 231.862 293.196 231.862Z" fill="white"/>
24
24
  <path opacity="0.2" d="M293.196 247.637C313.923 247.637 330.726 226.634 330.726 200.725C330.726 174.816 313.923 153.812 293.196 153.812C272.469 153.812 255.666 174.816 255.666 200.725C255.666 226.634 272.469 247.637 293.196 247.637Z" fill="white"/>
25
25
  </svg>
26
- `,ea=t(b,{elementType:"secondary",description:"Catch your customer's attention with attracted media.",descriptionActions:[{text:"Add image",callback:L},{text:"sync data",callback:"syncProduct"}],additionalMedia:et}),{wrapperClasses:ei}=M(k);return e("div",{...x,className:ei,style:H,children:[t("style",{dangerouslySetInnerHTML:{__html:E({settings:{...A,...V},uid:v?.uid,type:"React"})}}),LAYOUT_FEATURE_IMAGE_GALLERY.includes(X)&&t(y,{...w,gallery:J,priorityFeatureImage:z,onHandleClickImage:(e,t)=>q(e||"",t),noDataChildren:ea,children:ee()}),"only-feature"===X&&t(D,{gallery:J,...w,onHandleClickImage:(e,t)=>q(e||"",t),noDataChildren:ea,children:ee()}),["one-col","two-col"].includes(X)&&t(Z,{gallery:J,...w,onHandleClickImage:(e,t)=>q(e||"",t),noDataChildren:ea,children:ee()}),$&&t(I,{productImages:J,builderPropUID:v?.uid,open:F,onHandleClose:()=>B(!1),imageRatio:i(V?.ftShape)}),c(P,!0)]})};export{ProductImagesV2 as default};
26
+ `,ea=t(b,{elementType:"secondary",description:"Catch your customer's attention with attracted media.",descriptionActions:[{text:"Add image",callback:L},{text:"sync data",callback:"syncProduct"}],additionalMedia:et}),{wrapperClasses:ei}=M(k);return e("div",{...x,className:ei,style:H,children:[t("style",{dangerouslySetInnerHTML:{__html:E({settings:{...A,...V},uid:v?.uid,type:"React"})}}),LAYOUT_FEATURE_IMAGE_GALLERY.includes(X)&&t(y,{...w,gallery:J,priorityFeatureImage:z,onHandleClickImage:(e,t)=>q(e||"",t),noDataChildren:ea,children:ee()}),"only-feature"===X&&t(I,{gallery:J,...w,onHandleClickImage:(e,t)=>q(e||"",t),noDataChildren:ea,children:ee()}),["one-col","two-col"].includes(X)&&t(Z,{gallery:J,...w,onHandleClickImage:(e,t)=>q(e||"",t),noDataChildren:ea,children:ee()}),$&&t(D,{productImages:J,builderPropUID:v?.uid,open:F,onHandleClose:()=>B(!1),imageRatio:i(V?.ftShape)}),m(P,!0)]})};export{ProductImagesV2 as default};
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import{jsxs as e,jsx as t}from"react/jsx-runtime";import{setDefaultWhenUndefineSetting as a,getAspectRatio as i}from"./common/common.js";import{useProductShopifyEditLink as l,useProduct as C,useCurrentDevice as o,useCurrentVariant as r,useSelectedOption as n,useEditorMode as d,useProductStore as s,getResponsiveValueByScreen as p,filterToolbarPreview as c}from"@gem-sdk/core";import{useMemo as m,useState as f,useEffect as g,Children as h,isValidElement as u}from"react";import y from"./components/feature-gallery/FeatureImageWithGallery.js";import D from"./components/feature-only/OnlyFeatureImage.js";import b from"./components/lightbox/ProductImagesLightBox.js";import I from"../../../common/components/NoDataState.js";import{getProductImagesClassName as M}from"./composables/getProductImagesClassName.js";import{getBorderActiveCss as E}from"./common/getBorderActiveCss.js";import Z from"./components/gallery-grid/GalleryGrid.js";let getProductGallery=e=>e?.medias?.edges.map(e=>e?.node),LAYOUT_FEATURE_IMAGE_GALLERY=["bottom-left","bottom-center","left","right","inside-left","inside-right","inside-bottom"],ProductImagesV3=w=>{let L=m(()=>a(w),[w]),{redirectProductShopifyLink:V}=l(),{setting:k,styles:v,builderProps:A,builderAttrs:O,style:_,children:x}=L,B=C(),H=o(),P=r(),{isChangeSelectedOption:F}=n(),G=d(),T=s(e=>e.setProductFeaturedImage),[j,S]=f(!1),R=e=>e?.medias?.edges.find(e=>["VIDEO","EXTERNAL_VIDEO"].includes(e?.node?.contentType??""))?.node,N=e=>e?.featuredImage,U=e=>e?.medias?.edges.find(e=>e?.node?.contentType==="MODEL_3D")?.node,Y=m(()=>k?.typeDisplay==="all-images"&&!F,[F,k?.typeDisplay]),z=m(()=>{if(Y){let e;switch(k?.preDisplay){case"1st-images":e=N(B);break;case"1st-3d-mode":e=U(B);break;case"1st-video":e=R(B);break;case"1st-available-variant":e=P?.media}return T(e),e}},[Y,k?.preDisplay,T,B,P?.media]),J=m(()=>k?.filterByVariant==="selected_variant",[k?.filterByVariant]),W=m(()=>{let e=getProductGallery(B);if(!e?.length)return[{id:B?.featuredImage?.id||"noImageError",src:B?.featuredImage?.src||"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif",width:B?.featuredImage?.width||480,height:B?.featuredImage?.height||480}];if(!J||!P?.selectedOptions?.length)return e;let t=P.selectedOptions.map(e=>e.value).filter(Boolean).map(e=>e?.trim().toLowerCase()),a=t.join("-"),i=e=>e.toLowerCase().trim().replace(/[\s_]+/g,"-").replace(/[^a-z\d-]/g,"").replace(/-+/g,"-"),l=e?.filter(e=>{if(!e?.alt)return!1;let t=i(e.alt),l=i(a),C="all-variants"===t,o=t===l||t.includes(l);return C||o});return l?.length>0?l:e},[P?.selectedOptions,J,B]),X=m(()=>W.reduce((e,t,a)=>t?{...e,[t.id]:a}:e,{}),[W]),q=m(()=>p(v?.position,H),[H,v?.position]),K=(e,t)=>{$(e),t&&Q()},Q=()=>{S(!0)},$=e=>{if(!e)return;let t=X[e];if(void 0!==t){let e=W[t];e&&T(e)}};g(()=>{if(P&&!Y){let e=X[P?.mediaId];if(void 0!==e){let t=W[e]??B?.featuredImage;t&&T(t)}}},[P,X,W,B?.featuredImage,T,Y]);let ee=m(()=>{let e="popup"===p(k?.ftClickOpenLightBox,H)||p(k?.clickOpenLightBox,H);return e||"edit"!==G||window?.parent?.postMessage?.(JSON.stringify({type:"active-modal",value:open}),"*"),e},[k?.ftClickOpenLightBox,k?.clickOpenLightBox,H,G]),et=()=>W.length>0?h.map(c(x),e=>u(e)?t(e.type,{...e.props,isInsideProductImage:!0,navigationPosition:k?.ftNavigationPosition,imageData:{imageShape:v?.ftShape,imageAlign:v?.align,imageLayout:v?.position},dotData:{dotSize:k?.ftDotSize,dotGapToCarousel:k?.ftDotGapToCarousel,dotStyle:k?.ftDotStyle}}):null):null,ea=`
2
+ import{jsxs as e,jsx as t}from"react/jsx-runtime";import{setDefaultWhenUndefineSetting as a,getAspectRatio as i}from"./common/common.js";import{useProductShopifyEditLink as l,useProduct as C,useCurrentDevice as o,useCurrentVariant as r,useSelectedOption as n,useEditorMode as d,useProductStore as s,getResponsiveValueByScreen as p,filterToolbarPreview as c}from"@gem-sdk/core";import{useMemo as m,useState as f,useEffect as g,Children as h,isValidElement as u}from"react";import y from"./components/feature-gallery/FeatureImageWithGallery.js";import I from"./components/feature-only/OnlyFeatureImage.js";import D from"./components/lightbox/ProductImagesLightBox.js";import b from"../../../common/components/NoDataState.js";import{getProductImagesClassName as M}from"./composables/getProductImagesClassName.js";import{getBorderActiveCss as E}from"./common/getBorderActiveCss.js";import Z from"./components/gallery-grid/GalleryGrid.js";let getProductGallery=e=>e?.medias?.edges.map(e=>e?.node),LAYOUT_FEATURE_IMAGE_GALLERY=["bottom-left","bottom-center","left","right","inside-left","inside-right","inside-bottom"],ProductImagesV3=w=>{let L=m(()=>a(w),[w]),{redirectProductShopifyLink:V}=l(),{setting:k,styles:v,builderProps:A,builderAttrs:O,style:_,children:x}=L,B=C(),H=o(),P=r(),{isChangeSelectedOption:F}=n(),G=d(),T=s(e=>e.setProductFeaturedImage),[j,S]=f(!1),R=e=>e?.medias?.edges.find(e=>["VIDEO","EXTERNAL_VIDEO"].includes(e?.node?.contentType??""))?.node,N=e=>e?.featuredImage,U=e=>e?.medias?.edges.find(e=>e?.node?.contentType==="MODEL_3D")?.node,Y=m(()=>k?.typeDisplay==="all-images"&&!F,[F,k?.typeDisplay]),z=m(()=>{if(Y){let e;switch(k?.preDisplay){case"1st-images":e=N(B);break;case"1st-3d-mode":e=U(B);break;case"1st-video":e=R(B);break;case"1st-available-variant":e=P?.media}return T(e),e}},[Y,k?.preDisplay,T,B,P?.media]),J=m(()=>k?.filterByVariant==="selected_variant",[k?.filterByVariant]),W=m(()=>{let e=getProductGallery(B);if(!e?.length)return[{id:B?.featuredImage?.id||"noImageError",baseID:B?.featuredImage?.baseID||"noImageError",src:B?.featuredImage?.src||"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif",width:B?.featuredImage?.width||480,height:B?.featuredImage?.height||480}];if(!J||!P?.selectedOptions?.length)return e;let t=P.selectedOptions.map(e=>e.value).filter(Boolean).map(e=>e?.trim().toLowerCase()),a=t.join("-"),i=e=>e.toLowerCase().trim().replace(/[\s_]+/g,"-").replace(/[^a-z\d-]/g,"").replace(/-+/g,"-"),l=e?.filter(e=>{if(!e?.alt)return!1;let t=i(e.alt),l=i(a),C="all-variants"===t,o=t===l||t.includes(l);return C||o});return l?.length>0?l:e},[P?.selectedOptions,J,B]),X=m(()=>W.reduce((e,t,a)=>t?{...e,[t.id]:a}:e,{}),[W]),q=m(()=>p(v?.position,H),[H,v?.position]),K=(e,t)=>{$(e),t&&Q()},Q=()=>{S(!0)},$=e=>{if(!e)return;let t=X[e];if(void 0!==t){let e=W[t];e&&T(e)}};g(()=>{if(P&&!Y){let e=X[P?.mediaId];if(void 0!==e){let t=W[e]??B?.featuredImage;t&&T(t)}}},[P,X,W,B?.featuredImage,T,Y]);let ee=m(()=>{let e="popup"===p(k?.ftClickOpenLightBox,H)||p(k?.clickOpenLightBox,H);return e||"edit"!==G||window?.parent?.postMessage?.(JSON.stringify({type:"active-modal",value:open}),"*"),e},[k?.ftClickOpenLightBox,k?.clickOpenLightBox,H,G]),et=()=>W.length>0?h.map(c(x),e=>u(e)?t(e.type,{...e.props,isInsideProductImage:!0,navigationPosition:k?.ftNavigationPosition,imageData:{imageShape:v?.ftShape,imageAlign:v?.align,imageLayout:v?.position},dotData:{dotSize:k?.ftDotSize,dotGapToCarousel:k?.ftDotGapToCarousel,dotStyle:k?.ftDotStyle}}):null):null,ea=`
3
3
  <svg viewBox="0 0 452 400" fill="none" xmlns="http://www.w3.org/2000/svg">
4
4
  <path d="M0 7.99999C0 3.58171 3.58172 0 8 0H444C448.418 0 452 3.58172 452 8V392C452 396.418 448.418 400 444 400H8C3.58173 400 0 396.418 0 392V7.99999Z" fill="#F9F9F9"/>
5
5
  <path d="M208.148 348.801C239.683 348.75 265.245 347.272 265.242 345.499C265.239 343.726 239.673 342.33 208.138 342.381C176.603 342.432 151.041 343.91 151.044 345.683C151.047 347.456 176.614 348.851 208.148 348.801Z" fill="#E6E6E6"/>
@@ -23,4 +23,4 @@ import{jsxs as e,jsx as t}from"react/jsx-runtime";import{setDefaultWhenUndefineS
23
23
  <path opacity="0.2" d="M293.196 231.862C306.954 231.862 318.106 217.921 318.106 200.724C318.106 183.527 306.954 169.586 293.196 169.586C279.439 169.586 268.286 183.527 268.286 200.724C268.286 217.921 279.439 231.862 293.196 231.862Z" fill="white"/>
24
24
  <path opacity="0.2" d="M293.196 247.637C313.923 247.637 330.726 226.634 330.726 200.725C330.726 174.816 313.923 153.812 293.196 153.812C272.469 153.812 255.666 174.816 255.666 200.725C255.666 226.634 272.469 247.637 293.196 247.637Z" fill="white"/>
25
25
  </svg>
26
- `,ei=t(I,{elementType:"secondary",description:"Catch your customer's attention with attracted media.",descriptionActions:[{text:"Add image",callback:V},{text:"sync data",callback:"syncProduct"}],additionalMedia:ea}),{wrapperClasses:el}=M(w);return e("div",{...O,className:el,style:_,children:[t("style",{dangerouslySetInnerHTML:{__html:E({settings:{...k,...v},uid:A?.uid,type:"React"})}}),LAYOUT_FEATURE_IMAGE_GALLERY.includes(q)&&t(y,{...L,isFilterByVariantEnabled:J,gallery:W,priorityFeatureImage:z,onHandleClickImage:(e,t)=>K(e||"",t),noDataChildren:ei,children:et()}),"only-feature"===q&&t(D,{gallery:W,...L,onHandleClickImage:(e,t)=>K(e||"",t),noDataChildren:ei,isFilterByVariantEnabled:J,children:et()}),["one-col","two-col"].includes(q)&&t(Z,{gallery:W,...L,onHandleClickImage:(e,t)=>K(e||"",t),noDataChildren:ei,children:et()}),ee&&t(b,{productImages:W,builderPropUID:A?.uid,open:j,onHandleClose:()=>S(!1),imageRatio:i(v?.ftShape)}),c(x,!0)]})};export{ProductImagesV3 as default};
26
+ `,ei=t(b,{elementType:"secondary",description:"Catch your customer's attention with attracted media.",descriptionActions:[{text:"Add image",callback:V},{text:"sync data",callback:"syncProduct"}],additionalMedia:ea}),{wrapperClasses:el}=M(w);return e("div",{...O,className:el,style:_,children:[t("style",{dangerouslySetInnerHTML:{__html:E({settings:{...k,...v},uid:A?.uid,type:"React"})}}),LAYOUT_FEATURE_IMAGE_GALLERY.includes(q)&&t(y,{...L,isFilterByVariantEnabled:J,gallery:W,priorityFeatureImage:z,onHandleClickImage:(e,t)=>K(e||"",t),noDataChildren:ei,children:et()}),"only-feature"===q&&t(I,{gallery:W,...L,onHandleClickImage:(e,t)=>K(e||"",t),noDataChildren:ei,isFilterByVariantEnabled:J,children:et()}),["one-col","two-col"].includes(q)&&t(Z,{gallery:W,...L,onHandleClickImage:(e,t)=>K(e||"",t),noDataChildren:ei,children:et()}),ee&&t(D,{productImages:W,builderPropUID:A?.uid,open:j,onHandleClose:()=>S(!1),imageRatio:i(v?.ftShape)}),c(x,!0)]})};export{ProductImagesV3 as default};
@@ -1 +1 @@
1
- import{jsx as e,Fragment as t,jsxs as o}from"react/jsx-runtime";import r from"next/dynamic";import d from"../../../common/components/Loading.js";import{useState as l,useMemo as i,useEffect as a}from"react";import{useRenderMode as c,useCurrentDevice as n,usePageType as s,usePageStore as u,useFetchHandle as m,hasPublicStoreFrontData as g,createStoreFrontFetcher as h,useProductQuery as p,useProductsQueryAll as P,useProductsQuery as f,useCollectionQuery as b,flattenConnection as k,ProductListProvider as T,filterToolbarPreview as I}from"@gem-sdk/core";import v from"../SalePageProductListWarning.js";import y from"next/head";import O from"./ProductListGridLayout.js";import N from"./ProductListCarouselLayout.js";import{getStyle as S}from"./common/styles.js";import{If as C}from"@gem-sdk/system";import{getClass as E}from"./common/classes.js";import{getData as w}from"./common/helpers.js";import{getPropertyByDevice as L}from"../../../dialog/common/helpers.js";let ProductNotFound=r(()=>import("../ProductNotFound.js"),{loading:d}),ProductList=r=>{let{children:W,styles:j,builderProps:x,setting:G,builderAttrs:M}=r,{isRelatedProduct:B,productSetting:A}=w(r),F=A.relatedTag&&A.relatedTag[0],{isEditMode:Q,isPreviewSharePageMode:z}=c(),D=n(),H=s(),R=u(e=>e.dynamicProduct),$=u(e=>e.dynamicCollection),[_,V]=l(1),[q,U]=l(!0),[J,K]=l(),[X,Y]=l(!1),Z="GP_FUNNEL_PAGE"===H,ee="GP_COLLECTION"==H;ee&&(A.productSrc="DynamicCollection",A.collectionId=$?.collectionId??"latest");let et=A?.productSrc??"Collection",eo=R?.productId&&R?.productId!==A.relatedProductId?R?.productId:A.relatedProductId,er=m(),ed=u(e=>e.publicStoreFrontData),el=i(()=>g(ed)?h(ed):er,[ed]),{data:ei}=p(B&&eo?eo:void 0,{revalidateOnMount:Q||z},el),ea=A.relatedTag&&"tags"===A.relatedTag[0]&&(!ei?.tags||ei?.tags.length===0),ec=A.relatedTag&&"collection"===A.relatedTag[0]&&(!ei?.collections?.edges||ei?.collections.edges.length===0),en=A.relatedTag&&"vendor"===A.relatedTag[0]&&!ei?.vendor,es=ea||ec||en,eu=P(J,{revalidateOnMount:Q||z},el),em=Q||z,eg=f("PickProduct"===et?A?.productIds:void 0,{revalidateOnMount:em},{defaultSelectedProductCount:A?.numOfSelectedProducts}),eh=i(()=>({id:A?.collectionId??"latest",numberOfProducts:G?.numberOfProducts??4,orderBy:G?.orderBy}),[A?.collectionId,Number(G?.numberOfProducts),G?.orderBy]),ep=b("PickProduct"!==et?eh:void 0,{revalidateOnMount:em});a(()=>{if(B&&ei&&A.relatedTag&&"recommended-product"!==A.relatedType){let e;switch(Y(!1),A.hasRelatedExclude&&(e=A?.relatedExclude&&A.relatedExclude.split(",").map(e=>e.trim())),A.relatedTag[0]){case"vendor":K({vendor:A.relatedTag&&"vendor"===A.relatedTag[0]?ei?.vendor:"",limit:G?.numberOfProducts,idNEQ:ei.id});break;case"collection":{let t;let o=ei?.collections?.edges.map(e=>e.node?.id);if(!o||o?.length===0){Y(!0);break}K(t=e&&e.length>0?{idNEQ:ei.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:o},{titleNotIn:e}]}],limit:G?.numberOfProducts}:{idNEQ:ei.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:o}]}],limit:G?.numberOfProducts});break}case"tags":{let t;if(!ei.tags||0===ei.tags.length){Y(!0);break}K(t=e&&e.length>0?{idNEQ:ei.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:ei.tags},{nameNotIn:e}]}],limit:G?.numberOfProducts}:{idNEQ:ei.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:ei.tags}]}],limit:G?.numberOfProducts})}}}},[ei,A.relatedType,A.relatedTag,G?.numberOfProducts,A.relatedExclude,A.hasRelatedExclude,B]);let eP="PickProduct"===et?eg.isValidating:ep.isValidating,ef="PickProduct"===et?eg.isLoading:ep.isLoading,eb="PickProduct"===et?eg.error:ep.error,ek=ep.data?.collections?.edges?.[0]?.node,eT="PickProduct"===et?k(eg.data?.products):k(ek?.products),eI=eu?.data?.products?k(eu?.data?.products):void 0,ev=B&&eI?eI:"PickProduct"===et&&A?.productIds?.length?A?.productIds?.map(e=>eT?.find(t=>t?.baseID===e)).filter(Boolean)??eT:"PickProduct"!==et?eT:eT.filter((e,t)=>t<(A?.numOfSelectedProducts??4)),ey=i(()=>X&&B&&Q||!ev.length&&!ef&&q&&Q,[q,ef,X,B,Q,ev.length]),eO=i(()=>!ev||X&&B,[X,B,ev]),eN=i(()=>{if(!G?.sameHeight)return[];let e=0,t=Math.ceil((ev?.length??0)/+(G?.slidesToShow?.[D]??1));return Array.from(Array(ev?.length??0)).map((o,r)=>(r>=+(G?.slidesToShow?.[D]??1)*(e+1)&&++e,{gridRow:`${1+_*e}/${_+1+_*e}`,marginBottom:e+1<t?L(j?.horizontalGutter,D):void 0}))},[G?.sameHeight,G?.slidesToShow,_,ev?.length,D,j?.horizontalGutter]),eS=i(()=>eP||ef||eb||!ev||X&&B,[eb,ef,X,B,eP,ev]);a(()=>{eS||setTimeout(()=>{let{builderData:e}=x??{},t=e?.childrens?.[0];if(!t)return;let o=document.querySelector(`[data-id=${t}] div`);o&&V(o.childElementCount||1)},Q?0:500)},[x,eS,Q]);let eC=i(()=>({collection:ek,products:ev,settings:{loop:G?.loop??{desktop:!1},scrollMode:G?.scrollMode??{desktop:"snap"},slidesToShow:G?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:j?.layout,dot:G?.dot,dotStyle:G?.dotStyle,arrow:G?.arrow,controlOverContent:G?.controlOverContent},styles:{horizontalGutter:j?.horizontalGutter,verticalGutter:j?.verticalGutter,fullWidth:j?.fullWidth,spacing:j?.spacing,width:j?.width,height:j?.height}}),[ek,ev,G,j]);if(x?.isPreview&&Z)return e(t,{});if(ey)return e(t,{children:C(q,e(ProductNotFound,{builderAttrs:M,collectionHandle:ek?.handle,productSrc:et,onClose:()=>U(!1),children:W,relatedTagString:F,assignProductNoTags:es,noAssignedProduct:!eo}))});let{productListWrapStyle:eE,productListContentStyle:ew,productListWrapAlignStyle:eL}=S(r),{productListWrapClass:eW}=E(r),ej=()=>e(t,{children:C(j?.layout==="grid",e(O,{...r,productSortedById:ev,generateGridRowArray:eN}),e(N,{...r,productSortedById:ev}))});return o("div",{...M,className:eW,style:eE,children:[!!j?.preloadBgImage&&o(y,{children:[!!j.backgroundImage?.desktop?.image?.src&&e("link",{rel:"preload",href:j.backgroundImage.desktop.image.src,as:"image"}),!!j.backgroundImage?.tablet?.image?.src&&e("link",{rel:"preload",href:j.backgroundImage?.tablet?.image?.src,as:"image"}),!!j.backgroundImage?.mobile?.image?.src&&e("link",{rel:"preload",href:j.backgroundImage?.mobile?.image?.src,as:"image"})]}),eP||ef?e(d,{}):eb?o("div",{children:["Error: ",eb?.message]}):eO?e("div",{children:"Products not found"}):e(T,{...eC,children:e("div",{className:"gp-flex gp-w-full",style:eL,children:o("div",{style:ew,children:[Z&&e(v,{}),ej()]})})}),I(W,!0)]})};export{ProductList as default};
1
+ import{jsx as e,Fragment as t,jsxs as r}from"react/jsx-runtime";import o from"next/dynamic";import d from"../../../common/components/Loading.js";import{useState as l,useMemo as a,useEffect as i}from"react";import{useRenderMode as c,useCurrentDevice as s,usePageType as n,usePageStore as u,useFetchHandle as m,hasPublicStoreFrontData as g,createStoreFrontFetcher as h,useProductQuery as p,useProductsQueryAll as f,useProductsQuery as P,useCollectionQuery as b,flattenConnection as k,ProductListProvider as T,filterToolbarPreview as I}from"@gem-sdk/core";import v from"../SalePageProductListWarning.js";import y from"next/head";import O from"./ProductListGridLayout.js";import w from"./ProductListCarouselLayout.js";import{getStyle as N}from"./common/styles.js";import{If as S}from"@gem-sdk/system";import{getClass as C}from"./common/classes.js";import{getData as E}from"./common/helpers.js";import{getPropertyByDevice as L}from"../../../dialog/common/helpers.js";let ProductNotFound=o(()=>import("../ProductNotFound.js"),{loading:d}),ProductList=o=>{let{children:W,styles:j,builderProps:x,setting:G,builderAttrs:M}=o,{isRelatedProduct:B,productSetting:A}=E(o),F=A.relatedTag&&A.relatedTag[0],{isEditMode:Q,isPreviewSharePageMode:z}=c(),D=s(),H=n(),R=u(e=>e.dynamicProduct),$=u(e=>e.dynamicCollection),[_,V]=l(1),[q,U]=l(!0),[J,K]=l(),[X,Y]=l(!1),Z="GP_FUNNEL_PAGE"===H,ee="GP_COLLECTION"==H;ee&&(A.productSrc="DynamicCollection",A.collectionId=$?.collectionId??"latest");let et=A?.productSrc??"Collection",er=R?.productId&&R?.productId!==A.relatedProductId?R?.productId:A.relatedProductId,eo=m(),ed=u(e=>e.publicStoreFrontData),el=a(()=>g(ed)?h(ed):eo,[ed]),{data:ea}=p(B&&er?er:void 0,{revalidateOnMount:Q||z},el),ei=A.relatedTag&&"tags"===A.relatedTag[0]&&(!ea?.tags||ea?.tags.length===0),ec=A.relatedTag&&"collection"===A.relatedTag[0]&&(!ea?.collections?.edges||ea?.collections.edges.length===0),es=A.relatedTag&&"vendor"===A.relatedTag[0]&&!ea?.vendor,en=ei||ec||es,eu=f(J,{revalidateOnMount:Q||z},el),em=Q||z,eg=P("PickProduct"===et?A?.productIds:void 0,{revalidateOnMount:em},{defaultSelectedProductCount:A?.numOfSelectedProducts}),eh=a(()=>({id:A?.collectionId??"latest",numberOfProducts:G?.numberOfProducts??4,orderBy:G?.orderBy}),[A?.collectionId,Number(G?.numberOfProducts),G?.orderBy]),ep=b("PickProduct"!==et?eh:void 0,{revalidateOnMount:em});i(()=>{if(B&&ea&&A.relatedTag&&"recommended-product"!==A.relatedType){let e;switch(Y(!1),A.hasRelatedExclude&&(e=A?.relatedExclude&&A.relatedExclude.split(",").map(e=>e.trim())),A.relatedTag[0]){case"vendor":K({first:G?.numberOfProducts,where:{vendor:A.relatedTag&&"vendor"===A.relatedTag[0]?ea?.vendor:"",idNEQ:ea.id}});break;case"collection":{let t;let r=ea?.collections?.edges.map(e=>e.node?.id);if(!r||r?.length===0){Y(!0);break}K(t=e&&e.length>0?{first:G?.numberOfProducts,where:{idNEQ:ea.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:r},{titleNotIn:e}]}]}}:{first:G?.numberOfProducts,where:{idNEQ:ea.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:r}]}]}});break}case"tags":{let t;if(!ea.tags||0===ea.tags.length){Y(!0);break}K(t=e&&e.length>0?{first:G?.numberOfProducts,where:{idNEQ:ea.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:ea.tags},{nameNotIn:e}]}]}}:{first:G?.numberOfProducts,where:{idNEQ:ea.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:ea.tags}]}]}})}}}},[ea,A.relatedType,A.relatedTag,G?.numberOfProducts,A.relatedExclude,A.hasRelatedExclude,B]);let ef="PickProduct"===et?eg.isValidating:ep.isValidating,eP="PickProduct"===et?eg.isLoading:ep.isLoading,eb="PickProduct"===et?eg.error:ep.error,ek=ep.data?.collections?.edges?.[0]?.node,eT="PickProduct"===et?k(eg.data?.products):k(ek?.products),eI=eu?.data?.products?k(eu?.data?.products):void 0,ev=B&&eI?eI:"PickProduct"===et&&A?.productIds?.length?A?.productIds?.map(e=>eT?.find(t=>t?.baseID===e)).filter(Boolean)??eT:"PickProduct"!==et?eT:eT.filter((e,t)=>t<(A?.numOfSelectedProducts??4)),ey=a(()=>X&&B&&Q||!ev.length&&!eP&&q&&Q,[q,eP,X,B,Q,ev.length]),eO=a(()=>!ev||X&&B,[X,B,ev]),ew=a(()=>{if(!G?.sameHeight)return[];let e=0,t=Math.ceil((ev?.length??0)/+(G?.slidesToShow?.[D]??1));return Array.from(Array(ev?.length??0)).map((r,o)=>(o>=+(G?.slidesToShow?.[D]??1)*(e+1)&&++e,{gridRow:`${1+_*e}/${_+1+_*e}`,marginBottom:e+1<t?L(j?.horizontalGutter,D):void 0}))},[G?.sameHeight,G?.slidesToShow,_,ev?.length,D,j?.horizontalGutter]),eN=a(()=>ef||eP||eb||!ev||X&&B,[eb,eP,X,B,ef,ev]);i(()=>{eN||setTimeout(()=>{let{builderData:e}=x??{},t=e?.childrens?.[0];if(!t)return;let r=document.querySelector(`[data-id=${t}] div`);r&&V(r.childElementCount||1)},Q?0:500)},[x,eN,Q]);let eS=a(()=>({collection:ek,products:ev,settings:{loop:G?.loop??{desktop:!1},scrollMode:G?.scrollMode??{desktop:"snap"},slidesToShow:G?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:j?.layout,dot:G?.dot,dotStyle:G?.dotStyle,arrow:G?.arrow,controlOverContent:G?.controlOverContent},styles:{horizontalGutter:j?.horizontalGutter,verticalGutter:j?.verticalGutter,fullWidth:j?.fullWidth,spacing:j?.spacing,width:j?.width,height:j?.height}}),[ek,ev,G,j]);if(x?.isPreview&&Z)return e(t,{});if(ey)return e(t,{children:S(q,e(ProductNotFound,{builderAttrs:M,collectionHandle:ek?.handle,productSrc:et,onClose:()=>U(!1),children:W,relatedTagString:F,assignProductNoTags:en,noAssignedProduct:!er}))});let{productListWrapStyle:eC,productListContentStyle:eE,productListWrapAlignStyle:eL}=N(o),{productListWrapClass:eW}=C(o),ej=()=>e(t,{children:S(j?.layout==="grid",e(O,{...o,productSortedById:ev,generateGridRowArray:ew}),e(w,{...o,productSortedById:ev}))});return r("div",{...M,className:eW,style:eC,children:[!!j?.preloadBgImage&&r(y,{children:[!!j.backgroundImage?.desktop?.image?.src&&e("link",{rel:"preload",href:j.backgroundImage.desktop.image.src,as:"image"}),!!j.backgroundImage?.tablet?.image?.src&&e("link",{rel:"preload",href:j.backgroundImage?.tablet?.image?.src,as:"image"}),!!j.backgroundImage?.mobile?.image?.src&&e("link",{rel:"preload",href:j.backgroundImage?.mobile?.image?.src,as:"image"})]}),ef||eP?e(d,{}):eb?r("div",{children:["Error: ",eb?.message]}):eO?e("div",{children:"Products not found"}):e(T,{...eS,children:e("div",{className:"gp-flex gp-w-full",style:eL,children:r("div",{style:eE,children:[Z&&e(v,{}),ej()]})})}),I(W,!0)]})};export{ProductList as default};
@@ -1 +1 @@
1
- import{jsx as e,Fragment as t,jsxs as o}from"react/jsx-runtime";import r from"next/dynamic";import d from"../../../common/components/Loading.js";import{useState as l,useMemo as i,useEffect as a}from"react";import{useRenderMode as c,useCurrentDevice as s,usePageType as n,usePageStore as u,useFetchHandle as m,hasPublicStoreFrontData as g,createStoreFrontFetcher as h,useProductQuery as p,useProductsQueryAll as P,useProductsQuery as f,useCollectionQuery as b,flattenConnection as k,ProductListProvider as I,filterToolbarPreview as T}from"@gem-sdk/core";import y from"../SalePageProductListWarning.js";import v from"next/head";import O from"./ProductListGridLayout.js";import N from"./ProductListCarouselLayout.js";import{getStyle as S}from"./common/styles.js";import{If as C}from"@gem-sdk/system";import{getClass as E}from"./common/classes.js";import{getData as w}from"./common/helpers.js";import{getPropertyByDevice as L}from"../../../dialog/common/helpers.js";let ProductNotFound=r(()=>import("../ProductNotFound.js"),{loading:d}),ProductList=r=>{let{children:W,styles:j,builderProps:x,setting:G,builderAttrs:A}=r,{isRelatedProduct:M,productSetting:B}=w(r),F=B.relatedTag&&B.relatedTag[0],{isEditMode:Q,isPreviewSharePageMode:z}=c(),D=s(),H=n(),R=u(e=>e.dynamicProduct),$=u(e=>e.dynamicCollection),[_,V]=l(1),[q,U]=l(!0),[J,K]=l(),[X,Y]=l(!1),Z="GP_FUNNEL_PAGE"===H,ee="GP_COLLECTION"==H;ee&&(B.productSrc="DynamicCollection",B.collectionId=$?.collectionId??"latest");let et=B?.productSrc??"Collection",eo=R?.productId&&R?.productId!==B.relatedProductId?R?.productId:B.relatedProductId,er=m(),ed=u(e=>e.publicStoreFrontData),el=i(()=>g(ed)?h(ed):er,[ed]),{data:ei}=p(M&&eo?eo:void 0,{revalidateOnMount:Q||z},el),ea=B.relatedTag&&"tags"===B.relatedTag[0]&&(!ei?.tags||ei?.tags.length===0),ec=B.relatedTag&&"collection"===B.relatedTag[0]&&(!ei?.collections?.edges||ei?.collections.edges.length===0),es=B.relatedTag&&"vendor"===B.relatedTag[0]&&!ei?.vendor,en=ea||ec||es,eu=P(J,{revalidateOnMount:Q||z},el),em=Q||z,eg=f("PickProduct"===et?B?.productIds:void 0,{revalidateOnMount:em},{defaultSelectedProductCount:B?.numOfSelectedProducts}),eh=i(()=>({id:B?.collectionId??"latest",numberOfProducts:G?.numberOfProducts??4,orderBy:G?.orderBy}),[B?.collectionId,Number(G?.numberOfProducts),G?.orderBy]),ep=b("PickProduct"!==et?eh:void 0,{revalidateOnMount:em});a(()=>{if(M&&ei&&B.relatedTag&&"recommended-product"!==B.relatedType){let e;switch(Y(!1),B.hasRelatedExclude&&(e=B?.relatedExclude&&B.relatedExclude.split(",").map(e=>e.trim())),B.relatedTag[0]){case"vendor":K({vendor:B.relatedTag&&"vendor"===B.relatedTag[0]?ei?.vendor:"",limit:G?.numberOfProducts,idNEQ:ei.id});break;case"collection":{let t;let o=ei?.collections?.edges.map(e=>e.node?.id);if(!o||o?.length===0){Y(!0);break}K(t=e&&e.length>0?{idNEQ:ei.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:o},{titleNotIn:e}]}],limit:G?.numberOfProducts}:{idNEQ:ei.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:o}]}],limit:G?.numberOfProducts});break}case"tags":{let t;if(!ei.tags||0===ei.tags.length){Y(!0);break}K(t=e&&e.length>0?{idNEQ:ei.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:ei.tags},{nameNotIn:e}]}],limit:G?.numberOfProducts}:{idNEQ:ei.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:ei.tags}]}],limit:G?.numberOfProducts})}}}},[ei,B.relatedType,B.relatedTag,G?.numberOfProducts,B.relatedExclude,B.hasRelatedExclude,M]);let eP="PickProduct"===et?eg.isValidating:ep.isValidating,ef="PickProduct"===et?eg.isLoading:ep.isLoading,eb="PickProduct"===et?eg.error:ep.error,ek=ep.data?.collections?.edges?.[0]?.node,eI="PickProduct"===et?k(eg.data?.products):k(ek?.products),eT=u(e=>e.assignedProductIds),ey=u(e=>e.isApplyAllProducts),ev=i(()=>(eT??[]).length>0&&!ey||ey,[eT,ey]),eO=eu?.data?.products&&ev?k(eu?.data?.products):[],eN=M?eO:"PickProduct"===et&&B?.productIds?.length?B?.productIds?.map(e=>eI?.find(t=>t?.baseID===e)).filter(Boolean)??eI:"PickProduct"!==et?eI:eI.filter((e,t)=>t<(B?.numOfSelectedProducts??4)),eS=i(()=>X&&M&&Q||!eN.length&&!ef&&q&&Q,[q,ef,X,M,Q,eN.length]),eC=i(()=>!eN||X&&M,[X,M,eN]),eE=i(()=>{if(!G?.sameHeight)return[];let e=0,t=Math.ceil((eN?.length??0)/+(G?.slidesToShow?.[D]??1));return Array.from(Array(eN?.length??0)).map((o,r)=>(r>=+(G?.slidesToShow?.[D]??1)*(e+1)&&++e,{gridRow:`${1+_*e}/${_+1+_*e}`,marginBottom:e+1<t?L(j?.horizontalGutter,D):void 0}))},[G?.sameHeight,G?.slidesToShow,_,eN?.length,D,j?.horizontalGutter]),ew=i(()=>eP||ef||eb||!eN||X&&M,[eb,ef,X,M,eP,eN]),eL=ei?.collections?.edges.map(e=>e.node?.id)??[];a(()=>{ew||setTimeout(()=>{let{builderData:e}=x??{},t=e?.childrens?.[0];if(!t)return;let o=document.querySelector(`[data-id=${t}] div`);o&&V(o.childElementCount||1)},Q?0:500)},[x,ew,Q,eL]);let eW=i(()=>({collection:ek,products:eN,settings:{loop:G?.loop??{desktop:!1},scrollMode:G?.scrollMode??{desktop:"snap"},slidesToShow:G?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:j?.layout,dot:G?.dot,dotStyle:G?.dotStyle,arrow:G?.arrow,controlOverContent:G?.controlOverContent},styles:{horizontalGutter:j?.horizontalGutter,verticalGutter:j?.verticalGutter,fullWidth:j?.fullWidth,spacing:j?.spacing,width:j?.width,height:j?.height}}),[ek,eN,G,j]);if(x?.isPreview&&Z)return e(t,{});if(eS)return e(t,{children:C(q,e(ProductNotFound,{builderAttrs:A,collectionHandle:ek?.handle,productSrc:et,onClose:()=>U(!1),children:W,relatedTagString:F,assignProductNoTags:en,noAssignedProduct:!eo}))});let{productListWrapStyle:ej,productListContentStyle:ex,productListWrapAlignStyle:eG}=S(r),{productListWrapClass:eA}=E(r),eM=()=>e(t,{children:C(j?.layout==="grid",e(O,{...r,productSortedById:eN,generateGridRowArray:eE}),e(N,{...r,productSortedById:eN}))});return o("div",{...A,className:eA,style:ej,children:[!!j?.preloadBgImage&&o(v,{children:[!!j.backgroundImage?.desktop?.image?.src&&e("link",{rel:"preload",href:j.backgroundImage.desktop.image.src,as:"image"}),!!j.backgroundImage?.tablet?.image?.src&&e("link",{rel:"preload",href:j.backgroundImage?.tablet?.image?.src,as:"image"}),!!j.backgroundImage?.mobile?.image?.src&&e("link",{rel:"preload",href:j.backgroundImage?.mobile?.image?.src,as:"image"})]}),eP||ef?e(d,{}):eb?o("div",{children:["Error: ",eb?.message]}):eC?e("div",{children:"Products not found"}):e(I,{...eW,children:e("div",{className:"gp-flex gp-w-full",style:eG,children:o("div",{style:ex,children:[Z&&e(y,{}),eM()]})})}),T(W,!0)]})};export{ProductList as default};
1
+ import{jsx as e,Fragment as t,jsxs as o}from"react/jsx-runtime";import r from"next/dynamic";import d from"../../../common/components/Loading.js";import{useState as l,useMemo as a,useEffect as i}from"react";import{useRenderMode as c,useCurrentDevice as s,usePageType as n,usePageStore as u,useFetchHandle as m,hasPublicStoreFrontData as g,createStoreFrontFetcher as h,useProductQuery as p,useProductsQueryAll as P,useProductsQuery as f,useCollectionQuery as b,flattenConnection as k,ProductListProvider as I,filterToolbarPreview as T}from"@gem-sdk/core";import y from"../SalePageProductListWarning.js";import v from"next/head";import O from"./ProductListGridLayout.js";import w from"./ProductListCarouselLayout.js";import{getStyle as N}from"./common/styles.js";import{If as S}from"@gem-sdk/system";import{getClass as C}from"./common/classes.js";import{getData as E}from"./common/helpers.js";import{getPropertyByDevice as L}from"../../../dialog/common/helpers.js";let ProductNotFound=r(()=>import("../ProductNotFound.js"),{loading:d}),ProductList=r=>{let{children:W,styles:j,builderProps:x,setting:G,builderAttrs:A}=r,{isRelatedProduct:M,productSetting:B}=E(r),F=B.relatedTag&&B.relatedTag[0],{isEditMode:Q,isPreviewSharePageMode:z}=c(),D=s(),H=n(),R=u(e=>e.dynamicProduct),$=u(e=>e.dynamicCollection),[_,V]=l(1),[q,U]=l(!0),[J,K]=l(),[X,Y]=l(!1),Z="GP_FUNNEL_PAGE"===H,ee="GP_COLLECTION"==H;ee&&(B.productSrc="DynamicCollection",B.collectionId=$?.collectionId??"latest");let et=B?.productSrc??"Collection",eo=R?.productId&&R?.productId!==B.relatedProductId?R?.productId:B.relatedProductId,er=m(),ed=u(e=>e.publicStoreFrontData),el=a(()=>g(ed)?h(ed):er,[ed]),{data:ea}=p(M&&eo?eo:void 0,{revalidateOnMount:Q||z},el),ei=B.relatedTag&&"tags"===B.relatedTag[0]&&(!ea?.tags||ea?.tags.length===0),ec=B.relatedTag&&"collection"===B.relatedTag[0]&&(!ea?.collections?.edges||ea?.collections.edges.length===0),es=B.relatedTag&&"vendor"===B.relatedTag[0]&&!ea?.vendor,en=ei||ec||es,eu=P(J,{revalidateOnMount:Q||z},el),em=Q||z,eg=f("PickProduct"===et?B?.productIds:void 0,{revalidateOnMount:em},{defaultSelectedProductCount:B?.numOfSelectedProducts}),eh=a(()=>({id:B?.collectionId??"latest",numberOfProducts:G?.numberOfProducts??4,orderBy:G?.orderBy}),[B?.collectionId,Number(G?.numberOfProducts),G?.orderBy]),ep=b("PickProduct"!==et?eh:void 0,{revalidateOnMount:em});i(()=>{if(M&&ea&&B.relatedTag&&"recommended-product"!==B.relatedType){let e;switch(Y(!1),B.hasRelatedExclude&&(e=B?.relatedExclude&&B.relatedExclude.split(",").map(e=>e.trim())),B.relatedTag[0]){case"vendor":K({first:G?.numberOfProducts,where:{vendor:B.relatedTag&&"vendor"===B.relatedTag[0]?ea?.vendor:"",idNEQ:ea.id}});break;case"collection":{let t;let o=ea?.collections?.edges.map(e=>e.node?.id);if(!o||o?.length===0){Y(!0);break}K(t=e&&e.length>0?{first:G?.numberOfProducts,where:{idNEQ:ea.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:o},{titleNotIn:e}]}]}}:{first:G?.numberOfProducts,where:{idNEQ:ea.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:o}]}]}});break}case"tags":{let t;if(!ea.tags||0===ea.tags.length){Y(!0);break}K(t=e&&e.length>0?{first:G?.numberOfProducts,where:{idNEQ:ea.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:ea.tags},{nameNotIn:e}]}]}}:{first:G?.numberOfProducts,where:{idNEQ:ea.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:ea.tags}]}]}})}}}},[ea,B.relatedType,B.relatedTag,G?.numberOfProducts,B.relatedExclude,B.hasRelatedExclude,M]);let eP="PickProduct"===et?eg.isValidating:ep.isValidating,ef="PickProduct"===et?eg.isLoading:ep.isLoading,eb="PickProduct"===et?eg.error:ep.error,ek=ep.data?.collections?.edges?.[0]?.node,eI="PickProduct"===et?k(eg.data?.products):k(ek?.products),eT=u(e=>e.assignedProductIds),ey=u(e=>e.isApplyAllProducts),ev=a(()=>(eT??[]).length>0&&!ey||ey,[eT,ey]),eO=eu?.data?.products&&ev?k(eu?.data?.products):[],ew=M?eO:"PickProduct"===et&&B?.productIds?.length?B?.productIds?.map(e=>eI?.find(t=>t?.baseID===e)).filter(Boolean)??eI:"PickProduct"!==et?eI:eI.filter((e,t)=>t<(B?.numOfSelectedProducts??4)),eN=a(()=>X&&M&&Q||!ew.length&&!ef&&q&&Q,[q,ef,X,M,Q,ew.length]),eS=a(()=>!ew||X&&M,[X,M,ew]),eC=a(()=>{if(!G?.sameHeight)return[];let e=0,t=Math.ceil((ew?.length??0)/+(G?.slidesToShow?.[D]??1));return Array.from(Array(ew?.length??0)).map((o,r)=>(r>=+(G?.slidesToShow?.[D]??1)*(e+1)&&++e,{gridRow:`${1+_*e}/${_+1+_*e}`,marginBottom:e+1<t?L(j?.horizontalGutter,D):void 0}))},[G?.sameHeight,G?.slidesToShow,_,ew?.length,D,j?.horizontalGutter]),eE=a(()=>eP||ef||eb||!ew||X&&M,[eb,ef,X,M,eP,ew]),eL=ea?.collections?.edges.map(e=>e.node?.id)??[];i(()=>{eE||setTimeout(()=>{let{builderData:e}=x??{},t=e?.childrens?.[0];if(!t)return;let o=document.querySelector(`[data-id=${t}] div`);o&&V(o.childElementCount||1)},Q?0:500)},[x,eE,Q,eL]);let eW=a(()=>({collection:ek,products:ew,settings:{loop:G?.loop??{desktop:!1},scrollMode:G?.scrollMode??{desktop:"snap"},slidesToShow:G?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:j?.layout,dot:G?.dot,dotStyle:G?.dotStyle,arrow:G?.arrow,controlOverContent:G?.controlOverContent},styles:{horizontalGutter:j?.horizontalGutter,verticalGutter:j?.verticalGutter,fullWidth:j?.fullWidth,spacing:j?.spacing,width:j?.width,height:j?.height}}),[ek,ew,G,j]);if(x?.isPreview&&Z)return e(t,{});if(eN)return e(t,{children:S(q,e(ProductNotFound,{builderAttrs:A,collectionHandle:ek?.handle,productSrc:et,onClose:()=>U(!1),children:W,relatedTagString:F,assignProductNoTags:en,noAssignedProduct:!eo}))});let{productListWrapStyle:ej,productListContentStyle:ex,productListWrapAlignStyle:eG}=N(r),{productListWrapClass:eA}=C(r),eM=()=>e(t,{children:S(j?.layout==="grid",e(O,{...r,productSortedById:ew,generateGridRowArray:eC}),e(w,{...r,productSortedById:ew}))});return o("div",{...A,className:eA,style:ej,children:[!!j?.preloadBgImage&&o(v,{children:[!!j.backgroundImage?.desktop?.image?.src&&e("link",{rel:"preload",href:j.backgroundImage.desktop.image.src,as:"image"}),!!j.backgroundImage?.tablet?.image?.src&&e("link",{rel:"preload",href:j.backgroundImage?.tablet?.image?.src,as:"image"}),!!j.backgroundImage?.mobile?.image?.src&&e("link",{rel:"preload",href:j.backgroundImage?.mobile?.image?.src,as:"image"})]}),eP||ef?e(d,{}):eb?o("div",{children:["Error: ",eb?.message]}):eS?e("div",{children:"Products not found"}):e(I,{...eW,children:e("div",{className:"gp-flex gp-w-full",style:eG,children:o("div",{style:ex,children:[Z&&e(y,{}),eM()]})})}),T(W,!0)]})};export{ProductList as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gem-sdk/components",
3
- "version": "12.0.0-dev.52",
3
+ "version": "12.0.0-dev.54",
4
4
  "license": "MIT",
5
5
  "sideEffects": false,
6
6
  "main": "dist/cjs/index.js",
@@ -27,9 +27,9 @@
27
27
  "i18n:generate-keys-usage": "node ./scripts/en-keys-usage.js"
28
28
  },
29
29
  "devDependencies": {
30
- "@gem-sdk/core": "12.0.0-dev.52",
31
- "@gem-sdk/styles": "12.0.0-dev.52",
32
- "@gem-sdk/system": "12.0.0-dev.52",
30
+ "@gem-sdk/core": "12.0.0-dev.53",
31
+ "@gem-sdk/styles": "12.0.0-dev.53",
32
+ "@gem-sdk/system": "12.0.0-dev.53",
33
33
  "@types/react-transition-group": "^4.4.12",
34
34
  "tsup": "8.5.1",
35
35
  "postcss-import": "16.1.1",