@gem-sdk/components 12.0.0-dev.142 → 12.0.0-dev.144

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 +1 @@
1
- "use strict";var e=require("@gem-sdk/core"),t=require("@gem-sdk/system");exports.getData=r=>{let o=["mobile","tablet","desktop"],{setting:s,rootId:a,builderProps:i,styles:l,moveToIdx:n,isHiddenArrowWhenDisabled:p,renderByLayout:u,rootAttrs:c}=r,g=a??i?.uid,d=`gp-carousel-slider-${i?.uid}`,{enableAction:y={desktop:!0},navigationStyle:S,navigationEnable:f={desktop:!0}}=s??{},k=t.createStateOrContext({id:g,moveToIdx:n,isHiddenArrowWhenDisabled:p,setting:s,styles:l,renderByLayout:u,type:c?.type});return{loopConfig:(()=>{let t=s?.loop;return o.forEach(r=>{t={...t,[r]:!!e.getResponsiveValueByScreen(y)&&t?.[r]}}),t})(),stateData:JSON.stringify(k).replaceAll("'","'"),uniqueComponentId:g,arrowShowConfig:(()=>{let t=S;return o.forEach(r=>{t={...t,[r]:e.getResponsiveValueByScreen(f,r)?e.getResponsiveValueByScreen(t,r):"none"}}),t})(),sliderSelector:d}};
1
+ "use strict";var e=require("@gem-sdk/core"),t=require("@gem-sdk/system");exports.getData=r=>{let o=["mobile","tablet","desktop"],{setting:i,rootId:a,builderProps:s,styles:n,moveToIdx:l,isHiddenArrowWhenDisabled:u,renderByLayout:p,rootAttrs:d}=r,c=a??s?.uid,g=`gp-carousel-slider-${s?.uid}`,{enableAction:f={desktop:!0},navigationStyle:y,navigationEnable:S={desktop:!0}}=i??{},k=t.createStateOrContext({id:c,moveToIdx:l,isHiddenArrowWhenDisabled:u,setting:i,styles:n,renderByLayout:p,type:d?.type});return d?.["feature-media-position"]&&(k.featureMediaPosition="{{ featureMediaPosition }}"),{loopConfig:(()=>{let t=i?.loop;return o.forEach(r=>{t={...t,[r]:!!e.getResponsiveValueByScreen(f)&&t?.[r]}}),t})(),stateData:JSON.stringify(k).replaceAll("'","'"),uniqueComponentId:c,arrowShowConfig:(()=>{let t=y;return o.forEach(r=>{t={...t,[r]:e.getResponsiveValueByScreen(S,r)?e.getResponsiveValueByScreen(t,r):"none"}}),t})(),sliderSelector:g}};
@@ -1,69 +1,69 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@gem-sdk/core"),i=require("../../common/common.js"),a=require("../../common/productFeaturedImage.js"),t=require("../../../../../video/components/HTML5Embed.liquid.js"),r=require("../../../../../image/components/Modal3d.liquid.js"),s=require("../../../../../image/components/NextImage.liquid.js"),d=require("../../../../../image/components/Video.liquid.js"),u=require("../../../../helpers/function.js"),o=require("../../composables/getProductImagesStyles.js"),l=require("../../composables/getProductImagesClassName.js"),g=require("../../composables/getProductImagesAttr.js"),c=require("@gem-sdk/system"),n=require("../../../../../carousel-v3/components/root/Carousel.liquid.js"),m=require("../../../../../carousel-v3/components/item/CarouselItem.liquid.js");exports.default=({builderPropUID:p,children:f,enableLazyLoadImage:y,...h})=>{let{featuredImageCarouselClasses:I,galleryItemClasses:q,featuredCarouselItemClasses:b}=l.getProductImagesClassName({...h,builderProps:{uid:p}}),{featuredImageCarouselStyle:v,featureImageStyle:M,featureImageCarouselOnlyOneImageStyle:_,featureImageOnlyOneImageStyle:w,featureImageCarouselItemStyle:$}=o.getProductImagesStyles(h),{featuredImageCarouselSettingAttrs:L}=g.getProductImagesAttr(h),S=i.getAspectRatio(h.ftShape),x=c.If("other"==h.hoverEffect,c.LiquidIf("product.media.size > 1","group-hover:gp-opacity-0")),j=()=>`
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@gem-sdk/core"),i=require("../../common/common.js"),a=require("../../common/productFeaturedImage.js"),t=require("../../../../../video/components/HTML5Embed.liquid.js"),d=require("../../../../../image/components/Modal3d.liquid.js"),s=require("../../../../../image/components/NextImage.liquid.js"),r=require("../../../../../image/components/Video.liquid.js"),o=require("../../../../helpers/function.js"),u=require("../../composables/getProductImagesStyles.js"),l=require("../../composables/getProductImagesClassName.js"),n=require("../../composables/getProductImagesAttr.js"),g=require("@gem-sdk/system"),m=require("../../../../../carousel-v3/components/root/Carousel.liquid.js"),p=require("../../../../../carousel-v3/components/item/CarouselItem.liquid.js");exports.default=({builderPropUID:c,children:f,enableLazyLoadImage:y,...h})=>{let{featuredImageCarouselClasses:q,galleryItemClasses:I,featuredCarouselItemClasses:M}=l.getProductImagesClassName({...h,builderProps:{uid:c}}),{featuredImageCarouselStyle:b,featureImageStyle:_,featureImageCarouselOnlyOneImageStyle:v,featureImageOnlyOneImageStyle:w,featureImageCarouselItemStyle:$}=u.getProductImagesStyles(h),{featuredImageCarouselSettingAttrs:L}=n.getProductImagesAttr(h),S=i.getAspectRatio(h.ftShape),x=g.If("other"==h.hoverEffect,g.LiquidIf("product.media.size > 1","group-hover:gp-opacity-0")),P=()=>`
2
2
  {% case featureMedia.media_type %}
3
3
  {% when 'image' %}
4
4
  ${R()}
5
5
  {% when 'external_video' %}
6
6
  {% assign mediaSourceVideo = featureMedia | external_video_url %}
7
- ${z()}
7
+ ${O()}
8
8
  {% when 'video' %}
9
9
  {% assign mediaSourceVideo = featureMedia.sources.last.url %}
10
- ${P()}
10
+ ${z()}
11
11
  {% when 'model' %}
12
- ${O()}
12
+ ${j()}
13
13
  {% else %}
14
- ${k()}
14
+ ${C()}
15
15
  {% endcase %}
16
- `,O=()=>r.default({src:c.LiquidIf("featureMedia.sources.first.url contains '.glb'","{{ featureMedia.sources.first.url }}","{{featureMedia.sources.last.url}}"),alt:"{{featureMedia.preview_image.alt}}",poster:"{{featureMedia.preview_image.src | product_img_url: '1024x1024'}}",cameraControls:!0,arStatus:"not-presenting",style:{width:"100%"},aspectRatio:S}),z=()=>d.default({src:"{{mediaSourceVideo}}",alt:"{{featureMedia.alt | escape}}",autoplay:!1,allowfullscreen:!0,controls:!0,style:{width:"100%",height:"100%"},aspectRatio:S}),P=()=>{let i=c.createStyle({...a.getVideoHeight(h?.ftLayout),...e.makeStyleResponsive("objf",h?.ftLayout)}),r=c.createStyle({...a.getVideoHeight(h?.ftLayout)});return t.default({src:"{{mediaSourceVideo}}",title:"{{featureMedia.alt | escape}}",autoplay:!1,controls:!0,thumbnail:"{{featureMedia.preview_image.src | product_img_url: '1024x1024'}}",isCheckLoaded:!0,wrapperStyles:r,poster:{altText:"{{featureMedia.alt | escape}}"},style:{width:"100%","max-height":"100%",...i},className:"gp-invisible"})},R=()=>e.template`
17
- ${C(e.cls("gp-w-full gp-transition-opacity",x,"{{shouldHidden}}"))}
18
- ${c.If(h?.hoverEffect!=="none",`<div class="${e.cls("zoom-element !gp-max-w-none",a.getZoomImageClass())}">
19
- ${C("image-zoom",!0)}
16
+ `,j=()=>d.default({src:g.LiquidIf("featureMedia.sources.first.url contains '.glb'","{{ featureMedia.sources.first.url }}","{{featureMedia.sources.last.url}}"),alt:"{{featureMedia.preview_image.alt}}",poster:"{{featureMedia.preview_image.src | product_img_url: '1024x1024'}}",cameraControls:!0,arStatus:"not-presenting",style:{width:"100%"},aspectRatio:S}),O=()=>r.default({src:"{{mediaSourceVideo}}",alt:"{{featureMedia.alt | escape}}",autoplay:!1,allowfullscreen:!0,controls:!0,style:{width:"100%",height:"100%"},aspectRatio:S}),z=()=>{let i=g.createStyle({...a.getVideoHeight(h?.ftLayout),...e.makeStyleResponsive("objf",h?.ftLayout)}),d=g.createStyle({...a.getVideoHeight(h?.ftLayout)});return t.default({src:"{{mediaSourceVideo}}",title:"{{featureMedia.alt | escape}}",autoplay:!1,controls:!0,thumbnail:"{{featureMedia.preview_image.src | product_img_url: '1024x1024'}}",isCheckLoaded:!0,wrapperStyles:d,poster:{altText:"{{featureMedia.alt | escape}}"},style:{width:"100%","max-height":"100%",...i},className:"gp-invisible"})},R=()=>e.template`
17
+ ${k(e.cls("gp-w-full gp-transition-opacity",x,"{{shouldHidden}}"))}
18
+ ${g.If(h?.hoverEffect!=="none",`<div class="${e.cls("zoom-element !gp-max-w-none",a.getZoomImageClass())}">
19
+ ${k("image-zoom",!0)}
20
20
  </div>`," ")}
21
- ${c.If(h?.hoverEffect=="zoom"&&h?.zoomType=="glasses",`<div class="${e.cls("zoom-lens-element",a.getZoomLenClass())}" style="opacity: 0; background-image: url('{{ featureMedia.src | img_url: "1024x1024"}}')"></div>`," ")}
22
- `,C=(a,t)=>e.template`
21
+ ${g.If(h?.hoverEffect=="zoom"&&h?.zoomType=="glasses",`<div class="${e.cls("zoom-lens-element",a.getZoomLenClass())}" style="opacity: 0; background-image: url('{{ featureMedia.src | img_url: "1024x1024"}}')"></div>`," ")}
22
+ `,k=(a,t)=>e.template`
23
23
  {% assign src = featureMedia.src %}
24
- ${c.If(t&&"other"==h.hoverEffect,`{% assign media_length = product.media | size %}
24
+ ${g.If(t&&"other"==h.hoverEffect,`{% assign media_length = product.media | size %}
25
25
  {% assign other_image_index = ${h.otherImage} | plus: 0 %}
26
26
  {% if other_image_index >= media_length %}
27
27
  {% assign other_image_index = media_length | minus: 1 %}
28
28
  {% endif %}
29
29
  {% assign otherImage = product.media[other_image_index] %}
30
- ${c.LiquidIf("otherImage.media_type != 'image'","{% assign src = otherImage.preview_image.src %}","{% assign src = otherImage.src %}")}
30
+ ${g.LiquidIf("otherImage.media_type != 'image'","{% assign src = otherImage.preview_image.src %}","{% assign src = otherImage.src %}")}
31
31
  `)}
32
- ${s.default({srcIsLiquidCode:!0,src:c.LiquidIf("src != null",i.getSrcImage("src"),"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif"),id:c.LiquidIf("featureMedia != null","{{featureMedia.id}}"),width:"{{featureMedia.width}}",height:"{{featureMedia.height}}",alt:"{{featureMedia.alt | escape}}",srcset:`${i.getSrcImage("src")}`,baseSrc:"{{src | image_url}}",sizes:"(max-width: 768px) 50vw, 100vw",setting:{layout:h?.ftLayout,aspectRatio:S,qualityType:h?.qualityType,qualityPercent:h?.qualityPercent},priority:h?.preload,className:`gp-w-full gp-h-full gp-absolute gp-top-0 gp-left-0 featured-image-only gp-cursor-pointer !gp-rounded-none ${a??""}`,enableLazyLoadImage:y})}`,k=()=>e.template`
33
- ${s.default({srcIsLiquidCode:!0,src:"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif",alt:"No Image",sizes:"(max-width: 768px) 50vw, 100vw",setting:{layout:h?.ftLayout,aspectRatio:S,qualityType:h?.qualityType,qualityPercent:h?.qualityPercent},priority:h?.preload,className:"gp-w-full gp-h-full gp-absolute gp-top-0 gp-left-0 featured-image-only gp-cursor-pointer !gp-rounded-none",enableLazyLoadImage:y})}`,T=i.getPaddingBottomByShapeSetting(h.ftShape),N=a.checkRenderFeaturedCarousel(h),W="gp-featured-image-wrapper",A=c.LiquidIf("product.media.size > 0",`{% assign largestRatio = 0 %}
34
- ${c.LiquidFor("featureMedia in product.media",`
32
+ ${s.default({srcIsLiquidCode:!0,src:g.LiquidIf("src != null",i.getSrcImage("src"),"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif"),id:g.LiquidIf("featureMedia != null","{{featureMedia.id}}"),width:"{{featureMedia.width}}",height:"{{featureMedia.height}}",alt:"{{featureMedia.alt | escape}}",srcset:`${i.getSrcImage("src")}`,baseSrc:"{{src | image_url}}",sizes:"(max-width: 768px) 50vw, 100vw",setting:{layout:h?.ftLayout,aspectRatio:S,qualityType:h?.qualityType,qualityPercent:h?.qualityPercent},priority:h?.preload,className:`gp-w-full gp-h-full gp-absolute gp-top-0 gp-left-0 featured-image-only gp-cursor-pointer !gp-rounded-none ${a??""}`,enableLazyLoadImage:y})}`,C=()=>e.template`
33
+ ${s.default({srcIsLiquidCode:!0,src:"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif",alt:"No Image",sizes:"(max-width: 768px) 50vw, 100vw",setting:{layout:h?.ftLayout,aspectRatio:S,qualityType:h?.qualityType,qualityPercent:h?.qualityPercent},priority:h?.preload,className:"gp-w-full gp-h-full gp-absolute gp-top-0 gp-left-0 featured-image-only gp-cursor-pointer !gp-rounded-none",enableLazyLoadImage:y})}`,T=i.getPaddingBottomByShapeSetting(h.ftShape),F=a.checkRenderFeaturedCarousel(h),N="gp-featured-image-wrapper",W=g.LiquidIf("product.media.size > 0",`{% assign largestRatio = 0 %}
34
+ ${g.LiquidFor("featureMedia in product.media",`
35
35
  {% assign height = featureMedia.height | times: 1.0 %}
36
36
  {% assign width = featureMedia.width | times: 1.0 %}
37
37
  {% assign ratio = height | divided_by: width %}
38
- ${c.LiquidIf("ratio > largestRatio","{% assign largestRatio = ratio %}")}
38
+ ${g.LiquidIf("ratio > largestRatio","{% assign largestRatio = ratio %}")}
39
39
  `)}
40
- ${c.LiquidFor("featureMedia in product.media",`${c.LiquidIf("featureMedia.media_type == 'image'",`${c.LiquidFor("image in product.images",c.LiquidIf("image.src == featureMedia.src","{% assign imageID = image.id %}{% break %}"))}`,"{% assign imageID = '' %}")}
40
+ ${g.LiquidFor("featureMedia in product.media",`${g.LiquidIf("featureMedia.media_type == 'image'",`${g.LiquidFor("image in product.images",g.LiquidIf("image.src == featureMedia.src","{% assign imageID = image.id %}{% break %}"))}`,"{% assign imageID = '' %}")}
41
41
 
42
- ${c.Liquid(`{% assign productImageWidth = 0 %}
42
+ ${g.Liquid(`{% assign productImageWidth = 0 %}
43
43
  {% case featureMedia.media_type %}
44
44
  {% when 'image' %}
45
45
  {% assign productImageWidth = featureMedia.width %}
46
46
  {% else %}
47
47
  {% assign productImageWidth = featureMedia.preview_image.width %}
48
48
  {% endcase %}`)}
49
- ${m.default({id:"{{section.id}}-{{imageID}}",contentType:"productImage",className:`${q("gp-ft-image-item !gp-min-w-full !gp-max-w-full ")}`,parentId:`ft-${p}-{{section.id}}-{{product.id}}`,style:$,customStyle:{width:"{{productImageWidth}}px"},children:`
49
+ ${p.default({id:"{{section.id}}-{{imageID}}",contentType:"productImage",className:`${I("gp-ft-image-item !gp-min-w-full !gp-max-w-full ")}`,parentId:`ft-${c}-{{section.id}}-{{product.id}}`,style:$,customStyle:{width:"{{productImageWidth}}px"},children:`
50
50
  <div
51
- class="gp-w-full gp-relative ${c.LiquidIf("featureMedia == null or featureMedia.media_type == 'image'","{{ 'gp-h-0' }}","{{ 'gp-h-full !gp-pb-0' }}")}"
52
- style="${u.getStyleOfObject(e.makeStyleResponsive("pb",T))} ${c.LiquidIf("featureMedia.media_type == 'video' or featureMedia.media_type == 'external_video'","{{ 'display: flex; align-items: center; justify-content: center' }}")}"
51
+ class="gp-w-full gp-relative ${g.LiquidIf("featureMedia == null or featureMedia.media_type == 'image'","{{ 'gp-h-0' }}","{{ 'gp-h-full !gp-pb-0' }}")}"
52
+ style="${o.getStyleOfObject(e.makeStyleResponsive("pb",T))} ${g.LiquidIf("featureMedia.media_type == 'video' or featureMedia.media_type == 'external_video'","{{ 'display: flex; align-items: center; justify-content: center' }}")}"
53
53
  >
54
- ${j()}
54
+ ${P()}
55
55
  </div>
56
56
  `})}`)}
57
- `,s.default({src:"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif",id:"noImageError",width:"480",height:"480",alt:"no image",priority:h?.preload,setting:{layout:h?.ftLayout,aspectRatio:S,qualityType:h?.qualityType,qualityPercent:h?.qualityPercent},style:{height:"100%"},className:"gp-w-full featured-image-only !gp-rounded-none",customLazyload:!0,enableLazyLoadImage:y}));return c.Liquid(`
57
+ `,s.default({src:"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif",id:"noImageError",width:"480",height:"480",alt:"no image",priority:h?.preload,setting:{layout:h?.ftLayout,aspectRatio:S,qualityType:h?.qualityType,qualityPercent:h?.qualityPercent},style:{height:"100%"},className:"gp-w-full featured-image-only !gp-rounded-none",customLazyload:!0,enableLazyLoadImage:y}));return g.Liquid(`
58
58
  {% capture featureImageOnlyOne %}
59
- ${c.Liquid(`
59
+ ${g.Liquid(`
60
60
  {% assign featureMedia = variant.featured_media %}
61
61
  {% unless featureMedia %}
62
62
  {% assign featureMedia = product.featured_media %}
63
63
  {% endunless %}
64
- ${c.LiquidIf("product.media.size > 1",(()=>{switch(h?.preDisplay){case"1st-images":return`
64
+ ${g.LiquidIf("product.media.size > 1",(()=>{switch(h?.preDisplay){case"1st-images":return`
65
65
  {% assign featureMedia = product.media.first %}
66
- `;case"1st-3d-mode":return c.LiquidFor("media in product.media",c.LiquidIf("media.media_type == 'model'","{% assign featureMedia = media %}{% break %}"));case"1st-video":return c.LiquidFor("media in product.media",c.LiquidIf("media.media_type == 'video' or media.media_type == 'external_video'","{% assign featureMedia = media %}{% break %}"));default:return`
66
+ `;case"1st-3d-mode":return g.LiquidFor("media in product.media",g.LiquidIf("media.media_type == 'model'","{% assign featureMedia = media %}{% break %}"));case"1st-video":return g.LiquidFor("media in product.media",g.LiquidIf("media.media_type == 'video' or media.media_type == 'external_video'","{% assign featureMedia = media %}{% break %}"));default:return`
67
67
  {% assign featureMedia = variant.featured_media %}
68
68
  {% unless featureMedia %}
69
69
  {% assign featureMedia = product.featured_media %}
@@ -73,7 +73,7 @@
73
73
  {% assign height = featureMedia.height | times: 1.0 %}
74
74
  {% assign width = featureMedia.width | times: 1.0 %}
75
75
  {% assign ratio = height | divided_by: width %}
76
- ${c.LiquidIf("ratio > largestRatio","{% assign largestRatio = ratio %}")}
76
+ ${g.LiquidIf("ratio > largestRatio","{% assign largestRatio = ratio %}")}
77
77
  {% assign productImageWidth = 0 %}
78
78
  {% case featureMedia.media_type %}
79
79
  {% when 'image' %}
@@ -81,38 +81,46 @@
81
81
  {% else %}
82
82
  {% assign productImageWidth = featureMedia.preview_image.width %}
83
83
  {% endcase %}
84
- ${c.LiquidIf("featureMedia == null","{% assign productImageWidth = 1600 %}")}
84
+ ${g.LiquidIf("featureMedia == null","{% assign productImageWidth = 1600 %}")}
85
85
  <div
86
86
  class='gp-feature-image-carousel gp-feature-image-only'
87
- style="${u.getStyleOfObject(M)}"
87
+ style="${o.getStyleOfObject(_)}"
88
88
  >
89
89
  <div
90
90
  class="gp-relative"
91
- style="${u.getStyleOfObject(w)}"
91
+ style="${o.getStyleOfObject(w)}"
92
92
  >
93
93
  ${f}
94
94
  <div
95
95
  type="gp-feature-image-only"
96
96
  product-id="{{product.id}}"
97
97
  product-media="{{product.media.size}}"
98
- class="${b(W)}"
99
- style="${u.getStyleOfObject(_)}"
98
+ class="${M(N)}"
99
+ style="${o.getStyleOfObject(v)}"
100
100
  >
101
101
  <div
102
- class="gp-w-full gp-relative ${c.LiquidIf("featureMedia == null or featureMedia.media_type == 'image'","{{ 'gp-h-0' }}","{{ 'gp-h-full !gp-pb-0' }}")}"
103
- style="${u.getStyleOfObject(e.makeStyleResponsive("pb",T))} ${c.LiquidIf("featureMedia.media_type == 'video' or featureMedia.media_type == 'external_video'","{{ 'display: flex; align-items: center; justify-content: center' }}")}"
102
+ class="gp-w-full gp-relative ${g.LiquidIf("featureMedia == null or featureMedia.media_type == 'image'","{{ 'gp-h-0' }}","{{ 'gp-h-full !gp-pb-0' }}")}"
103
+ style="${o.getStyleOfObject(e.makeStyleResponsive("pb",T))} ${g.LiquidIf("featureMedia.media_type == 'video' or featureMedia.media_type == 'external_video'","{{ 'display: flex; align-items: center; justify-content: center' }}")}"
104
104
  >
105
- ${j()}
105
+ ${P()}
106
106
  </div>
107
107
  </div>
108
108
  </div>
109
109
  </div>
110
110
  `)}
111
111
  {% endcapture %}
112
- ${c.LiquidIf("product.media.size > 1",`
113
- ${c.If(N,`
114
- ${n.default({builderProps:{uid:p},rootId:`ft-${p}-{{section.id}}-{{product.id}}`,conditionAppendJs:"product.media.size > 1",wrapperClass:W,rootClass:`${I}`,rootAttrs:{type:"gp-feature-image-carousel","product-id":"{{product.id}}","product-media":"{{product.media.size}}"},isHiddenArrowWhenDisabled:!0,setting:L,rootStyles:M,styles:v,style:{playSpeed:600},disableMarginAuto:!0,children:A,productBadgeLiquid:f||""})}
112
+ ${g.LiquidIf("product.media.size > 1",`
113
+ ${g.If(F,`
114
+ ${(()=>{switch(h?.preDisplay){case"1st-images":return`
115
+ {% assign featureMediaPosition = product.media.first.position %}
116
+ `;case"1st-3d-mode":return g.LiquidFor("media in product.media",g.LiquidIf("media.media_type == 'model'","{% assign featureMediaPosition = media.position %}{% break %}"));case"1st-video":return g.LiquidFor("media in product.media",g.LiquidIf("media.media_type == 'video' or media.media_type == 'external_video'","{% assign featureMediaPosition = media.position %}{% break %}"));default:return`
117
+ {% assign featureMediaPosition = variant.featured_media.position %}
118
+ {% unless featureMediaPosition %}
119
+ {% assign featureMediaPosition = product.featured_media.position %}
120
+ {% endunless %}
121
+ `}})()}
122
+ ${m.default({builderProps:{uid:c},rootId:`ft-${c}-{{section.id}}-{{product.id}}`,conditionAppendJs:"product.media.size > 1",wrapperClass:N,rootClass:`${q}`,rootAttrs:{type:"gp-feature-image-carousel","product-id":"{{product.id}}","product-media":"{{product.media.size}}","feature-media-position":"{{ featureMediaPosition }}"},isHiddenArrowWhenDisabled:!0,setting:L,rootStyles:_,styles:b,style:{playSpeed:600},disableMarginAuto:!0,children:W,productBadgeLiquid:f||""})}
115
123
  `," ")}
116
- ${c.If(!N,"{{ featureImageOnlyOne }}"," ")}
124
+ ${g.If(!F,"{{ featureImageOnlyOne }}"," ")}
117
125
  `,"{{ featureImageOnlyOne }}")}
118
126
  `)};
@@ -42,5 +42,5 @@
42
42
  </div>
43
43
  `})}`,w=d.LiquidIf("product.media.size > 1",d.LiquidFor("media in product.media",`${d.LiquidIf("media.media_type == 'image'",d.LiquidFor("image in product.images",d.LiquidIf("image.src == media.src","{% assign imageID = image.id %}{% break %}")),"{% assign imageID = '' %}")}
44
44
  ${d.LiquidIf("media.id == product.featured_media.id ",q(c?.borderActive?.border!=="none"?"active":""),q())}`));return e.template`
45
- ${p.default({builderProps:{uid:u},rootId:`${u}-{{product.id}}`,rootClass:`${C}`,rootAttrs:{type:"grid-carousel","product-media":"{{product.media.size}}"},wrapperClass:(()=>{let e=o.getCarouselVerticalConfigByPosition(c.position),i=[e.desktop?"gp-px-0":"gp-py-0",e.tablet?"tablet:gp-px-0":"tablet:gp-py-0",e.mobile?"mobile:gp-px-0":"mobile:gp-py-0"];return` ${i.join(" ")}`})(),slidesClass:o.getMinHeightByPosition(c.position,c.navigationPosition),isHiddenArrowWhenDisabled:!0,setting:y,rootStyles:{...(()=>{let i=(i,t,o)=>{let r=e.getResponsiveValueByScreen(t,o),s=e.getResponsiveValueByScreen(i,o),a="slider"===s&&("bottom-center"===r||"inside-bottom"===r),l=["left","right","inside-left","inside-right"].includes(r??"");return l||a},r=o.checkDisplayGalleryByWidth({shapeByLayout:L}),s={desktop:r.desktop&&i(c.type,c.position,"desktop"),tablet:r.tablet&&i(c.type,c.position,"tablet"),mobile:r.mobile&&i(c.type,c.position,"mobile")};return t.getDisplayStyle(e=>!s[e],"flex")})()},styles:v,disableMarginAuto:!0,children:w,renderByLayout:t.getGalleryCarouselRenderByLayout(c.position)})}
45
+ ${p.default({builderProps:{uid:u},rootId:`${u}-{{product.id}}`,rootClass:`${C}`,rootAttrs:{type:"grid-carousel","product-media":"{{product.media.size}}","feature-media-position":"{{ featureMediaPosition }}"},wrapperClass:(()=>{let e=o.getCarouselVerticalConfigByPosition(c.position),i=[e.desktop?"gp-px-0":"gp-py-0",e.tablet?"tablet:gp-px-0":"tablet:gp-py-0",e.mobile?"mobile:gp-px-0":"mobile:gp-py-0"];return` ${i.join(" ")}`})(),slidesClass:o.getMinHeightByPosition(c.position,c.navigationPosition),isHiddenArrowWhenDisabled:!0,setting:y,rootStyles:{...(()=>{let i=(i,t,o)=>{let r=e.getResponsiveValueByScreen(t,o),s=e.getResponsiveValueByScreen(i,o),a="slider"===s&&("bottom-center"===r||"inside-bottom"===r),l=["left","right","inside-left","inside-right"].includes(r??"");return l||a},r=o.checkDisplayGalleryByWidth({shapeByLayout:L}),s={desktop:r.desktop&&i(c.type,c.position,"desktop"),tablet:r.tablet&&i(c.type,c.position,"tablet"),mobile:r.mobile&&i(c.type,c.position,"mobile")};return t.getDisplayStyle(e=>!s[e],"flex")})()},styles:v,disableMarginAuto:!0,children:w,renderByLayout:t.getGalleryCarouselRenderByLayout(c.position)})}
46
46
  `};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("next/dynamic"),r=require("../../../common/components/Loading.js"),o=require("react"),d=require("@gem-sdk/core"),a=require("../SalePageProductListWarning.js"),s=require("next/head"),l=require("./ProductListGridLayout.js"),i=require("./ProductListCarouselLayout.js"),c=require("./common/styles.js"),n=require("@gem-sdk/system"),u=require("./common/classes.js"),g=require("./common/helpers.js"),m=require("../../../dialog/common/helpers.js");const h=t(()=>Promise.resolve().then(function(){return require("../ProductNotFound.js")}),{loading:r.default});exports.default=t=>{let{children:P,styles:f,builderProps:p,setting:y,builderAttrs:v}=t,{isRelatedProduct:b,productSetting:T}=g.getData(t),j=T.relatedTag&&T.relatedTag[0],{isEditMode:x,isPreviewSharePageMode:I}=d.useRenderMode(),k=d.useCurrentDevice(),S=d.usePageType(),C=d.usePageStore(e=>e.dynamicProduct),O=d.usePageStore(e=>e.dynamicCollection),[w,E]=o.useState(1),[q,M]=o.useState(!0),[N,L]=o.useState(),[W,F]=o.useState(!1),G="GP_FUNNEL_PAGE"===S;"GP_COLLECTION"==S&&(T.productSrc="DynamicCollection",T.collectionId=O?.collectionId??"latest");let Q=T?.productSrc??"Collection",B=C?.productId&&C?.productId!==T.relatedProductId?C?.productId:T.relatedProductId,D=d.useFetchHandle(),A=d.usePageStore(e=>e.publicStoreFrontData),_=o.useMemo(()=>d.hasPublicStoreFrontData(A)?d.createStoreFrontFetcher(A):D,[A]),{data:z}=d.useProductQuery(b&&B?B:void 0,{revalidateOnMount:x||I},_),H=T.relatedTag&&"tags"===T.relatedTag[0]&&(!z?.tags||z?.tags.length===0),R=T.relatedTag&&"collection"===T.relatedTag[0]&&(!z?.collections?.edges||z?.collections.edges.length===0),$=T.relatedTag&&"vendor"===T.relatedTag[0]&&!z?.vendor,V=d.useProductsQueryAll(N,{revalidateOnMount:x||I},_),U=x||I,J=d.useProductsQuery("PickProduct"===Q?T?.productIds:void 0,{revalidateOnMount:U},{defaultSelectedProductCount:T?.numOfSelectedProducts}),K=o.useMemo(()=>({id:T?.collectionId??"latest",numberOfProducts:y?.numberOfProducts??4,orderBy:y?.orderBy}),[T?.collectionId,Number(y?.numberOfProducts),y?.orderBy]),X=d.useCollectionQuery("PickProduct"!==Q?K:void 0,{revalidateOnMount:U});o.useEffect(()=>{if(b&&z&&T.relatedTag&&"recommended-product"!==T.relatedType){let e;switch(F(!1),T.hasRelatedExclude&&(e=T?.relatedExclude&&T.relatedExclude.split(",").map(e=>e.trim())),T.relatedTag[0]){case"vendor":L({first:y?.numberOfProducts,where:{vendor:T.relatedTag&&"vendor"===T.relatedTag[0]?z?.vendor:"",idNEQ:z.id}});break;case"collection":{let t=z?.collections?.edges.map(e=>e.node?.id);if(!t||t?.length===0){F(!0);break}L(e&&e.length>0?{first:y?.numberOfProducts,where:{idNEQ:z.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t},{titleNotIn:e}]}]}}:{first:y?.numberOfProducts,where:{idNEQ:z.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t}]}]}});break}case"tags":if(!z.tags||0===z.tags.length){F(!0);break}L(e&&e.length>0?{first:y?.numberOfProducts,where:{idNEQ:z.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:z.tags},{nameNotIn:e}]}]}}:{first:y?.numberOfProducts,where:{idNEQ:z.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:z.tags}]}]}})}}},[z,T.relatedType,T.relatedTag,y?.numberOfProducts,T.relatedExclude,T.hasRelatedExclude,b]);let Y="PickProduct"===Q?J.isValidating:X.isValidating,Z="PickProduct"===Q?J.isLoading:X.isLoading,ee="PickProduct"===Q?J.error:X.error,et=X.data?.collections?.edges?.[0]?.node,er="PickProduct"===Q?d.flattenConnection(J.data?.products):d.flattenConnection(et?.products),eo=V?.data?.products?d.flattenConnection(V?.data?.products):void 0,ed=b&&eo?eo:"PickProduct"===Q&&T?.productIds?.length?T?.productIds?.map(e=>er?.find(t=>t?.baseID===e)).filter(Boolean)??er:"PickProduct"!==Q?er:er.filter((e,t)=>t<(T?.numOfSelectedProducts??4)),ea=o.useMemo(()=>W&&b&&x||!ed.length&&!Z&&q&&x,[q,Z,W,b,x,ed.length]),es=o.useMemo(()=>!ed||W&&b,[W,b,ed]),el=o.useMemo(()=>{if(!y?.sameHeight)return[];let e=0,t=Math.ceil((ed?.length??0)/+(y?.slidesToShow?.[k]??1));return Array.from(Array(ed?.length??0)).map((r,o)=>(o>=+(y?.slidesToShow?.[k]??1)*(e+1)&&++e,{gridRow:`${1+w*e}/${w+1+w*e}`,marginBottom:e+1<t?m.getPropertyByDevice(f?.horizontalGutter,k):void 0}))},[y?.sameHeight,y?.slidesToShow,w,ed?.length,k,f?.horizontalGutter]),ei=o.useMemo(()=>Y||Z||ee||!ed||W&&b,[ee,Z,W,b,Y,ed]);o.useEffect(()=>{ei||setTimeout(()=>{let{builderData:e}=p??{},t=e?.childrens?.[0];if(!t)return;let r=document.querySelector(`[data-id=${t}] div`);r&&E(r.childElementCount||1)},x?0:500)},[p,ei,x]);let ec=o.useMemo(()=>({collection:et,products:ed,settings:{loop:y?.loop??{desktop:!1},scrollMode:y?.scrollMode??{desktop:"snap"},slidesToShow:y?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:f?.layout,dot:y?.dot,dotStyle:y?.dotStyle,arrow:y?.arrow,controlOverContent:y?.controlOverContent},styles:{horizontalGutter:f?.horizontalGutter,verticalGutter:f?.verticalGutter,fullWidth:f?.fullWidth,spacing:f?.spacing,width:f?.width,height:f?.height}}),[et,ed,y,f]);if(p?.isPreview&&G)return e.jsx(e.Fragment,{});if(ea)return e.jsx(e.Fragment,{children:n.If(q,e.jsx(h,{builderAttrs:v,collectionHandle:et?.handle,productSrc:Q,onClose:()=>M(!1),children:P,relatedTagString:j,assignProductNoTags:H||R||$,noAssignedProduct:!B}))});let{productListWrapStyle:en,productListContentStyle:eu,productListWrapAlignStyle:eg}=c.getStyle(t),{productListWrapClass:em}=u.getClass(t);return e.jsxs("div",{...v,className:em,style:en,children:[!!f?.preloadBgImage&&e.jsxs(s,{children:[!!f.backgroundImage?.desktop?.image?.src&&e.jsx("link",{rel:"preload",href:f.backgroundImage.desktop.image.src,as:"image"}),!!f.backgroundImage?.tablet?.image?.src&&e.jsx("link",{rel:"preload",href:f.backgroundImage?.tablet?.image?.src,as:"image"}),!!f.backgroundImage?.mobile?.image?.src&&e.jsx("link",{rel:"preload",href:f.backgroundImage?.mobile?.image?.src,as:"image"})]}),Y||Z?e.jsx(r.default,{}):ee?e.jsxs("div",{children:["Error: ",ee?.message]}):es?e.jsx("div",{children:"Products not found"}):e.jsx(d.ProductListProvider,{...ec,children:e.jsx("div",{className:"gp-flex gp-w-full",style:eg,children:e.jsxs("div",{style:eu,children:[G&&e.jsx(a.default,{}),e.jsx(e.Fragment,{children:n.If(f?.layout==="grid",e.jsx(l.default,{...t,productSortedById:ed,generateGridRowArray:el}),e.jsx(i.default,{...t,productSortedById:ed}))})]})})}),d.filterToolbarPreview(P,!0)]})};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("next/dynamic"),r=require("../../../common/components/Loading.js"),o=require("react"),d=require("@gem-sdk/core"),a=require("../SalePageProductListWarning.js"),s=require("next/head"),l=require("./ProductListGridLayout.js"),i=require("./ProductListCarouselLayout.js"),c=require("./common/styles.js"),n=require("@gem-sdk/system"),u=require("./common/classes.js"),g=require("./common/helpers.js"),m=require("../../../dialog/common/helpers.js");const h=t(()=>Promise.resolve().then(function(){return require("../ProductNotFound.js")}),{loading:r.default});exports.default=t=>{let{children:P,styles:f,builderProps:p,setting:y,builderAttrs:v}=t,{isRelatedProduct:b,productSetting:T}=g.getData(t),j=T.relatedTag&&T.relatedTag[0],{isEditMode:x,isPreviewSharePageMode:I}=d.useRenderMode(),k=d.useCurrentDevice(),S=d.usePageType(),C=d.usePageStore(e=>e.dynamicProduct),O=d.usePageStore(e=>e.dynamicCollection),[E,q]=o.useState(1),[M,N]=o.useState(!0),[w,L]=o.useState(),[W,F]=o.useState(!1),G="GP_FUNNEL_PAGE"===S;"GP_COLLECTION"==S&&(T.productSrc="DynamicCollection",T.collectionId=O?.collectionId??"latest");let Q=T?.productSrc??"Collection",B=C?.productId&&C?.productId!==T.relatedProductId?C?.productId:T.relatedProductId,D=d.useFetchHandle(),A=d.usePageStore(e=>e.publicStoreFrontData),_=o.useMemo(()=>d.hasPublicStoreFrontData(A)?d.createStoreFrontFetcher(A):D,[A]),{data:z}=d.useProductQuery(b&&B?B:void 0,{revalidateOnMount:x||I},_),H=T.relatedTag&&"tags"===T.relatedTag[0]&&(!z?.tags||z?.tags.length===0),R=T.relatedTag&&"collection"===T.relatedTag[0]&&(!z?.collections?.edges||z?.collections.edges.length===0),$=T.relatedTag&&"vendor"===T.relatedTag[0]&&!z?.vendor,V=d.useProductsQueryAll(w,{revalidateOnMount:x||I},_),U=x||I,J=d.useProductsQuery("PickProduct"===Q?T?.productIds:void 0,{revalidateOnMount:U},{defaultSelectedProductCount:T?.numOfSelectedProducts}),K=o.useMemo(()=>({id:T?.collectionId??"latest",numberOfProducts:y?.numberOfProducts??4,orderBy:y?.orderBy}),[T?.collectionId,Number(y?.numberOfProducts),y?.orderBy]),X=d.useCollectionQuery("PickProduct"!==Q?K:void 0,{revalidateOnMount:U});o.useEffect(()=>{if(b&&z&&T.relatedTag&&"recommended-product"!==T.relatedType){let e;switch(F(!1),T.hasRelatedExclude&&(e=T?.relatedExclude&&T.relatedExclude.split(",").map(e=>e.trim())),T.relatedTag[0]){case"vendor":L({first:y?.numberOfProducts,vendor:T.relatedTag&&"vendor"===T.relatedTag[0]?z?.vendor:"",idNEQ:z.id});break;case"collection":{let t=z?.collections?.edges.map(e=>e.node?.id);if(!t||t?.length===0){F(!0);break}L(e&&e.length>0?{first:y?.numberOfProducts,idNEQ:z.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t},{titleNotIn:e}]}]}:{first:y?.numberOfProducts,idNEQ:z.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t}]}]});break}case"tags":if(!z.tags||0===z.tags.length){F(!0);break}L(e&&e.length>0?{first:y?.numberOfProducts,idNEQ:z.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:z.tags},{nameNotIn:e}]}]}:{first:y?.numberOfProducts,idNEQ:z.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:z.tags}]}]})}}},[z,T.relatedType,T.relatedTag,y?.numberOfProducts,T.relatedExclude,T.hasRelatedExclude,b]);let Y="PickProduct"===Q?J.isValidating:X.isValidating,Z="PickProduct"===Q?J.isLoading:X.isLoading,ee="PickProduct"===Q?J.error:X.error,et=X.data?.collections?.edges?.[0]?.node,er="PickProduct"===Q?d.flattenConnection(J.data?.products):d.flattenConnection(et?.products),eo=V?.data?.products?d.flattenConnection(V?.data?.products):void 0,ed=b&&eo?eo:"PickProduct"===Q&&T?.productIds?.length?T?.productIds?.map(e=>er?.find(t=>t?.baseID===e)).filter(Boolean)??er:"PickProduct"!==Q?er:er.filter((e,t)=>t<(T?.numOfSelectedProducts??4)),ea=o.useMemo(()=>W&&b&&x||!ed.length&&!Z&&M&&x,[M,Z,W,b,x,ed.length]),es=o.useMemo(()=>!ed||W&&b,[W,b,ed]),el=o.useMemo(()=>{if(!y?.sameHeight)return[];let e=0,t=Math.ceil((ed?.length??0)/+(y?.slidesToShow?.[k]??1));return Array.from(Array(ed?.length??0)).map((r,o)=>(o>=+(y?.slidesToShow?.[k]??1)*(e+1)&&++e,{gridRow:`${1+E*e}/${E+1+E*e}`,marginBottom:e+1<t?m.getPropertyByDevice(f?.horizontalGutter,k):void 0}))},[y?.sameHeight,y?.slidesToShow,E,ed?.length,k,f?.horizontalGutter]),ei=o.useMemo(()=>Y||Z||ee||!ed||W&&b,[ee,Z,W,b,Y,ed]);o.useEffect(()=>{ei||setTimeout(()=>{let{builderData:e}=p??{},t=e?.childrens?.[0];if(!t)return;let r=document.querySelector(`[data-id=${t}] div`);r&&q(r.childElementCount||1)},x?0:500)},[p,ei,x]);let ec=o.useMemo(()=>({collection:et,products:ed,settings:{loop:y?.loop??{desktop:!1},scrollMode:y?.scrollMode??{desktop:"snap"},slidesToShow:y?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:f?.layout,dot:y?.dot,dotStyle:y?.dotStyle,arrow:y?.arrow,controlOverContent:y?.controlOverContent},styles:{horizontalGutter:f?.horizontalGutter,verticalGutter:f?.verticalGutter,fullWidth:f?.fullWidth,spacing:f?.spacing,width:f?.width,height:f?.height}}),[et,ed,y,f]);if(p?.isPreview&&G)return e.jsx(e.Fragment,{});if(ea)return e.jsx(e.Fragment,{children:n.If(M,e.jsx(h,{builderAttrs:v,collectionHandle:et?.handle,productSrc:Q,onClose:()=>N(!1),children:P,relatedTagString:j,assignProductNoTags:H||R||$,noAssignedProduct:!B}))});let{productListWrapStyle:en,productListContentStyle:eu,productListWrapAlignStyle:eg}=c.getStyle(t),{productListWrapClass:em}=u.getClass(t);return e.jsxs("div",{...v,className:em,style:en,children:[!!f?.preloadBgImage&&e.jsxs(s,{children:[!!f.backgroundImage?.desktop?.image?.src&&e.jsx("link",{rel:"preload",href:f.backgroundImage.desktop.image.src,as:"image"}),!!f.backgroundImage?.tablet?.image?.src&&e.jsx("link",{rel:"preload",href:f.backgroundImage?.tablet?.image?.src,as:"image"}),!!f.backgroundImage?.mobile?.image?.src&&e.jsx("link",{rel:"preload",href:f.backgroundImage?.mobile?.image?.src,as:"image"})]}),Y||Z?e.jsx(r.default,{}):ee?e.jsxs("div",{children:["Error: ",ee?.message]}):es?e.jsx("div",{children:"Products not found"}):e.jsx(d.ProductListProvider,{...ec,children:e.jsx("div",{className:"gp-flex gp-w-full",style:eg,children:e.jsxs("div",{style:eu,children:[G&&e.jsx(a.default,{}),e.jsx(e.Fragment,{children:n.If(f?.layout==="grid",e.jsx(l.default,{...t,productSortedById:ed,generateGridRowArray:el}),e.jsx(i.default,{...t,productSortedById:ed}))})]})})}),d.filterToolbarPreview(P,!0)]})};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("next/dynamic"),r=require("../../../common/components/Loading.js"),o=require("react"),s=require("@gem-sdk/core"),d=require("../SalePageProductListWarning.js"),l=require("next/head"),i=require("./ProductListGridLayout.js"),a=require("./ProductListCarouselLayout.js"),u=require("./common/styles.js"),c=require("@gem-sdk/system"),n=require("./common/classes.js"),g=require("./common/helpers.js"),m=require("../../../dialog/common/helpers.js"),h=require("./hooks/useProductsQuery.js"),P=require("./hooks/useCollectionQuery.js"),p=require("./hooks/useProductRelatedQuery.js"),f=require("./hooks/useMainRelatedProductQuery.js");const y=t(()=>Promise.resolve().then(function(){return require("../ProductNotFound.js")}),{loading:r.default});exports.default=t=>{let{children:j,styles:k,builderProps:x,setting:v,builderAttrs:I}=t,{isRelatedProduct:S,productSetting:b}=g.getData(t),{isEditMode:q,isPreviewSharePageMode:T}=s.useRenderMode(),C=s.useCurrentDevice(),M=s.usePageType(),w=s.usePageStore(e=>e.dynamicCollection),[L,G]=o.useState(1),[O,N]=o.useState(!0),A="GP_FUNNEL_PAGE"===M;"GP_COLLECTION"==M&&(b.productSrc="DynamicCollection",b.collectionId=w?.collectionId??"latest");let B=b?.productSrc??"Collection",{mainRelatedProduct:E,relatedProductIdAssigned:Q}=f.default({isEditMode:q,isPreviewSharePageMode:T,isRelatedProduct:S,relatedProductId:b.relatedProductId}),D=b.relatedTag&&b.relatedTag[0],F=b.relatedTag&&"tags"===b.relatedTag[0]&&(!E?.tags||E?.tags.length===0),_=b.relatedTag&&"collection"===b.relatedTag[0]&&(!E?.collections?.edges||E?.collections.edges.length===0),z=b.relatedTag&&"vendor"===b.relatedTag[0]&&!E?.vendor,{isNotFoundRelatedProduct:R,relatedProducts:H}=p.default({isEditMode:q,isPreviewSharePageMode:T,isRelatedProduct:S,productSetting:b,setting:v,mainRelatedProduct:E}),W=h.useProductsQuery({productIds:b?.productIds,defaultSelectedProductCount:b?.numOfSelectedProducts,productSrc:B}),$=o.useMemo(()=>({id:b?.collectionId??"latest",numberOfProducts:v?.numberOfProducts??4,orderBy:v?.orderBy}),[b?.collectionId,Number(v?.numberOfProducts),v?.orderBy]),V=P.useCollectionQuery({variables:"PickProduct"!==B?$:void 0}),U="PickProduct"===B?W.isLoading:V.isLoading,J="PickProduct"===B?W.error:V.error,K="PickProduct"===B?W.isValidating:V.isValidating,X=V.data?.collections?.edges?.[0]?.node,Y="PickProduct"===B?s.flattenConnection(W.data?.products):s.flattenConnection(X?.products),Z=s.usePageStore(e=>e.assignedProductIds),ee=s.usePageStore(e=>e.isApplyAllProducts),et=o.useMemo(()=>(Z??[]).length>0&&!ee||ee,[Z,ee]),er=H?.data?.products&&et?s.flattenConnection(H?.data?.products):[],eo=S?er:"PickProduct"===B&&b?.productIds?.length?b?.productIds?.map(e=>Y?.find(t=>t?.baseID===e)).filter(Boolean)??Y:"PickProduct"!==B?Y:Y.filter((e,t)=>t<(b?.numOfSelectedProducts??4)),es=o.useMemo(()=>R&&S&&q||!eo.length&&!U&&O&&q,[O,U,R,S,q,eo.length]),ed=o.useMemo(()=>!eo||R&&S,[R,S,eo]),el=o.useMemo(()=>{if(!v?.sameHeight)return[];let e=0,t=Math.ceil((eo?.length??0)/+(v?.slidesToShow?.[C]??1));return Array.from(Array(eo?.length??0)).map((r,o)=>(o>=+(v?.slidesToShow?.[C]??1)*(e+1)&&++e,{gridRow:`${1+L*e}/${L+1+L*e}`,marginBottom:e+1<t?m.getPropertyByDevice(k?.horizontalGutter,C):void 0}))},[v?.sameHeight,v?.slidesToShow,L,eo?.length,C,k?.horizontalGutter]),ei=o.useMemo(()=>K||U||J||!eo||R&&S,[J,U,R,S,K,eo]),ea=o.useMemo(()=>E?.collections?.edges.map(e=>e.node?.id)??[],[E?.collections?.edges]);o.useEffect(()=>{ei||setTimeout(()=>{let{builderData:e}=x??{},t=e?.childrens?.[0];if(!t)return;let r=document.querySelector(`[data-id=${t}] div`);r&&G(r.childElementCount||1)},q?0:500)},[x,ei,q,ea]);let eu=o.useMemo(()=>({collection:X,products:eo,settings:{loop:v?.loop??{desktop:!1},scrollMode:v?.scrollMode??{desktop:"snap"},slidesToShow:v?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:k?.layout,dot:v?.dot,dotStyle:v?.dotStyle,arrow:v?.arrow,controlOverContent:v?.controlOverContent},styles:{horizontalGutter:k?.horizontalGutter,verticalGutter:k?.verticalGutter,fullWidth:k?.fullWidth,spacing:k?.spacing,width:k?.width,height:k?.height}}),[X,eo,v,k]);if(x?.isPreview&&A)return e.jsx(e.Fragment,{});if(es)return e.jsx(e.Fragment,{children:c.If(O,e.jsx(y,{builderAttrs:I,collectionHandle:X?.handle,productSrc:B,onClose:()=>N(!1),children:j,relatedTagString:D,assignProductNoTags:F||_||z,noAssignedProduct:!Q}))});let{productListWrapStyle:ec,productListContentStyle:en,productListWrapAlignStyle:eg}=u.getStyle(t),{productListWrapClass:em}=n.getClass(t);return e.jsxs("div",{...I,className:em,style:ec,children:[!!k?.preloadBgImage&&e.jsxs(l,{children:[!!k.backgroundImage?.desktop?.image?.src&&e.jsx("link",{rel:"preload",href:k.backgroundImage.desktop.image.src,as:"image"}),!!k.backgroundImage?.tablet?.image?.src&&e.jsx("link",{rel:"preload",href:k.backgroundImage?.tablet?.image?.src,as:"image"}),!!k.backgroundImage?.mobile?.image?.src&&e.jsx("link",{rel:"preload",href:k.backgroundImage?.mobile?.image?.src,as:"image"})]}),U||K?e.jsx(r.default,{}):J?e.jsxs("div",{children:["Error: ",J?.message]}):ed?e.jsx("div",{children:"Products not found"}):e.jsx(s.ProductListProvider,{...eu,children:e.jsx("div",{className:"gp-flex gp-w-full",style:eg,children:e.jsxs("div",{style:en,children:[A&&e.jsx(d.default,{}),e.jsx(e.Fragment,{children:c.If(k?.layout==="grid",e.jsx(i.default,{...t,productSortedById:eo,generateGridRowArray:el}),e.jsx(a.default,{...t,productSortedById:eo}))})]})})}),s.filterToolbarPreview(j,!0)]})};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("next/dynamic"),r=require("../../../common/components/Loading.js"),o=require("react"),s=require("@gem-sdk/core"),l=require("../SalePageProductListWarning.js"),d=require("next/head"),i=require("./ProductListGridLayout.js"),a=require("./ProductListCarouselLayout.js"),u=require("./common/styles.js"),c=require("@gem-sdk/system"),n=require("./common/classes.js"),g=require("./common/helpers.js"),m=require("../../../dialog/common/helpers.js"),h=require("./hooks/useProductsQuery.js"),P=require("./hooks/useCollectionQuery.js"),f=require("./hooks/useProductRelatedQuery.js"),p=require("./hooks/useMainRelatedProductQuery.js");const y=t(()=>Promise.resolve().then(function(){return require("../ProductNotFound.js")}),{loading:r.default});exports.default=t=>{let{children:j,styles:k,builderProps:x,setting:I,builderAttrs:S}=t,{isRelatedProduct:v,productSetting:q}=g.getData(t),{isEditMode:T,isPreviewSharePageMode:b}=s.useRenderMode(),C=s.useCurrentDevice(),w=s.usePageType(),M=s.usePageStore(e=>e.dynamicCollection),[L,G]=o.useState(1),[O,A]=o.useState(!0),N=o.useRef(),B="GP_FUNNEL_PAGE"===w;"GP_COLLECTION"==w&&(q.productSrc="DynamicCollection",q.collectionId=M?.collectionId??"latest");let D=q?.productSrc??"Collection",{mainRelatedProduct:E,relatedProductIdAssigned:Q}=p.default({isEditMode:T,isPreviewSharePageMode:b,isRelatedProduct:v,relatedProductId:q.relatedProductId}),F=q.relatedTag&&q.relatedTag[0],R=q.relatedTag&&"tags"===q.relatedTag[0]&&(!E?.tags||E?.tags.length===0),_=q.relatedTag&&"collection"===q.relatedTag[0]&&(!E?.collections?.edges||E?.collections.edges.length===0),z=q.relatedTag&&"vendor"===q.relatedTag[0]&&!E?.vendor,{isNotFoundRelatedProduct:H,relatedProducts:W}=f.default({isRelatedProduct:v,productSetting:q,setting:I,mainRelatedProduct:E,productSrc:D}),$=h.useProductsQuery({productIds:q?.productIds,defaultSelectedProductCount:q?.numOfSelectedProducts,productSrc:D}),V=P.useCollectionQuery({productSrc:D,collectionID:q?.collectionId??"latest",numberOfProducts:I?.numberOfProducts??4,orderBy:I?.orderBy??"none"}),U="PickProduct"===D?$.isLoading:V.isLoading,J="PickProduct"===D?$.error:V.error,K="PickProduct"===D?$.isValidating:V.isValidating,X=V.data?.collections?.edges?.[0]?.node,Y="PickProduct"===D?s.flattenConnection($.data?.products):s.flattenConnection(X?.products),Z=s.usePageStore(e=>e.assignedProductIds),ee=s.usePageStore(e=>e.isApplyAllProducts),et=o.useMemo(()=>(Z??[]).length>0&&!ee||ee,[Z,ee]),er=W?.data?.products&&et?s.flattenConnection(W?.data?.products):[],eo=v?er:"PickProduct"===D&&q?.productIds?.length?q?.productIds?.map(e=>Y?.find(t=>t?.baseID===e)).filter(Boolean)??Y:"PickProduct"!==D?Y:Y.filter((e,t)=>t<(q?.numOfSelectedProducts??4)),es=o.useMemo(()=>H&&v&&T||!eo.length&&!U&&O&&T,[O,U,H,v,T,eo.length]),el=o.useMemo(()=>!eo||H&&v,[H,v,eo]),ed=o.useMemo(()=>{if(!I?.sameHeight)return[];let e=0,t=Math.ceil((eo?.length??0)/+(I?.slidesToShow?.[C]??1));return Array.from(Array(eo?.length??0)).map((r,o)=>(o>=+(I?.slidesToShow?.[C]??1)*(e+1)&&++e,{gridRow:`${1+L*e}/${L+1+L*e}`,marginBottom:e+1<t?m.getPropertyByDevice(k?.horizontalGutter,C):void 0}))},[I?.sameHeight,I?.slidesToShow,L,eo?.length,C,k?.horizontalGutter]),ei=o.useMemo(()=>K||U||J||!eo||H&&v,[J,U,H,v,K,eo]),ea=o.useMemo(()=>E?.collections?.edges.map(e=>e.node?.id)??[],[E?.collections?.edges]);o.useEffect(()=>{if(!ei&&!U&&!K)return N.current=setTimeout(()=>{let{builderData:e}=x??{},t=e?.childrens?.[0];if(!t)return;let r=document.querySelector(`[data-id=${t}] div`);r&&G(r.childElementCount||1)},500),()=>{clearTimeout(N.current)}},[x,ei,T,ea,U,K]);let eu=o.useMemo(()=>({collection:X,products:eo,settings:{loop:I?.loop??{desktop:!1},scrollMode:I?.scrollMode??{desktop:"snap"},slidesToShow:I?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:k?.layout,dot:I?.dot,dotStyle:I?.dotStyle,arrow:I?.arrow,controlOverContent:I?.controlOverContent},styles:{horizontalGutter:k?.horizontalGutter,verticalGutter:k?.verticalGutter,fullWidth:k?.fullWidth,spacing:k?.spacing,width:k?.width,height:k?.height}}),[X,eo,I,k]);if(x?.isPreview&&B)return e.jsx(e.Fragment,{});if(es)return e.jsx(e.Fragment,{children:c.If(O,e.jsx(y,{builderAttrs:S,collectionHandle:X?.handle,productSrc:D,onClose:()=>A(!1),children:j,relatedTagString:F,assignProductNoTags:R||_||z,noAssignedProduct:!Q}))});let{productListWrapStyle:ec,productListContentStyle:en,productListWrapAlignStyle:eg}=u.getStyle(t),{productListWrapClass:em}=n.getClass(t);return e.jsxs("div",{...S,className:em,style:ec,children:[!!k?.preloadBgImage&&e.jsxs(d,{children:[!!k.backgroundImage?.desktop?.image?.src&&e.jsx("link",{rel:"preload",href:k.backgroundImage.desktop.image.src,as:"image"}),!!k.backgroundImage?.tablet?.image?.src&&e.jsx("link",{rel:"preload",href:k.backgroundImage?.tablet?.image?.src,as:"image"}),!!k.backgroundImage?.mobile?.image?.src&&e.jsx("link",{rel:"preload",href:k.backgroundImage?.mobile?.image?.src,as:"image"})]}),U||K?e.jsx(r.default,{}):J?e.jsxs("div",{children:["Error: ",J?.message]}):el?e.jsx("div",{children:"Products not found"}):e.jsx(s.ProductListProvider,{...eu,children:e.jsx("div",{className:"gp-flex gp-w-full",style:eg,children:e.jsxs("div",{style:en,children:[B&&e.jsx(l.default,{}),e.jsx(e.Fragment,{children:c.If(k?.layout==="grid",e.jsx(i.default,{...t,productSortedById:eo,generateGridRowArray:ed}),e.jsx(a.default,{...t,productSortedById:eo}))})]})})}),s.filterToolbarPreview(j,!0)]})};
@@ -1 +1 @@
1
- "use strict";var e=require("@gem-sdk/system");exports.getClass=s=>{let{setting:t,className:g,builderProps:a,advanced:r,styles:i}=s,l=e.createClass({...g&&{[g]:!0},...r?.cssClass&&{[r.cssClass]:!0},"!gp-m-auto gp-grid gp-w-full":!0,"gp-grid-flow-row":t?.sameHeight}),p=e.createClass({"gp-relative gp-flex":!0,[`${a?.builderData?.uid}`]:!0}),d=e.createClass({"gp-contents":t?.sameHeight&&i?.layout==="grid"}),c=e.createClass({"gp-justify-center":!0,"gp-overflow-hidden":!t?.sameHeight}),o=e.createClass({"gp-contents [&>*>div]:gp-contents [&>*]:gp-grid-rows-[subgrid] [&>*]:gp-gap-y-0":t?.sameHeight&&i?.layout==="grid",[`gp-child-item-${a?.uid}`]:!0});return{gridLayoutClass:l,productItemClass:o,carouselClass:c,productListWrapClass:p,gpProductClass:d}};
1
+ "use strict";var e=require("@gem-sdk/system");exports.getClass=s=>{let{setting:t,className:g,builderProps:a,advanced:r,styles:i}=s,l=e.createClass({...g&&{[g]:!0},...r?.cssClass&&{[r.cssClass]:!0},"!gp-m-auto gp-grid gp-w-full":!0,"gp-grid-flow-row":t?.sameHeight}),p=e.createClass({"gp-relative gp-flex":!0,[`${a?.builderData?.uid}`]:!0}),d=e.createClass({"gp-contents":t?.sameHeight&&i?.layout==="grid"}),c=e.createClass({"gp-justify-center":!0,"gp-overflow-hidden":!t?.sameHeight}),u=e.createClass({"gp-contents [&>*]:gp-grid-rows-[subgrid] [&>*]:gp-gap-y-0":t?.sameHeight&&i?.layout==="grid",[`gp-child-item-${a?.uid}`]:!0});return{gridLayoutClass:l,productItemClass:u,carouselClass:c,productListWrapClass:p,gpProductClass:d}};
@@ -1 +1 @@
1
- "use strict";var e=require("@gem-sdk/core"),t=require("react"),r=require("swr");exports.useCollectionQuery=({variables:a})=>{let o=e.useFetchHandle(),i=e.usePageStore(e=>e.publicStoreFrontData),u=t.useMemo(()=>e.hasPublicStoreFrontData(i)?e.createStoreFrontFetcher(i):o,[i]),s=e.useIsSampleProduct(),l=e.useIsStorefrontProduct(),n=r(e.generateCollectionQueryKey({...a,isSample:s,isStorefront:l}),([,t])=>e.getCollection(u,t),{revalidateOnMount:!1,revalidateIfStale:!0});return t.useEffect(()=>{let e=!!n.error,t=n.isLoading||n.isValidating,r=!n.data&&!t,o=!e&&r&&a;o&&n.mutate()},[a,n.data,n.error,n.isLoading,n.isValidating]),n};
1
+ "use strict";var e=require("@gem-sdk/core"),r=require("react"),t=require("swr"),o=require("../constants/index.js");exports.useCollectionQuery=({productSrc:a,numberOfProducts:i,orderBy:s,collectionID:u})=>{let n=e.useFetchHandle(),l=e.usePageStore(e=>e.publicStoreFrontData),c=r.useMemo(()=>e.hasPublicStoreFrontData(l)?e.createStoreFrontFetcher(l):n,[l]),d=e.useIsSampleProduct(),g=e.useIsStorefrontProduct(),S=r.useMemo(()=>({id:u,numberOfProducts:i,orderBy:s}),[u,i,s]),C=t(e.generateCollectionQueryKey({...S,isSample:d,isStorefront:g}),([,r])=>e.getCollection(c,r),{revalidateOnMount:!1});return r.useEffect(()=>{if(a!==o.PRODUCT_SOURCE.Collection)return;let e=!!C.error,r=C.isLoading||C.isValidating,t=!C.data&&!r;!e&&t&&C.mutate()},[a,C.data,C.error,C.isLoading,C.isValidating]),C};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("@gem-sdk/core");exports.default=({setting:r,isEditMode:a,isPreviewSharePageMode:d,isRelatedProduct:s,mainRelatedProduct:l,productSetting:i})=>{let[o,u]=e.useState(!1),[c,n]=e.useState(),h=t.useFetchHandle(),g=t.usePageStore(e=>e.publicStoreFrontData),f=e.useMemo(()=>t.hasPublicStoreFrontData(g)?t.createStoreFrontFetcher(g):h,[g]),m=t.useProductsQueryAll(c,{revalidateOnMount:a||d,keepPreviousData:!0,refreshInterval:0},f);return e.useEffect(()=>{if(s&&l&&i.relatedTag&&"recommended-product"!==i.relatedType){let e;switch(u(!1),i.hasRelatedExclude&&(e=i?.relatedExclude&&i.relatedExclude.split(",").map(e=>e.trim())),i.relatedTag[0]){case"vendor":n({first:r?.numberOfProducts,where:{vendor:i.relatedTag&&"vendor"===i.relatedTag[0]?l?.vendor:"",idNEQ:l.id}});break;case"collection":{let t=l?.collections?.edges.map(e=>e.node?.id);if(!t||t?.length===0){u(!0);break}n(e&&e.length>0?{first:r?.numberOfProducts,where:{idNEQ:l.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t},{titleNotIn:e}]}]}}:{first:r?.numberOfProducts,where:{idNEQ:l.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t}]}]}});break}case"tags":if(!l.tags||0===l.tags.length){u(!0);break}n(e&&e.length>0?{first:r?.numberOfProducts,where:{idNEQ:l.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:l.tags},{nameNotIn:e}]}]}}:{first:r?.numberOfProducts,where:{idNEQ:l.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:l.tags}]}]}})}}},[l,i.relatedType,i.relatedTag,r?.numberOfProducts,i.relatedExclude,i.hasRelatedExclude,s]),{isNotFoundRelatedProduct:o,relatedProducts:m}};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("swr"),r=require("@gem-sdk/core"),a=require("../constants/index.js");exports.default=({productSrc:d,setting:s,isRelatedProduct:i,mainRelatedProduct:l,productSetting:o})=>{let[n,u]=e.useState(!1),[c,h]=e.useState(),g=r.useFetchHandle(),f=r.usePageStore(e=>e.publicStoreFrontData),m=e.useMemo(()=>r.hasPublicStoreFrontData(f)?r.createStoreFrontFetcher(f):g,[f]),P=t(c?["query/products",c]:null,async([,e])=>r.getProductQueryAll(m,e),{revalidateOnMount:!1,keepPreviousData:!0,refreshInterval:0});return e.useEffect(()=>{if(i&&l&&o.relatedTag&&"recommended-product"!==o.relatedType){let e;switch(u(!1),o.hasRelatedExclude&&(e=o?.relatedExclude&&o.relatedExclude.split(",").map(e=>e.trim())),o.relatedTag[0]){case"vendor":h({first:s?.numberOfProducts,vendor:o.relatedTag&&"vendor"===o.relatedTag[0]?l?.vendor:"",idNEQ:l.id});break;case"collection":{let t=l?.collections?.edges.map(e=>e.node?.id);if(!t||t?.length===0){u(!0);break}h(e&&e.length>0?{first:s?.numberOfProducts,idNEQ:l.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t},{titleNotIn:e}]}]}:{first:s?.numberOfProducts,idNEQ:l.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t}]}]});break}case"tags":if(!l.tags||0===l.tags.length){u(!0);break}h(e&&e.length>0?{first:s?.numberOfProducts,idNEQ:l.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:l.tags},{nameNotIn:e}]}]}:{first:s?.numberOfProducts,idNEQ:l.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:l.tags}]}]})}}},[l,o.relatedType,o.relatedTag,s?.numberOfProducts,o.relatedExclude,o.hasRelatedExclude,i]),e.useEffect(()=>{if(d!==a.PRODUCT_SOURCE.RelatedProduct||!c)return;let e=!!P.error,t=P.isLoading||P.isValidating,r=!P.data&&!t;!e&&r&&P.mutate()},[d,P.data,P.error,P.isLoading,P.isValidating,c]),{isNotFoundRelatedProduct:n,relatedProducts:P}};
@@ -1 +1 @@
1
- import{getResponsiveValueByScreen as e}from"@gem-sdk/core";import{createStateOrContext as t}from"@gem-sdk/system";let o=o=>{let r=["mobile","tablet","desktop"],{setting:l,rootId:p,builderProps:a,styles:i,moveToIdx:s,isHiddenArrowWhenDisabled:d,renderByLayout:m,rootAttrs:n}=o,f=p??a?.uid,g=`gp-carousel-slider-${a?.uid}`,{enableAction:u={desktop:!0},navigationStyle:c,navigationEnable:k={desktop:!0}}=l??{},y=t({id:f,moveToIdx:s,isHiddenArrowWhenDisabled:d,setting:l,styles:i,renderByLayout:m,type:n?.type});return{loopConfig:(()=>{let t=l?.loop;return r.forEach(o=>{t={...t,[o]:!!e(u)&&t?.[o]}}),t})(),stateData:JSON.stringify(y).replaceAll("'","&#039;"),uniqueComponentId:f,arrowShowConfig:(()=>{let t=c;return r.forEach(o=>{t={...t,[o]:e(k,o)?e(t,o):"none"}}),t})(),sliderSelector:g}};export{o as getData};
1
+ import{getResponsiveValueByScreen as e}from"@gem-sdk/core";import{createStateOrContext as t}from"@gem-sdk/system";let o=o=>{let r=["mobile","tablet","desktop"],{setting:i,rootId:a,builderProps:s,styles:l,moveToIdx:p,isHiddenArrowWhenDisabled:d,renderByLayout:n,rootAttrs:f}=o,m=a??s?.uid,u=`gp-carousel-slider-${s?.uid}`,{enableAction:g={desktop:!0},navigationStyle:c,navigationEnable:k={desktop:!0}}=i??{},y=t({id:m,moveToIdx:p,isHiddenArrowWhenDisabled:d,setting:i,styles:l,renderByLayout:n,type:f?.type});return f?.["feature-media-position"]&&(y.featureMediaPosition="{{ featureMediaPosition }}"),{loopConfig:(()=>{let t=i?.loop;return r.forEach(o=>{t={...t,[o]:!!e(g)&&t?.[o]}}),t})(),stateData:JSON.stringify(y).replaceAll("'","&#039;"),uniqueComponentId:m,arrowShowConfig:(()=>{let t=c;return r.forEach(o=>{t={...t,[o]:e(k,o)?e(t,o):"none"}}),t})(),sliderSelector:u}};export{o as getData};
@@ -1,4 +1,4 @@
1
- import{makeStyleResponsive as e,cls as a,template as i}from"@gem-sdk/core";import{getAspectRatio as t,getPaddingBottomByShapeSetting as r,getSrcImage as s}from"../../common/common.js";import{checkRenderFeaturedCarousel as d,getZoomImageClass as o,getZoomLenClass as u,getVideoHeight as l}from"../../common/productFeaturedImage.js";import m from"../../../../../video/components/HTML5Embed.liquid.js";import p from"../../../../../image/components/Modal3d.liquid.js";import g from"../../../../../image/components/NextImage.liquid.js";import n from"../../../../../image/components/Video.liquid.js";import{getStyleOfObject as c}from"../../../../helpers/function.js";import{getProductImagesStyles as f}from"../../composables/getProductImagesStyles.js";import{getProductImagesClassName as h}from"../../composables/getProductImagesClassName.js";import{getProductImagesAttr as y}from"../../composables/getProductImagesAttr.js";import{If as M,LiquidIf as b,LiquidFor as _,Liquid as v,createStyle as w}from"@gem-sdk/system";import $ from"../../../../../carousel-v3/components/root/Carousel.liquid.js";import I from"../../../../../carousel-v3/components/item/CarouselItem.liquid.js";let x=({builderPropUID:x,children:q,enableLazyLoadImage:z,...j})=>{let{featuredImageCarouselClasses:S,galleryItemClasses:L,featuredCarouselItemClasses:P}=h({...j,builderProps:{uid:x}}),{featuredImageCarouselStyle:R,featureImageStyle:T,featureImageCarouselOnlyOneImageStyle:W,featureImageOnlyOneImageStyle:C,featureImageCarouselItemStyle:N}=f(j),{featuredImageCarouselSettingAttrs:k}=y(j),E=t(j.ftShape),O=M("other"==j.hoverEffect,b("product.media.size > 1","group-hover:gp-opacity-0")),A=()=>`
1
+ import{makeStyleResponsive as e,cls as a,template as i}from"@gem-sdk/core";import{getAspectRatio as t,getPaddingBottomByShapeSetting as r,getSrcImage as s}from"../../common/common.js";import{checkRenderFeaturedCarousel as d,getZoomImageClass as o,getZoomLenClass as u,getVideoHeight as m}from"../../common/productFeaturedImage.js";import n from"../../../../../video/components/HTML5Embed.liquid.js";import l from"../../../../../image/components/Modal3d.liquid.js";import p from"../../../../../image/components/NextImage.liquid.js";import g from"../../../../../image/components/Video.liquid.js";import{getStyleOfObject as c}from"../../../../helpers/function.js";import{getProductImagesStyles as f}from"../../composables/getProductImagesStyles.js";import{getProductImagesClassName as h}from"../../composables/getProductImagesClassName.js";import{getProductImagesAttr as y}from"../../composables/getProductImagesAttr.js";import{If as M,LiquidIf as _,LiquidFor as b,Liquid as v,createStyle as w}from"@gem-sdk/system";import $ from"../../../../../carousel-v3/components/root/Carousel.liquid.js";import I from"../../../../../carousel-v3/components/item/CarouselItem.liquid.js";let x=({builderPropUID:x,children:q,enableLazyLoadImage:P,...z})=>{let{featuredImageCarouselClasses:j,galleryItemClasses:S,featuredCarouselItemClasses:L}=h({...z,builderProps:{uid:x}}),{featuredImageCarouselStyle:R,featureImageStyle:T,featureImageCarouselOnlyOneImageStyle:W,featureImageOnlyOneImageStyle:k,featureImageCarouselItemStyle:C}=f(z),{featuredImageCarouselSettingAttrs:N}=y(z),D=t(z.ftShape),E=M("other"==z.hoverEffect,_("product.media.size > 1","group-hover:gp-opacity-0")),O=()=>`
2
2
  {% case featureMedia.media_type %}
3
3
  {% when 'image' %}
4
4
  ${F()}
@@ -9,35 +9,35 @@ import{makeStyleResponsive as e,cls as a,template as i}from"@gem-sdk/core";impor
9
9
  {% assign mediaSourceVideo = featureMedia.sources.last.url %}
10
10
  ${H()}
11
11
  {% when 'model' %}
12
- ${D()}
12
+ ${A()}
13
13
  {% else %}
14
14
  ${G()}
15
15
  {% endcase %}
16
- `,D=()=>p({src:b("featureMedia.sources.first.url contains '.glb'","{{ featureMedia.sources.first.url }}","{{featureMedia.sources.last.url}}"),alt:"{{featureMedia.preview_image.alt}}",poster:"{{featureMedia.preview_image.src | product_img_url: '1024x1024'}}",cameraControls:!0,arStatus:"not-presenting",style:{width:"100%"},aspectRatio:E}),V=()=>n({src:"{{mediaSourceVideo}}",alt:"{{featureMedia.alt | escape}}",autoplay:!1,allowfullscreen:!0,controls:!0,style:{width:"100%",height:"100%"},aspectRatio:E}),H=()=>{let a=w({...l(j?.ftLayout),...e("objf",j?.ftLayout)}),i=w({...l(j?.ftLayout)});return m({src:"{{mediaSourceVideo}}",title:"{{featureMedia.alt | escape}}",autoplay:!1,controls:!0,thumbnail:"{{featureMedia.preview_image.src | product_img_url: '1024x1024'}}",isCheckLoaded:!0,wrapperStyles:i,poster:{altText:"{{featureMedia.alt | escape}}"},style:{width:"100%","max-height":"100%",...a},className:"gp-invisible"})},F=()=>i`
17
- ${B(a("gp-w-full gp-transition-opacity",O,"{{shouldHidden}}"))}
18
- ${M(j?.hoverEffect!=="none",`<div class="${a("zoom-element !gp-max-w-none",o())}">
16
+ `,A=()=>l({src:_("featureMedia.sources.first.url contains '.glb'","{{ featureMedia.sources.first.url }}","{{featureMedia.sources.last.url}}"),alt:"{{featureMedia.preview_image.alt}}",poster:"{{featureMedia.preview_image.src | product_img_url: '1024x1024'}}",cameraControls:!0,arStatus:"not-presenting",style:{width:"100%"},aspectRatio:D}),V=()=>g({src:"{{mediaSourceVideo}}",alt:"{{featureMedia.alt | escape}}",autoplay:!1,allowfullscreen:!0,controls:!0,style:{width:"100%",height:"100%"},aspectRatio:D}),H=()=>{let a=w({...m(z?.ftLayout),...e("objf",z?.ftLayout)}),i=w({...m(z?.ftLayout)});return n({src:"{{mediaSourceVideo}}",title:"{{featureMedia.alt | escape}}",autoplay:!1,controls:!0,thumbnail:"{{featureMedia.preview_image.src | product_img_url: '1024x1024'}}",isCheckLoaded:!0,wrapperStyles:i,poster:{altText:"{{featureMedia.alt | escape}}"},style:{width:"100%","max-height":"100%",...a},className:"gp-invisible"})},F=()=>i`
17
+ ${B(a("gp-w-full gp-transition-opacity",E,"{{shouldHidden}}"))}
18
+ ${M(z?.hoverEffect!=="none",`<div class="${a("zoom-element !gp-max-w-none",o())}">
19
19
  ${B("image-zoom",!0)}
20
20
  </div>`," ")}
21
- ${M(j?.hoverEffect=="zoom"&&j?.zoomType=="glasses",`<div class="${a("zoom-lens-element",u())}" style="opacity: 0; background-image: url('{{ featureMedia.src | img_url: "1024x1024"}}')"></div>`," ")}
21
+ ${M(z?.hoverEffect=="zoom"&&z?.zoomType=="glasses",`<div class="${a("zoom-lens-element",u())}" style="opacity: 0; background-image: url('{{ featureMedia.src | img_url: "1024x1024"}}')"></div>`," ")}
22
22
  `,B=(e,a)=>i`
23
23
  {% assign src = featureMedia.src %}
24
- ${M(a&&"other"==j.hoverEffect,`{% assign media_length = product.media | size %}
25
- {% assign other_image_index = ${j.otherImage} | plus: 0 %}
24
+ ${M(a&&"other"==z.hoverEffect,`{% assign media_length = product.media | size %}
25
+ {% assign other_image_index = ${z.otherImage} | plus: 0 %}
26
26
  {% if other_image_index >= media_length %}
27
27
  {% assign other_image_index = media_length | minus: 1 %}
28
28
  {% endif %}
29
29
  {% assign otherImage = product.media[other_image_index] %}
30
- ${b("otherImage.media_type != 'image'","{% assign src = otherImage.preview_image.src %}","{% assign src = otherImage.src %}")}
30
+ ${_("otherImage.media_type != 'image'","{% assign src = otherImage.preview_image.src %}","{% assign src = otherImage.src %}")}
31
31
  `)}
32
- ${g({srcIsLiquidCode:!0,src:b("src != null",s("src"),"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif"),id:b("featureMedia != null","{{featureMedia.id}}"),width:"{{featureMedia.width}}",height:"{{featureMedia.height}}",alt:"{{featureMedia.alt | escape}}",srcset:`${s("src")}`,baseSrc:"{{src | image_url}}",sizes:"(max-width: 768px) 50vw, 100vw",setting:{layout:j?.ftLayout,aspectRatio:E,qualityType:j?.qualityType,qualityPercent:j?.qualityPercent},priority:j?.preload,className:`gp-w-full gp-h-full gp-absolute gp-top-0 gp-left-0 featured-image-only gp-cursor-pointer !gp-rounded-none ${e??""}`,enableLazyLoadImage:z})}`,G=()=>i`
33
- ${g({srcIsLiquidCode:!0,src:"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif",alt:"No Image",sizes:"(max-width: 768px) 50vw, 100vw",setting:{layout:j?.ftLayout,aspectRatio:E,qualityType:j?.qualityType,qualityPercent:j?.qualityPercent},priority:j?.preload,className:"gp-w-full gp-h-full gp-absolute gp-top-0 gp-left-0 featured-image-only gp-cursor-pointer !gp-rounded-none",enableLazyLoadImage:z})}`,J=r(j.ftShape),K=d(j),Q="gp-featured-image-wrapper",U=b("product.media.size > 0",`{% assign largestRatio = 0 %}
34
- ${_("featureMedia in product.media",`
32
+ ${p({srcIsLiquidCode:!0,src:_("src != null",s("src"),"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif"),id:_("featureMedia != null","{{featureMedia.id}}"),width:"{{featureMedia.width}}",height:"{{featureMedia.height}}",alt:"{{featureMedia.alt | escape}}",srcset:`${s("src")}`,baseSrc:"{{src | image_url}}",sizes:"(max-width: 768px) 50vw, 100vw",setting:{layout:z?.ftLayout,aspectRatio:D,qualityType:z?.qualityType,qualityPercent:z?.qualityPercent},priority:z?.preload,className:`gp-w-full gp-h-full gp-absolute gp-top-0 gp-left-0 featured-image-only gp-cursor-pointer !gp-rounded-none ${e??""}`,enableLazyLoadImage:P})}`,G=()=>i`
33
+ ${p({srcIsLiquidCode:!0,src:"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif",alt:"No Image",sizes:"(max-width: 768px) 50vw, 100vw",setting:{layout:z?.ftLayout,aspectRatio:D,qualityType:z?.qualityType,qualityPercent:z?.qualityPercent},priority:z?.preload,className:"gp-w-full gp-h-full gp-absolute gp-top-0 gp-left-0 featured-image-only gp-cursor-pointer !gp-rounded-none",enableLazyLoadImage:P})}`,J=r(z.ftShape),K=d(z),Q="gp-featured-image-wrapper",U=_("product.media.size > 0",`{% assign largestRatio = 0 %}
34
+ ${b("featureMedia in product.media",`
35
35
  {% assign height = featureMedia.height | times: 1.0 %}
36
36
  {% assign width = featureMedia.width | times: 1.0 %}
37
37
  {% assign ratio = height | divided_by: width %}
38
- ${b("ratio > largestRatio","{% assign largestRatio = ratio %}")}
38
+ ${_("ratio > largestRatio","{% assign largestRatio = ratio %}")}
39
39
  `)}
40
- ${_("featureMedia in product.media",`${b("featureMedia.media_type == 'image'",`${_("image in product.images",b("image.src == featureMedia.src","{% assign imageID = image.id %}{% break %}"))}`,"{% assign imageID = '' %}")}
40
+ ${b("featureMedia in product.media",`${_("featureMedia.media_type == 'image'",`${b("image in product.images",_("image.src == featureMedia.src","{% assign imageID = image.id %}{% break %}"))}`,"{% assign imageID = '' %}")}
41
41
 
42
42
  ${v(`{% assign productImageWidth = 0 %}
43
43
  {% case featureMedia.media_type %}
@@ -46,24 +46,24 @@ import{makeStyleResponsive as e,cls as a,template as i}from"@gem-sdk/core";impor
46
46
  {% else %}
47
47
  {% assign productImageWidth = featureMedia.preview_image.width %}
48
48
  {% endcase %}`)}
49
- ${I({id:"{{section.id}}-{{imageID}}",contentType:"productImage",className:`${L("gp-ft-image-item !gp-min-w-full !gp-max-w-full ")}`,parentId:`ft-${x}-{{section.id}}-{{product.id}}`,style:N,customStyle:{width:"{{productImageWidth}}px"},children:`
49
+ ${I({id:"{{section.id}}-{{imageID}}",contentType:"productImage",className:`${S("gp-ft-image-item !gp-min-w-full !gp-max-w-full ")}`,parentId:`ft-${x}-{{section.id}}-{{product.id}}`,style:C,customStyle:{width:"{{productImageWidth}}px"},children:`
50
50
  <div
51
- class="gp-w-full gp-relative ${b("featureMedia == null or featureMedia.media_type == 'image'","{{ 'gp-h-0' }}","{{ 'gp-h-full !gp-pb-0' }}")}"
52
- style="${c(e("pb",J))} ${b("featureMedia.media_type == 'video' or featureMedia.media_type == 'external_video'","{{ 'display: flex; align-items: center; justify-content: center' }}")}"
51
+ class="gp-w-full gp-relative ${_("featureMedia == null or featureMedia.media_type == 'image'","{{ 'gp-h-0' }}","{{ 'gp-h-full !gp-pb-0' }}")}"
52
+ style="${c(e("pb",J))} ${_("featureMedia.media_type == 'video' or featureMedia.media_type == 'external_video'","{{ 'display: flex; align-items: center; justify-content: center' }}")}"
53
53
  >
54
- ${A()}
54
+ ${O()}
55
55
  </div>
56
56
  `})}`)}
57
- `,g({src:"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif",id:"noImageError",width:"480",height:"480",alt:"no image",priority:j?.preload,setting:{layout:j?.ftLayout,aspectRatio:E,qualityType:j?.qualityType,qualityPercent:j?.qualityPercent},style:{height:"100%"},className:"gp-w-full featured-image-only !gp-rounded-none",customLazyload:!0,enableLazyLoadImage:z}));return v(`
57
+ `,p({src:"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif",id:"noImageError",width:"480",height:"480",alt:"no image",priority:z?.preload,setting:{layout:z?.ftLayout,aspectRatio:D,qualityType:z?.qualityType,qualityPercent:z?.qualityPercent},style:{height:"100%"},className:"gp-w-full featured-image-only !gp-rounded-none",customLazyload:!0,enableLazyLoadImage:P}));return v(`
58
58
  {% capture featureImageOnlyOne %}
59
59
  ${v(`
60
60
  {% assign featureMedia = variant.featured_media %}
61
61
  {% unless featureMedia %}
62
62
  {% assign featureMedia = product.featured_media %}
63
63
  {% endunless %}
64
- ${b("product.media.size > 1",(()=>{switch(j?.preDisplay){case"1st-images":return`
64
+ ${_("product.media.size > 1",(()=>{switch(z?.preDisplay){case"1st-images":return`
65
65
  {% assign featureMedia = product.media.first %}
66
- `;case"1st-3d-mode":return _("media in product.media",b("media.media_type == 'model'","{% assign featureMedia = media %}{% break %}"));case"1st-video":return _("media in product.media",b("media.media_type == 'video' or media.media_type == 'external_video'","{% assign featureMedia = media %}{% break %}"));default:return`
66
+ `;case"1st-3d-mode":return b("media in product.media",_("media.media_type == 'model'","{% assign featureMedia = media %}{% break %}"));case"1st-video":return b("media in product.media",_("media.media_type == 'video' or media.media_type == 'external_video'","{% assign featureMedia = media %}{% break %}"));default:return`
67
67
  {% assign featureMedia = variant.featured_media %}
68
68
  {% unless featureMedia %}
69
69
  {% assign featureMedia = product.featured_media %}
@@ -73,7 +73,7 @@ import{makeStyleResponsive as e,cls as a,template as i}from"@gem-sdk/core";impor
73
73
  {% assign height = featureMedia.height | times: 1.0 %}
74
74
  {% assign width = featureMedia.width | times: 1.0 %}
75
75
  {% assign ratio = height | divided_by: width %}
76
- ${b("ratio > largestRatio","{% assign largestRatio = ratio %}")}
76
+ ${_("ratio > largestRatio","{% assign largestRatio = ratio %}")}
77
77
  {% assign productImageWidth = 0 %}
78
78
  {% case featureMedia.media_type %}
79
79
  {% when 'image' %}
@@ -81,37 +81,45 @@ import{makeStyleResponsive as e,cls as a,template as i}from"@gem-sdk/core";impor
81
81
  {% else %}
82
82
  {% assign productImageWidth = featureMedia.preview_image.width %}
83
83
  {% endcase %}
84
- ${b("featureMedia == null","{% assign productImageWidth = 1600 %}")}
84
+ ${_("featureMedia == null","{% assign productImageWidth = 1600 %}")}
85
85
  <div
86
86
  class='gp-feature-image-carousel gp-feature-image-only'
87
87
  style="${c(T)}"
88
88
  >
89
89
  <div
90
90
  class="gp-relative"
91
- style="${c(C)}"
91
+ style="${c(k)}"
92
92
  >
93
93
  ${q}
94
94
  <div
95
95
  type="gp-feature-image-only"
96
96
  product-id="{{product.id}}"
97
97
  product-media="{{product.media.size}}"
98
- class="${P(Q)}"
98
+ class="${L(Q)}"
99
99
  style="${c(W)}"
100
100
  >
101
101
  <div
102
- class="gp-w-full gp-relative ${b("featureMedia == null or featureMedia.media_type == 'image'","{{ 'gp-h-0' }}","{{ 'gp-h-full !gp-pb-0' }}")}"
103
- style="${c(e("pb",J))} ${b("featureMedia.media_type == 'video' or featureMedia.media_type == 'external_video'","{{ 'display: flex; align-items: center; justify-content: center' }}")}"
102
+ class="gp-w-full gp-relative ${_("featureMedia == null or featureMedia.media_type == 'image'","{{ 'gp-h-0' }}","{{ 'gp-h-full !gp-pb-0' }}")}"
103
+ style="${c(e("pb",J))} ${_("featureMedia.media_type == 'video' or featureMedia.media_type == 'external_video'","{{ 'display: flex; align-items: center; justify-content: center' }}")}"
104
104
  >
105
- ${A()}
105
+ ${O()}
106
106
  </div>
107
107
  </div>
108
108
  </div>
109
109
  </div>
110
110
  `)}
111
111
  {% endcapture %}
112
- ${b("product.media.size > 1",`
112
+ ${_("product.media.size > 1",`
113
113
  ${M(K,`
114
- ${$({builderProps:{uid:x},rootId:`ft-${x}-{{section.id}}-{{product.id}}`,conditionAppendJs:"product.media.size > 1",wrapperClass:Q,rootClass:`${S}`,rootAttrs:{type:"gp-feature-image-carousel","product-id":"{{product.id}}","product-media":"{{product.media.size}}"},isHiddenArrowWhenDisabled:!0,setting:k,rootStyles:T,styles:R,style:{playSpeed:600},disableMarginAuto:!0,children:U,productBadgeLiquid:q||""})}
114
+ ${(()=>{switch(z?.preDisplay){case"1st-images":return`
115
+ {% assign featureMediaPosition = product.media.first.position %}
116
+ `;case"1st-3d-mode":return b("media in product.media",_("media.media_type == 'model'","{% assign featureMediaPosition = media.position %}{% break %}"));case"1st-video":return b("media in product.media",_("media.media_type == 'video' or media.media_type == 'external_video'","{% assign featureMediaPosition = media.position %}{% break %}"));default:return`
117
+ {% assign featureMediaPosition = variant.featured_media.position %}
118
+ {% unless featureMediaPosition %}
119
+ {% assign featureMediaPosition = product.featured_media.position %}
120
+ {% endunless %}
121
+ `}})()}
122
+ ${$({builderProps:{uid:x},rootId:`ft-${x}-{{section.id}}-{{product.id}}`,conditionAppendJs:"product.media.size > 1",wrapperClass:Q,rootClass:`${j}`,rootAttrs:{type:"gp-feature-image-carousel","product-id":"{{product.id}}","product-media":"{{product.media.size}}","feature-media-position":"{{ featureMediaPosition }}"},isHiddenArrowWhenDisabled:!0,setting:N,rootStyles:T,styles:R,style:{playSpeed:600},disableMarginAuto:!0,children:U,productBadgeLiquid:q||""})}
115
123
  `," ")}
116
124
  ${M(!K,"{{ featureImageOnlyOne }}"," ")}
117
125
  `,"{{ featureImageOnlyOne }}")}
@@ -1,8 +1,8 @@
1
- import{template as e,getResponsiveValueByScreen as t}from"@gem-sdk/core";import i from"../../../../../image/components/NextImage.liquid.js";import{getGalleryCarouselRenderByLayout as o,getAspectRatio as r,getDisplayStyle as s,getSrcImage as a}from"../../common/common.js";import{getShapeByLayout as p,getMinHeightByPosition as l,getZoomDisplay as d,checkDisplayGalleryByWidth as m,getCarouselVerticalConfigByPosition as g}from"../../common/productGallery.js";import{getStyleOfObject as n}from"../../../../helpers/function.js";import{getProductImagesStyles as c}from"../../composables/getProductImagesStyles.js";import{getProductImagesClassName as u}from"../../composables/getProductImagesClassName.js";import{getProductImagesAttr as C}from"../../composables/getProductImagesAttr.js";import{LiquidIf as h,LiquidFor as y}from"@gem-sdk/system";import v from"../../../../../carousel-v3/components/root/Carousel.liquid.js";import b from"../../../../../carousel-v3/components/item/CarouselItem.liquid.js";let f=({builderPropUID:f,children:w,enableLazyLoadImage:L,...F})=>{let{featuredImageGalleryClasses:x,galleryItemClasses:$}=u(F),{galleryCarouselSettingAttrs:I}=C(F),{galleryCarouselStyle:_,galleryCarouselItemStyle:k}=c(F),j=p({shape:F.shape,shapeForBottom:F.shapeForBottom,shapeFor1Col:F.shapeFor1Col,shapeFor2Col:F.shapeFor2Col,shapeForFtOnly:F.shapeForFtOnly,shapeForInsideBottom:F.shapeForInsideBottom,shapeForInside:F.shapeForInside},F.position),V=(t,o)=>e`${i({srcIsLiquidCode:!0,src:`${a("media.preview_image")}`,width:"{{media.width}}",height:"{{media.height}}",alt:"{{media.alt | escape}}",setting:t,baseSrc:"{{media.preview_image | image_url}}",style:o,className:"!gp-rounded-none gp-w-full gp-h-full gp-top-0 gp-left-0 gp-cursor-pointer",enableLazyLoadImage:L})}`,M=e=>`
1
+ import{template as e,getResponsiveValueByScreen as i}from"@gem-sdk/core";import t from"../../../../../image/components/NextImage.liquid.js";import{getGalleryCarouselRenderByLayout as o,getAspectRatio as r,getDisplayStyle as s,getSrcImage as a}from"../../common/common.js";import{getShapeByLayout as p,getMinHeightByPosition as l,getZoomDisplay as d,checkDisplayGalleryByWidth as m,getCarouselVerticalConfigByPosition as g}from"../../common/productGallery.js";import{getStyleOfObject as n}from"../../../../helpers/function.js";import{getProductImagesStyles as c}from"../../composables/getProductImagesStyles.js";import{getProductImagesClassName as u}from"../../composables/getProductImagesClassName.js";import{getProductImagesAttr as C}from"../../composables/getProductImagesAttr.js";import{LiquidIf as h,LiquidFor as y}from"@gem-sdk/system";import v from"../../../../../carousel-v3/components/root/Carousel.liquid.js";import f from"../../../../../carousel-v3/components/item/CarouselItem.liquid.js";let b=({builderPropUID:b,children:w,enableLazyLoadImage:L,...F})=>{let{featuredImageGalleryClasses:x,galleryItemClasses:$}=u(F),{galleryCarouselSettingAttrs:I}=C(F),{galleryCarouselStyle:_,galleryCarouselItemStyle:k}=c(F),j=p({shape:F.shape,shapeForBottom:F.shapeForBottom,shapeFor1Col:F.shapeFor1Col,shapeFor2Col:F.shapeFor2Col,shapeForFtOnly:F.shapeForFtOnly,shapeForInsideBottom:F.shapeForInsideBottom,shapeForInside:F.shapeForInside},F.position),V=(i,o)=>e`${t({srcIsLiquidCode:!0,src:`${a("media.preview_image")}`,width:"{{media.width}}",height:"{{media.height}}",alt:"{{media.alt | escape}}",setting:i,baseSrc:"{{media.preview_image | image_url}}",style:o,className:"!gp-rounded-none gp-w-full gp-h-full gp-top-0 gp-left-0 gp-cursor-pointer",enableLazyLoadImage:L})}`,M=e=>`
2
2
  ${h("media.media_type == 'video'","{% assign mediaSourceUrl = media.sources.last.url %}")}
3
3
  ${h("media.media_type == 'external_video'","{% assign mediaSourceUrl = media | external_video_url %}")}
4
4
  ${h("media.media_type == 'image'","{% assign mediaSourceUrl = media.src %}")}
5
- ${b({id:"{{imageID}}",contentType:"productImage",className:`${$(`gp-gallery-image-item ${e??""}`)}`,parentId:`${f}-{{product.id}}`,builderAttrs:{"data-outline":e?"active":"deactive"},style:k,children:`
5
+ ${f({id:"{{imageID}}",contentType:"productImage",className:`${$(`gp-gallery-image-item ${e??""}`)}`,parentId:`${b}-{{product.id}}`,builderAttrs:{"data-outline":e?"active":"deactive"},style:k,children:`
6
6
  <div class="gp-w-full gp-relative gp-h-full"
7
7
 
8
8
  >
@@ -42,5 +42,5 @@ import{template as e,getResponsiveValueByScreen as t}from"@gem-sdk/core";import
42
42
  </div>
43
43
  `})}`,B=h("product.media.size > 1",y("media in product.media",`${h("media.media_type == 'image'",y("image in product.images",h("image.src == media.src","{% assign imageID = image.id %}{% break %}")),"{% assign imageID = '' %}")}
44
44
  ${h("media.id == product.featured_media.id ",M(F?.borderActive?.border!=="none"?"active":""),M())}`));return e`
45
- ${v({builderProps:{uid:f},rootId:`${f}-{{product.id}}`,rootClass:`${x}`,rootAttrs:{type:"grid-carousel","product-media":"{{product.media.size}}"},wrapperClass:(()=>{let e=g(F.position),t=[e.desktop?"gp-px-0":"gp-py-0",e.tablet?"tablet:gp-px-0":"tablet:gp-py-0",e.mobile?"mobile:gp-px-0":"mobile:gp-py-0"];return` ${t.join(" ")}`})(),slidesClass:l(F.position,F.navigationPosition),isHiddenArrowWhenDisabled:!0,setting:I,rootStyles:{...(()=>{let e=(e,i,o)=>{let r=t(i,o),s=t(e,o),a="slider"===s&&("bottom-center"===r||"inside-bottom"===r),p=["left","right","inside-left","inside-right"].includes(r??"");return p||a},i=m({shapeByLayout:j}),o={desktop:i.desktop&&e(F.type,F.position,"desktop"),tablet:i.tablet&&e(F.type,F.position,"tablet"),mobile:i.mobile&&e(F.type,F.position,"mobile")};return s(e=>!o[e],"flex")})()},styles:_,disableMarginAuto:!0,children:B,renderByLayout:o(F.position)})}
46
- `};export{f as default};
45
+ ${v({builderProps:{uid:b},rootId:`${b}-{{product.id}}`,rootClass:`${x}`,rootAttrs:{type:"grid-carousel","product-media":"{{product.media.size}}","feature-media-position":"{{ featureMediaPosition }}"},wrapperClass:(()=>{let e=g(F.position),i=[e.desktop?"gp-px-0":"gp-py-0",e.tablet?"tablet:gp-px-0":"tablet:gp-py-0",e.mobile?"mobile:gp-px-0":"mobile:gp-py-0"];return` ${i.join(" ")}`})(),slidesClass:l(F.position,F.navigationPosition),isHiddenArrowWhenDisabled:!0,setting:I,rootStyles:{...(()=>{let e=(e,t,o)=>{let r=i(t,o),s=i(e,o),a="slider"===s&&("bottom-center"===r||"inside-bottom"===r),p=["left","right","inside-left","inside-right"].includes(r??"");return p||a},t=m({shapeByLayout:j}),o={desktop:t.desktop&&e(F.type,F.position,"desktop"),tablet:t.tablet&&e(F.type,F.position,"tablet"),mobile:t.mobile&&e(F.type,F.position,"mobile")};return s(e=>!o[e],"flex")})()},styles:_,disableMarginAuto:!0,children:B,renderByLayout:o(F.position)})}
46
+ `};export{b as default};
@@ -1 +1 @@
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 a,useMemo as l,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 S}from"./common/styles.js";import{If as C}from"@gem-sdk/system";import{getClass as E}from"./common/classes.js";import{getData as N}from"./common/helpers.js";import{getPropertyByDevice as L}from"../../../dialog/common/helpers.js";let W=o(()=>import("../ProductNotFound.js"),{loading:d}),j=o=>{let{children:j,styles:x,builderProps:G,setting:M,builderAttrs:B}=o,{isRelatedProduct:A,productSetting:Q}=N(o),z=Q.relatedTag&&Q.relatedTag[0],{isEditMode:D,isPreviewSharePageMode:F}=c(),H=s(),R=n(),$=u(e=>e.dynamicProduct),_=u(e=>e.dynamicCollection),[V,q]=a(1),[U,J]=a(!0),[K,X]=a(),[Y,Z]=a(!1),ee="GP_FUNNEL_PAGE"===R;"GP_COLLECTION"==R&&(Q.productSrc="DynamicCollection",Q.collectionId=_?.collectionId??"latest");let et=Q?.productSrc??"Collection",er=$?.productId&&$?.productId!==Q.relatedProductId?$?.productId:Q.relatedProductId,eo=m(),ed=u(e=>e.publicStoreFrontData),ea=l(()=>g(ed)?h(ed):eo,[ed]),{data:el}=p(A&&er?er:void 0,{revalidateOnMount:D||F},ea),ei=Q.relatedTag&&"tags"===Q.relatedTag[0]&&(!el?.tags||el?.tags.length===0),ec=Q.relatedTag&&"collection"===Q.relatedTag[0]&&(!el?.collections?.edges||el?.collections.edges.length===0),es=Q.relatedTag&&"vendor"===Q.relatedTag[0]&&!el?.vendor,en=f(K,{revalidateOnMount:D||F},ea),eu=D||F,em=P("PickProduct"===et?Q?.productIds:void 0,{revalidateOnMount:eu},{defaultSelectedProductCount:Q?.numOfSelectedProducts}),eg=l(()=>({id:Q?.collectionId??"latest",numberOfProducts:M?.numberOfProducts??4,orderBy:M?.orderBy}),[Q?.collectionId,Number(M?.numberOfProducts),M?.orderBy]),eh=b("PickProduct"!==et?eg:void 0,{revalidateOnMount:eu});i(()=>{if(A&&el&&Q.relatedTag&&"recommended-product"!==Q.relatedType){let e;switch(Z(!1),Q.hasRelatedExclude&&(e=Q?.relatedExclude&&Q.relatedExclude.split(",").map(e=>e.trim())),Q.relatedTag[0]){case"vendor":X({first:M?.numberOfProducts,where:{vendor:Q.relatedTag&&"vendor"===Q.relatedTag[0]?el?.vendor:"",idNEQ:el.id}});break;case"collection":{let t=el?.collections?.edges.map(e=>e.node?.id);if(!t||t?.length===0){Z(!0);break}X(e&&e.length>0?{first:M?.numberOfProducts,where:{idNEQ:el.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t},{titleNotIn:e}]}]}}:{first:M?.numberOfProducts,where:{idNEQ:el.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t}]}]}});break}case"tags":if(!el.tags||0===el.tags.length){Z(!0);break}X(e&&e.length>0?{first:M?.numberOfProducts,where:{idNEQ:el.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:el.tags},{nameNotIn:e}]}]}}:{first:M?.numberOfProducts,where:{idNEQ:el.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:el.tags}]}]}})}}},[el,Q.relatedType,Q.relatedTag,M?.numberOfProducts,Q.relatedExclude,Q.hasRelatedExclude,A]);let ep="PickProduct"===et?em.isValidating:eh.isValidating,ef="PickProduct"===et?em.isLoading:eh.isLoading,eP="PickProduct"===et?em.error:eh.error,eb=eh.data?.collections?.edges?.[0]?.node,ek="PickProduct"===et?k(em.data?.products):k(eb?.products),eT=en?.data?.products?k(en?.data?.products):void 0,eI=A&&eT?eT:"PickProduct"===et&&Q?.productIds?.length?Q?.productIds?.map(e=>ek?.find(t=>t?.baseID===e)).filter(Boolean)??ek:"PickProduct"!==et?ek:ek.filter((e,t)=>t<(Q?.numOfSelectedProducts??4)),ev=l(()=>Y&&A&&D||!eI.length&&!ef&&U&&D,[U,ef,Y,A,D,eI.length]),ey=l(()=>!eI||Y&&A,[Y,A,eI]),eO=l(()=>{if(!M?.sameHeight)return[];let e=0,t=Math.ceil((eI?.length??0)/+(M?.slidesToShow?.[H]??1));return Array.from(Array(eI?.length??0)).map((r,o)=>(o>=+(M?.slidesToShow?.[H]??1)*(e+1)&&++e,{gridRow:`${1+V*e}/${V+1+V*e}`,marginBottom:e+1<t?L(x?.horizontalGutter,H):void 0}))},[M?.sameHeight,M?.slidesToShow,V,eI?.length,H,x?.horizontalGutter]),ew=l(()=>ep||ef||eP||!eI||Y&&A,[eP,ef,Y,A,ep,eI]);i(()=>{ew||setTimeout(()=>{let{builderData:e}=G??{},t=e?.childrens?.[0];if(!t)return;let r=document.querySelector(`[data-id=${t}] div`);r&&q(r.childElementCount||1)},D?0:500)},[G,ew,D]);let eS=l(()=>({collection:eb,products:eI,settings:{loop:M?.loop??{desktop:!1},scrollMode:M?.scrollMode??{desktop:"snap"},slidesToShow:M?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:x?.layout,dot:M?.dot,dotStyle:M?.dotStyle,arrow:M?.arrow,controlOverContent:M?.controlOverContent},styles:{horizontalGutter:x?.horizontalGutter,verticalGutter:x?.verticalGutter,fullWidth:x?.fullWidth,spacing:x?.spacing,width:x?.width,height:x?.height}}),[eb,eI,M,x]);if(G?.isPreview&&ee)return e(t,{});if(ev)return e(t,{children:C(U,e(W,{builderAttrs:B,collectionHandle:eb?.handle,productSrc:et,onClose:()=>J(!1),children:j,relatedTagString:z,assignProductNoTags:ei||ec||es,noAssignedProduct:!er}))});let{productListWrapStyle:eC,productListContentStyle:eE,productListWrapAlignStyle:eN}=S(o),{productListWrapClass:eL}=E(o);return r("div",{...B,className:eL,style:eC,children:[!!x?.preloadBgImage&&r(y,{children:[!!x.backgroundImage?.desktop?.image?.src&&e("link",{rel:"preload",href:x.backgroundImage.desktop.image.src,as:"image"}),!!x.backgroundImage?.tablet?.image?.src&&e("link",{rel:"preload",href:x.backgroundImage?.tablet?.image?.src,as:"image"}),!!x.backgroundImage?.mobile?.image?.src&&e("link",{rel:"preload",href:x.backgroundImage?.mobile?.image?.src,as:"image"})]}),ep||ef?e(d,{}):eP?r("div",{children:["Error: ",eP?.message]}):ey?e("div",{children:"Products not found"}):e(T,{...eS,children:e("div",{className:"gp-flex gp-w-full",style:eN,children:r("div",{style:eE,children:[ee&&e(v,{}),e(t,{children:C(x?.layout==="grid",e(O,{...o,productSortedById:eI,generateGridRowArray:eO}),e(w,{...o,productSortedById:eI}))})]})})}),I(j,!0)]})};export{j 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 a,useMemo as l,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 S from"./ProductListCarouselLayout.js";import{getStyle as C}from"./common/styles.js";import{If as E}from"@gem-sdk/system";import{getClass as N}from"./common/classes.js";import{getData as w}from"./common/helpers.js";import{getPropertyByDevice as L}from"../../../dialog/common/helpers.js";let W=o(()=>import("../ProductNotFound.js"),{loading:d}),j=o=>{let{children:j,styles:x,builderProps:G,setting:M,builderAttrs:B}=o,{isRelatedProduct:A,productSetting:Q}=w(o),z=Q.relatedTag&&Q.relatedTag[0],{isEditMode:D,isPreviewSharePageMode:F}=c(),H=s(),R=n(),$=u(e=>e.dynamicProduct),_=u(e=>e.dynamicCollection),[V,q]=a(1),[U,J]=a(!0),[K,X]=a(),[Y,Z]=a(!1),ee="GP_FUNNEL_PAGE"===R;"GP_COLLECTION"==R&&(Q.productSrc="DynamicCollection",Q.collectionId=_?.collectionId??"latest");let et=Q?.productSrc??"Collection",er=$?.productId&&$?.productId!==Q.relatedProductId?$?.productId:Q.relatedProductId,eo=m(),ed=u(e=>e.publicStoreFrontData),ea=l(()=>g(ed)?h(ed):eo,[ed]),{data:el}=p(A&&er?er:void 0,{revalidateOnMount:D||F},ea),ei=Q.relatedTag&&"tags"===Q.relatedTag[0]&&(!el?.tags||el?.tags.length===0),ec=Q.relatedTag&&"collection"===Q.relatedTag[0]&&(!el?.collections?.edges||el?.collections.edges.length===0),es=Q.relatedTag&&"vendor"===Q.relatedTag[0]&&!el?.vendor,en=f(K,{revalidateOnMount:D||F},ea),eu=D||F,em=P("PickProduct"===et?Q?.productIds:void 0,{revalidateOnMount:eu},{defaultSelectedProductCount:Q?.numOfSelectedProducts}),eg=l(()=>({id:Q?.collectionId??"latest",numberOfProducts:M?.numberOfProducts??4,orderBy:M?.orderBy}),[Q?.collectionId,Number(M?.numberOfProducts),M?.orderBy]),eh=b("PickProduct"!==et?eg:void 0,{revalidateOnMount:eu});i(()=>{if(A&&el&&Q.relatedTag&&"recommended-product"!==Q.relatedType){let e;switch(Z(!1),Q.hasRelatedExclude&&(e=Q?.relatedExclude&&Q.relatedExclude.split(",").map(e=>e.trim())),Q.relatedTag[0]){case"vendor":X({first:M?.numberOfProducts,vendor:Q.relatedTag&&"vendor"===Q.relatedTag[0]?el?.vendor:"",idNEQ:el.id});break;case"collection":{let t=el?.collections?.edges.map(e=>e.node?.id);if(!t||t?.length===0){Z(!0);break}X(e&&e.length>0?{first:M?.numberOfProducts,idNEQ:el.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t},{titleNotIn:e}]}]}:{first:M?.numberOfProducts,idNEQ:el.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t}]}]});break}case"tags":if(!el.tags||0===el.tags.length){Z(!0);break}X(e&&e.length>0?{first:M?.numberOfProducts,idNEQ:el.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:el.tags},{nameNotIn:e}]}]}:{first:M?.numberOfProducts,idNEQ:el.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:el.tags}]}]})}}},[el,Q.relatedType,Q.relatedTag,M?.numberOfProducts,Q.relatedExclude,Q.hasRelatedExclude,A]);let ep="PickProduct"===et?em.isValidating:eh.isValidating,ef="PickProduct"===et?em.isLoading:eh.isLoading,eP="PickProduct"===et?em.error:eh.error,eb=eh.data?.collections?.edges?.[0]?.node,ek="PickProduct"===et?k(em.data?.products):k(eb?.products),eT=en?.data?.products?k(en?.data?.products):void 0,eI=A&&eT?eT:"PickProduct"===et&&Q?.productIds?.length?Q?.productIds?.map(e=>ek?.find(t=>t?.baseID===e)).filter(Boolean)??ek:"PickProduct"!==et?ek:ek.filter((e,t)=>t<(Q?.numOfSelectedProducts??4)),ev=l(()=>Y&&A&&D||!eI.length&&!ef&&U&&D,[U,ef,Y,A,D,eI.length]),ey=l(()=>!eI||Y&&A,[Y,A,eI]),eO=l(()=>{if(!M?.sameHeight)return[];let e=0,t=Math.ceil((eI?.length??0)/+(M?.slidesToShow?.[H]??1));return Array.from(Array(eI?.length??0)).map((r,o)=>(o>=+(M?.slidesToShow?.[H]??1)*(e+1)&&++e,{gridRow:`${1+V*e}/${V+1+V*e}`,marginBottom:e+1<t?L(x?.horizontalGutter,H):void 0}))},[M?.sameHeight,M?.slidesToShow,V,eI?.length,H,x?.horizontalGutter]),eS=l(()=>ep||ef||eP||!eI||Y&&A,[eP,ef,Y,A,ep,eI]);i(()=>{eS||setTimeout(()=>{let{builderData:e}=G??{},t=e?.childrens?.[0];if(!t)return;let r=document.querySelector(`[data-id=${t}] div`);r&&q(r.childElementCount||1)},D?0:500)},[G,eS,D]);let eC=l(()=>({collection:eb,products:eI,settings:{loop:M?.loop??{desktop:!1},scrollMode:M?.scrollMode??{desktop:"snap"},slidesToShow:M?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:x?.layout,dot:M?.dot,dotStyle:M?.dotStyle,arrow:M?.arrow,controlOverContent:M?.controlOverContent},styles:{horizontalGutter:x?.horizontalGutter,verticalGutter:x?.verticalGutter,fullWidth:x?.fullWidth,spacing:x?.spacing,width:x?.width,height:x?.height}}),[eb,eI,M,x]);if(G?.isPreview&&ee)return e(t,{});if(ev)return e(t,{children:E(U,e(W,{builderAttrs:B,collectionHandle:eb?.handle,productSrc:et,onClose:()=>J(!1),children:j,relatedTagString:z,assignProductNoTags:ei||ec||es,noAssignedProduct:!er}))});let{productListWrapStyle:eE,productListContentStyle:eN,productListWrapAlignStyle:ew}=C(o),{productListWrapClass:eL}=N(o);return r("div",{...B,className:eL,style:eE,children:[!!x?.preloadBgImage&&r(y,{children:[!!x.backgroundImage?.desktop?.image?.src&&e("link",{rel:"preload",href:x.backgroundImage.desktop.image.src,as:"image"}),!!x.backgroundImage?.tablet?.image?.src&&e("link",{rel:"preload",href:x.backgroundImage?.tablet?.image?.src,as:"image"}),!!x.backgroundImage?.mobile?.image?.src&&e("link",{rel:"preload",href:x.backgroundImage?.mobile?.image?.src,as:"image"})]}),ep||ef?e(d,{}):eP?r("div",{children:["Error: ",eP?.message]}):ey?e("div",{children:"Products not found"}):e(T,{...eC,children:e("div",{className:"gp-flex gp-w-full",style:ew,children:r("div",{style:eN,children:[ee&&e(v,{}),e(t,{children:E(x?.layout==="grid",e(O,{...o,productSortedById:eI,generateGridRowArray:eO}),e(S,{...o,productSortedById:eI}))})]})})}),I(j,!0)]})};export{j as default};
@@ -1 +1 @@
1
- import{jsx as e,Fragment as o,jsxs as t}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 s}from"react";import{useRenderMode as a,useCurrentDevice as c,usePageType as n,usePageStore as m,flattenConnection as u,ProductListProvider as g,filterToolbarPreview as p}from"@gem-sdk/core";import h from"../SalePageProductListWarning.js";import f from"next/head";import P from"./ProductListGridLayout.js";import k from"./ProductListCarouselLayout.js";import{getStyle as y}from"./common/styles.js";import{If as I}from"@gem-sdk/system";import{getClass as b}from"./common/classes.js";import{getData as T}from"./common/helpers.js";import{getPropertyByDevice as v}from"../../../dialog/common/helpers.js";import{useProductsQuery as S}from"./hooks/useProductsQuery.js";import{useCollectionQuery as j}from"./hooks/useCollectionQuery.js";import w from"./hooks/useProductRelatedQuery.js";import C from"./hooks/useMainRelatedProductQuery.js";let L=r(()=>import("../ProductNotFound.js"),{loading:d}),G=r=>{let{children:G,styles:O,builderProps:N,setting:A,builderAttrs:B}=r,{isRelatedProduct:x,productSetting:E}=T(r),{isEditMode:z,isPreviewSharePageMode:M}=a(),Q=c(),H=n(),R=m(e=>e.dynamicCollection),[W,$]=l(1),[_,D]=l(!0),F="GP_FUNNEL_PAGE"===H;"GP_COLLECTION"==H&&(E.productSrc="DynamicCollection",E.collectionId=R?.collectionId??"latest");let V=E?.productSrc??"Collection",{mainRelatedProduct:q,relatedProductIdAssigned:U}=C({isEditMode:z,isPreviewSharePageMode:M,isRelatedProduct:x,relatedProductId:E.relatedProductId}),J=E.relatedTag&&E.relatedTag[0],K=E.relatedTag&&"tags"===E.relatedTag[0]&&(!q?.tags||q?.tags.length===0),X=E.relatedTag&&"collection"===E.relatedTag[0]&&(!q?.collections?.edges||q?.collections.edges.length===0),Y=E.relatedTag&&"vendor"===E.relatedTag[0]&&!q?.vendor,{isNotFoundRelatedProduct:Z,relatedProducts:ee}=w({isEditMode:z,isPreviewSharePageMode:M,isRelatedProduct:x,productSetting:E,setting:A,mainRelatedProduct:q}),eo=S({productIds:E?.productIds,defaultSelectedProductCount:E?.numOfSelectedProducts,productSrc:V}),et=i(()=>({id:E?.collectionId??"latest",numberOfProducts:A?.numberOfProducts??4,orderBy:A?.orderBy}),[E?.collectionId,Number(A?.numberOfProducts),A?.orderBy]),er=j({variables:"PickProduct"!==V?et:void 0}),ed="PickProduct"===V?eo.isLoading:er.isLoading,el="PickProduct"===V?eo.error:er.error,ei="PickProduct"===V?eo.isValidating:er.isValidating,es=er.data?.collections?.edges?.[0]?.node,ea="PickProduct"===V?u(eo.data?.products):u(es?.products),ec=m(e=>e.assignedProductIds),en=m(e=>e.isApplyAllProducts),em=i(()=>(ec??[]).length>0&&!en||en,[ec,en]),eu=ee?.data?.products&&em?u(ee?.data?.products):[],eg=x?eu:"PickProduct"===V&&E?.productIds?.length?E?.productIds?.map(e=>ea?.find(o=>o?.baseID===e)).filter(Boolean)??ea:"PickProduct"!==V?ea:ea.filter((e,o)=>o<(E?.numOfSelectedProducts??4)),ep=i(()=>Z&&x&&z||!eg.length&&!ed&&_&&z,[_,ed,Z,x,z,eg.length]),eh=i(()=>!eg||Z&&x,[Z,x,eg]),ef=i(()=>{if(!A?.sameHeight)return[];let e=0,o=Math.ceil((eg?.length??0)/+(A?.slidesToShow?.[Q]??1));return Array.from(Array(eg?.length??0)).map((t,r)=>(r>=+(A?.slidesToShow?.[Q]??1)*(e+1)&&++e,{gridRow:`${1+W*e}/${W+1+W*e}`,marginBottom:e+1<o?v(O?.horizontalGutter,Q):void 0}))},[A?.sameHeight,A?.slidesToShow,W,eg?.length,Q,O?.horizontalGutter]),eP=i(()=>ei||ed||el||!eg||Z&&x,[el,ed,Z,x,ei,eg]),ek=i(()=>q?.collections?.edges.map(e=>e.node?.id)??[],[q?.collections?.edges]);s(()=>{eP||setTimeout(()=>{let{builderData:e}=N??{},o=e?.childrens?.[0];if(!o)return;let t=document.querySelector(`[data-id=${o}] div`);t&&$(t.childElementCount||1)},z?0:500)},[N,eP,z,ek]);let ey=i(()=>({collection:es,products:eg,settings:{loop:A?.loop??{desktop:!1},scrollMode:A?.scrollMode??{desktop:"snap"},slidesToShow:A?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:O?.layout,dot:A?.dot,dotStyle:A?.dotStyle,arrow:A?.arrow,controlOverContent:A?.controlOverContent},styles:{horizontalGutter:O?.horizontalGutter,verticalGutter:O?.verticalGutter,fullWidth:O?.fullWidth,spacing:O?.spacing,width:O?.width,height:O?.height}}),[es,eg,A,O]);if(N?.isPreview&&F)return e(o,{});if(ep)return e(o,{children:I(_,e(L,{builderAttrs:B,collectionHandle:es?.handle,productSrc:V,onClose:()=>D(!1),children:G,relatedTagString:J,assignProductNoTags:K||X||Y,noAssignedProduct:!U}))});let{productListWrapStyle:eI,productListContentStyle:eb,productListWrapAlignStyle:eT}=y(r),{productListWrapClass:ev}=b(r);return t("div",{...B,className:ev,style:eI,children:[!!O?.preloadBgImage&&t(f,{children:[!!O.backgroundImage?.desktop?.image?.src&&e("link",{rel:"preload",href:O.backgroundImage.desktop.image.src,as:"image"}),!!O.backgroundImage?.tablet?.image?.src&&e("link",{rel:"preload",href:O.backgroundImage?.tablet?.image?.src,as:"image"}),!!O.backgroundImage?.mobile?.image?.src&&e("link",{rel:"preload",href:O.backgroundImage?.mobile?.image?.src,as:"image"})]}),ed||ei?e(d,{}):el?t("div",{children:["Error: ",el?.message]}):eh?e("div",{children:"Products not found"}):e(g,{...ey,children:e("div",{className:"gp-flex gp-w-full",style:eT,children:t("div",{style:eb,children:[F&&e(h,{}),e(o,{children:I(O?.layout==="grid",e(P,{...r,productSortedById:eg,generateGridRowArray:ef}),e(k,{...r,productSortedById:eg}))})]})})}),p(G,!0)]})};export{G as default};
1
+ import{jsx as e,Fragment as o,jsxs as t}from"react/jsx-runtime";import r from"next/dynamic";import d from"../../../common/components/Loading.js";import{useState as l,useRef as i,useMemo as s,useEffect as a}from"react";import{useRenderMode as c,useCurrentDevice as n,usePageType as m,usePageStore as u,flattenConnection as g,ProductListProvider as p,filterToolbarPreview as h}from"@gem-sdk/core";import f from"../SalePageProductListWarning.js";import P from"next/head";import k from"./ProductListGridLayout.js";import y from"./ProductListCarouselLayout.js";import{getStyle as I}from"./common/styles.js";import{If as T}from"@gem-sdk/system";import{getClass as b}from"./common/classes.js";import{getData as S}from"./common/helpers.js";import{getPropertyByDevice as j}from"../../../dialog/common/helpers.js";import{useProductsQuery as v}from"./hooks/useProductsQuery.js";import{useCollectionQuery as w}from"./hooks/useCollectionQuery.js";import C from"./hooks/useProductRelatedQuery.js";import L from"./hooks/useMainRelatedProductQuery.js";let G=r(()=>import("../ProductNotFound.js"),{loading:d}),O=r=>{let{children:O,styles:A,builderProps:N,setting:x,builderAttrs:B}=r,{isRelatedProduct:E,productSetting:z}=S(r),{isEditMode:M,isPreviewSharePageMode:Q}=c(),D=n(),H=m(),R=u(e=>e.dynamicCollection),[W,$]=l(1),[_,F]=l(!0),V=i(),q="GP_FUNNEL_PAGE"===H;"GP_COLLECTION"==H&&(z.productSrc="DynamicCollection",z.collectionId=R?.collectionId??"latest");let U=z?.productSrc??"Collection",{mainRelatedProduct:J,relatedProductIdAssigned:K}=L({isEditMode:M,isPreviewSharePageMode:Q,isRelatedProduct:E,relatedProductId:z.relatedProductId}),X=z.relatedTag&&z.relatedTag[0],Y=z.relatedTag&&"tags"===z.relatedTag[0]&&(!J?.tags||J?.tags.length===0),Z=z.relatedTag&&"collection"===z.relatedTag[0]&&(!J?.collections?.edges||J?.collections.edges.length===0),ee=z.relatedTag&&"vendor"===z.relatedTag[0]&&!J?.vendor,{isNotFoundRelatedProduct:eo,relatedProducts:et}=C({isRelatedProduct:E,productSetting:z,setting:x,mainRelatedProduct:J,productSrc:U}),er=v({productIds:z?.productIds,defaultSelectedProductCount:z?.numOfSelectedProducts,productSrc:U}),ed=w({productSrc:U,collectionID:z?.collectionId??"latest",numberOfProducts:x?.numberOfProducts??4,orderBy:x?.orderBy??"none"}),el="PickProduct"===U?er.isLoading:ed.isLoading,ei="PickProduct"===U?er.error:ed.error,es="PickProduct"===U?er.isValidating:ed.isValidating,ea=ed.data?.collections?.edges?.[0]?.node,ec="PickProduct"===U?g(er.data?.products):g(ea?.products),en=u(e=>e.assignedProductIds),em=u(e=>e.isApplyAllProducts),eu=s(()=>(en??[]).length>0&&!em||em,[en,em]),eg=et?.data?.products&&eu?g(et?.data?.products):[],ep=E?eg:"PickProduct"===U&&z?.productIds?.length?z?.productIds?.map(e=>ec?.find(o=>o?.baseID===e)).filter(Boolean)??ec:"PickProduct"!==U?ec:ec.filter((e,o)=>o<(z?.numOfSelectedProducts??4)),eh=s(()=>eo&&E&&M||!ep.length&&!el&&_&&M,[_,el,eo,E,M,ep.length]),ef=s(()=>!ep||eo&&E,[eo,E,ep]),eP=s(()=>{if(!x?.sameHeight)return[];let e=0,o=Math.ceil((ep?.length??0)/+(x?.slidesToShow?.[D]??1));return Array.from(Array(ep?.length??0)).map((t,r)=>(r>=+(x?.slidesToShow?.[D]??1)*(e+1)&&++e,{gridRow:`${1+W*e}/${W+1+W*e}`,marginBottom:e+1<o?j(A?.horizontalGutter,D):void 0}))},[x?.sameHeight,x?.slidesToShow,W,ep?.length,D,A?.horizontalGutter]),ek=s(()=>es||el||ei||!ep||eo&&E,[ei,el,eo,E,es,ep]),ey=s(()=>J?.collections?.edges.map(e=>e.node?.id)??[],[J?.collections?.edges]);a(()=>{if(!ek&&!el&&!es)return V.current=setTimeout(()=>{let{builderData:e}=N??{},o=e?.childrens?.[0];if(!o)return;let t=document.querySelector(`[data-id=${o}] div`);t&&$(t.childElementCount||1)},500),()=>{clearTimeout(V.current)}},[N,ek,M,ey,el,es]);let eI=s(()=>({collection:ea,products:ep,settings:{loop:x?.loop??{desktop:!1},scrollMode:x?.scrollMode??{desktop:"snap"},slidesToShow:x?.slidesToShow??{desktop:4,tablet:3,mobile:1},layout:A?.layout,dot:x?.dot,dotStyle:x?.dotStyle,arrow:x?.arrow,controlOverContent:x?.controlOverContent},styles:{horizontalGutter:A?.horizontalGutter,verticalGutter:A?.verticalGutter,fullWidth:A?.fullWidth,spacing:A?.spacing,width:A?.width,height:A?.height}}),[ea,ep,x,A]);if(N?.isPreview&&q)return e(o,{});if(eh)return e(o,{children:T(_,e(G,{builderAttrs:B,collectionHandle:ea?.handle,productSrc:U,onClose:()=>F(!1),children:O,relatedTagString:X,assignProductNoTags:Y||Z||ee,noAssignedProduct:!K}))});let{productListWrapStyle:eT,productListContentStyle:eb,productListWrapAlignStyle:eS}=I(r),{productListWrapClass:ej}=b(r);return t("div",{...B,className:ej,style:eT,children:[!!A?.preloadBgImage&&t(P,{children:[!!A.backgroundImage?.desktop?.image?.src&&e("link",{rel:"preload",href:A.backgroundImage.desktop.image.src,as:"image"}),!!A.backgroundImage?.tablet?.image?.src&&e("link",{rel:"preload",href:A.backgroundImage?.tablet?.image?.src,as:"image"}),!!A.backgroundImage?.mobile?.image?.src&&e("link",{rel:"preload",href:A.backgroundImage?.mobile?.image?.src,as:"image"})]}),el||es?e(d,{}):ei?t("div",{children:["Error: ",ei?.message]}):ef?e("div",{children:"Products not found"}):e(p,{...eI,children:e("div",{className:"gp-flex gp-w-full",style:eS,children:t("div",{style:eb,children:[q&&e(f,{}),e(o,{children:T(A?.layout==="grid",e(k,{...r,productSortedById:ep,generateGridRowArray:eP}),e(y,{...r,productSortedById:ep}))})]})})}),h(O,!0)]})};export{O as default};
@@ -1 +1 @@
1
- import{createClass as e}from"@gem-sdk/system";let g=g=>{let{setting:t,className:s,builderProps:i,advanced:p,styles:r}=g,l=e({...s&&{[s]:!0},...p?.cssClass&&{[p.cssClass]:!0},"!gp-m-auto gp-grid gp-w-full":!0,"gp-grid-flow-row":t?.sameHeight}),a=e({"gp-relative gp-flex":!0,[`${i?.builderData?.uid}`]:!0}),d=e({"gp-contents":t?.sameHeight&&r?.layout==="grid"}),o=e({"gp-justify-center":!0,"gp-overflow-hidden":!t?.sameHeight}),m=e({"gp-contents [&>*>div]:gp-contents [&>*]:gp-grid-rows-[subgrid] [&>*]:gp-gap-y-0":t?.sameHeight&&r?.layout==="grid",[`gp-child-item-${i?.uid}`]:!0});return{gridLayoutClass:l,productItemClass:m,carouselClass:o,productListWrapClass:a,gpProductClass:d}};export{g as getClass};
1
+ import{createClass as e}from"@gem-sdk/system";let g=g=>{let{setting:t,className:s,builderProps:i,advanced:r,styles:p}=g,l=e({...s&&{[s]:!0},...r?.cssClass&&{[r.cssClass]:!0},"!gp-m-auto gp-grid gp-w-full":!0,"gp-grid-flow-row":t?.sameHeight}),a=e({"gp-relative gp-flex":!0,[`${i?.builderData?.uid}`]:!0}),d=e({"gp-contents":t?.sameHeight&&p?.layout==="grid"}),o=e({"gp-justify-center":!0,"gp-overflow-hidden":!t?.sameHeight}),m=e({"gp-contents [&>*]:gp-grid-rows-[subgrid] [&>*]:gp-gap-y-0":t?.sameHeight&&p?.layout==="grid",[`gp-child-item-${i?.uid}`]:!0});return{gridLayoutClass:l,productItemClass:m,carouselClass:o,productListWrapClass:a,gpProductClass:d}};export{g as getClass};
@@ -1 +1 @@
1
- import{useFetchHandle as r,usePageStore as t,hasPublicStoreFrontData as e,createStoreFrontFetcher as a,useIsSampleProduct as i,useIsStorefrontProduct as o,generateCollectionQueryKey as l,getCollection as d}from"@gem-sdk/core";import{useMemo as n,useEffect as m}from"react";import s from"swr";let u=({variables:u})=>{let g=r(),p=t(r=>r.publicStoreFrontData),c=n(()=>e(p)?a(p):g,[p]),f=i(),v=o(),L=s(l({...u,isSample:f,isStorefront:v}),([,r])=>d(c,r),{revalidateOnMount:!1,revalidateIfStale:!0});return m(()=>{let r=!!L.error,t=L.isLoading||L.isValidating,e=!L.data&&!t,a=!r&&e&&u;a&&L.mutate()},[u,L.data,L.error,L.isLoading,L.isValidating]),L};export{u as useCollectionQuery};
1
+ import{useFetchHandle as r,usePageStore as t,hasPublicStoreFrontData as o,createStoreFrontFetcher as i,useIsSampleProduct as e,useIsStorefrontProduct as a,generateCollectionQueryKey as n,getCollection as l}from"@gem-sdk/core";import{useMemo as d,useEffect as m}from"react";import s from"swr";import{PRODUCT_SOURCE as u}from"../constants/index.js";let c=({productSrc:c,numberOfProducts:p,orderBy:f,collectionID:g})=>{let x=r(),C=t(r=>r.publicStoreFrontData),L=d(()=>o(C)?i(C):x,[C]),V=e(),b=a(),j=d(()=>({id:g,numberOfProducts:p,orderBy:f}),[g,p,f]),k=s(n({...j,isSample:V,isStorefront:b}),([,r])=>l(L,r),{revalidateOnMount:!1});return m(()=>{if(c!==u.Collection)return;let r=!!k.error,t=k.isLoading||k.isValidating,o=!k.data&&!t;!r&&o&&k.mutate()},[c,k.data,k.error,k.isLoading,k.isValidating]),k};export{c as useCollectionQuery};
@@ -1 +1 @@
1
- import{useState as e,useMemo as t,useEffect as r}from"react";import{useFetchHandle as a,usePageStore as d,hasPublicStoreFrontData as i,createStoreFrontFetcher as l,useProductsQueryAll as s}from"@gem-sdk/core";let o=({setting:o,isEditMode:n,isPreviewSharePageMode:c,isRelatedProduct:u,mainRelatedProduct:h,productSetting:g})=>{let[m,f]=e(!1),[P,b]=e(),p=a(),T=d(e=>e.publicStoreFrontData),E=t(()=>i(T)?l(T):p,[T]),W=s(P,{revalidateOnMount:n||c,keepPreviousData:!0,refreshInterval:0},E);return r(()=>{if(u&&h&&g.relatedTag&&"recommended-product"!==g.relatedType){let e;switch(f(!1),g.hasRelatedExclude&&(e=g?.relatedExclude&&g.relatedExclude.split(",").map(e=>e.trim())),g.relatedTag[0]){case"vendor":b({first:o?.numberOfProducts,where:{vendor:g.relatedTag&&"vendor"===g.relatedTag[0]?h?.vendor:"",idNEQ:h.id}});break;case"collection":{let t=h?.collections?.edges.map(e=>e.node?.id);if(!t||t?.length===0){f(!0);break}b(e&&e.length>0?{first:o?.numberOfProducts,where:{idNEQ:h.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t},{titleNotIn:e}]}]}}:{first:o?.numberOfProducts,where:{idNEQ:h.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t}]}]}});break}case"tags":if(!h.tags||0===h.tags.length){f(!0);break}b(e&&e.length>0?{first:o?.numberOfProducts,where:{idNEQ:h.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:h.tags},{nameNotIn:e}]}]}}:{first:o?.numberOfProducts,where:{idNEQ:h.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:h.tags}]}]}})}}},[h,g.relatedType,g.relatedTag,o?.numberOfProducts,g.relatedExclude,g.hasRelatedExclude,u]),{isNotFoundRelatedProduct:m,relatedProducts:W}};export{o as default};
1
+ import{useState as e,useMemo as t,useEffect as r}from"react";import a from"swr";import{useFetchHandle as d,usePageStore as i,hasPublicStoreFrontData as s,createStoreFrontFetcher as o,getProductQueryAll as l}from"@gem-sdk/core";import{PRODUCT_SOURCE as n}from"../constants/index.js";let c=({productSrc:c,setting:u,isRelatedProduct:g,mainRelatedProduct:h,productSetting:m})=>{let[f,p]=e(!1),[P,b]=e(),T=d(),E=i(e=>e.publicStoreFrontData),W=t(()=>s(E)?o(E):T,[E]),v=a(P?["query/products",P]:null,async([,e])=>l(W,e),{revalidateOnMount:!1,keepPreviousData:!0,refreshInterval:0});return r(()=>{if(g&&h&&m.relatedTag&&"recommended-product"!==m.relatedType){let e;switch(p(!1),m.hasRelatedExclude&&(e=m?.relatedExclude&&m.relatedExclude.split(",").map(e=>e.trim())),m.relatedTag[0]){case"vendor":b({first:u?.numberOfProducts,vendor:m.relatedTag&&"vendor"===m.relatedTag[0]?h?.vendor:"",idNEQ:h.id});break;case"collection":{let t=h?.collections?.edges.map(e=>e.node?.id);if(!t||t?.length===0){p(!0);break}b(e&&e.length>0?{first:u?.numberOfProducts,idNEQ:h.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t},{titleNotIn:e}]}]}:{first:u?.numberOfProducts,idNEQ:h.id,hasCollectionProductsWith:[{hasCollectionWith:[{idIn:t}]}]});break}case"tags":if(!h.tags||0===h.tags.length){p(!0);break}b(e&&e.length>0?{first:u?.numberOfProducts,idNEQ:h.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:h.tags},{nameNotIn:e}]}]}:{first:u?.numberOfProducts,idNEQ:h.id,hasProductTagsWith:[{hasTagsWith:[{nameIn:h.tags}]}]})}}},[h,m.relatedType,m.relatedTag,u?.numberOfProducts,m.relatedExclude,m.hasRelatedExclude,g]),r(()=>{if(c!==n.RelatedProduct||!P)return;let e=!!v.error,t=v.isLoading||v.isValidating,r=!v.data&&!t;!e&&r&&v.mutate()},[c,v.data,v.error,v.isLoading,v.isValidating,P]),{isNotFoundRelatedProduct:f,relatedProducts:v}};export{c as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gem-sdk/components",
3
- "version": "12.0.0-dev.142",
3
+ "version": "12.0.0-dev.144",
4
4
  "license": "MIT",
5
5
  "sideEffects": false,
6
6
  "main": "dist/cjs/index.js",
@@ -26,7 +26,7 @@
26
26
  "i18n:extract": "rollup -c ./scripts/rollup.config.settings.mjs && node ./scripts/translate/extract-texts-to-locales.js && node ./scripts/translate/en-keys-usage.js"
27
27
  },
28
28
  "devDependencies": {
29
- "@gem-sdk/core": "12.0.0-dev.142",
29
+ "@gem-sdk/core": "12.0.0-dev.144",
30
30
  "@gem-sdk/styles": "12.0.0-dev.142",
31
31
  "@gem-sdk/system": "12.0.0-dev.142",
32
32
  "@types/react-transition-group": "^4.4.12",