@gem-sdk/components 4.0.0-staging.1194 → 4.0.0-staging.1196

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/dist/cjs/carousel/components/arrow/common/classes.js +1 -1
  2. package/dist/cjs/carousel/components/arrow/common/helpers.js +1 -1
  3. package/dist/cjs/carousel/components/arrow/common/styles.js +11 -11
  4. package/dist/cjs/carousel/components/dot/common/helpers.js +1 -1
  5. package/dist/cjs/carousel/components/item/CarouselItem.js +1 -1
  6. package/dist/cjs/carousel/components/item/common/styles.js +1 -1
  7. package/dist/cjs/carousel/components/root/Carousel.js +1 -1
  8. package/dist/cjs/carousel/components/root/Carousel.liquid.js +8 -6
  9. package/dist/cjs/carousel/components/root/common/attrs.js +1 -1
  10. package/dist/cjs/carousel/components/root/common/classes.js +1 -1
  11. package/dist/cjs/carousel/components/root/common/styles.js +1 -1
  12. package/dist/cjs/carousel/components/swiper/Swiper.js +1 -0
  13. package/dist/cjs/carousel/components/swiper/SwiperSlide.js +1 -0
  14. package/dist/cjs/carousel/components/swiper/common/styles.js +1 -0
  15. package/dist/cjs/carousel/hooks/useCarousel.js +1 -1
  16. package/dist/cjs/carousel/hooks/useDotsSetting.js +1 -1
  17. package/dist/cjs/carousel/index.js +1 -1
  18. package/dist/cjs/carousel/plugins/animation.js +1 -1
  19. package/dist/cjs/product/components/product-images-v2/ProductImagesV2.liquid.js +6 -6
  20. package/dist/cjs/product/components/product-images-v2/common/attrs.js +1 -1
  21. package/dist/cjs/product/components/product-images-v2/common/classes.js +1 -1
  22. package/dist/cjs/product/components/product-images-v2/common/getBorderActiveCss.js +5 -1
  23. package/dist/cjs/product/components/product-images-v2/common/productFeaturedImage.js +1 -1
  24. package/dist/cjs/product/components/product-images-v2/common/productGallery.js +1 -1
  25. package/dist/cjs/product/components/product-images-v2/common/styles.js +1 -1
  26. package/dist/cjs/product/components/product-images-v2/components/child/ProductFeaturedImageCarousel.js +1 -1
  27. package/dist/cjs/product/components/product-images-v2/components/child/ProductGalleryGrid.js +2 -2
  28. package/dist/cjs/product/components/product-images-v2/components/feature-gallery/FeatureImageWithGallery.js +1 -1
  29. package/dist/cjs/product/components/product-images-v2/components/feature-gallery/FeatureImageWithGallery.liquid.js +13 -13
  30. package/dist/cjs/product/components/product-images-v2/components/gallery-carousel/GalleryCarousel.js +1 -1
  31. package/dist/cjs/product/components/product-images-v2/components/gallery-carousel/GalleryCarousel.liquid.js +3 -3
  32. package/dist/cjs/product/components/product-images-v2/components/gallery-grid/GalleryGrid.js +1 -1
  33. package/dist/cjs/product/components/product-images-v2/components/gallery-grid/GalleryGrid.liquid.js +4 -4
  34. package/dist/cjs/product/components/product-images-v2/components/lightbox/ProductImagesLightBox.js +1 -1
  35. package/dist/cjs/product/components/product-images-v2/hooks/useProductGalleryGrid.js +1 -1
  36. package/dist/cjs/product/components/product-list/ProductListCarouselLayout.liquid.js +4 -4
  37. package/dist/cjs/product/index.js +1 -1
  38. package/dist/cjs/product/settings/product-image-v2/configs/ui-v2.js +1 -1
  39. package/dist/cjs/video/components/HTML5Embed.liquid.js +12 -12
  40. package/dist/esm/carousel/components/arrow/common/classes.js +1 -1
  41. package/dist/esm/carousel/components/arrow/common/helpers.js +1 -1
  42. package/dist/esm/carousel/components/arrow/common/styles.js +8 -8
  43. package/dist/esm/carousel/components/dot/common/helpers.js +1 -1
  44. package/dist/esm/carousel/components/item/CarouselItem.js +1 -1
  45. package/dist/esm/carousel/components/item/common/styles.js +1 -1
  46. package/dist/esm/carousel/components/root/Carousel.js +1 -1
  47. package/dist/esm/carousel/components/root/Carousel.liquid.js +9 -7
  48. package/dist/esm/carousel/components/root/common/attrs.js +1 -1
  49. package/dist/esm/carousel/components/root/common/classes.js +1 -1
  50. package/dist/esm/carousel/components/root/common/styles.js +1 -1
  51. package/dist/esm/carousel/components/swiper/Swiper.js +1 -0
  52. package/dist/esm/carousel/components/swiper/SwiperSlide.js +1 -0
  53. package/dist/esm/carousel/components/swiper/common/styles.js +1 -0
  54. package/dist/esm/carousel/hooks/useCarousel.js +1 -1
  55. package/dist/esm/carousel/hooks/useDotsSetting.js +1 -1
  56. package/dist/esm/carousel/index.js +1 -1
  57. package/dist/esm/carousel/plugins/animation.js +1 -1
  58. package/dist/esm/product/components/product-images-v2/ProductImagesV2.liquid.js +8 -8
  59. package/dist/esm/product/components/product-images-v2/common/attrs.js +1 -1
  60. package/dist/esm/product/components/product-images-v2/common/classes.js +1 -1
  61. package/dist/esm/product/components/product-images-v2/common/getBorderActiveCss.js +6 -2
  62. package/dist/esm/product/components/product-images-v2/common/productFeaturedImage.js +1 -1
  63. package/dist/esm/product/components/product-images-v2/common/productGallery.js +1 -1
  64. package/dist/esm/product/components/product-images-v2/common/styles.js +1 -1
  65. package/dist/esm/product/components/product-images-v2/components/child/ProductFeaturedImageCarousel.js +1 -1
  66. package/dist/esm/product/components/product-images-v2/components/child/ProductGalleryGrid.js +2 -2
  67. package/dist/esm/product/components/product-images-v2/components/feature-gallery/FeatureImageWithGallery.js +1 -1
  68. package/dist/esm/product/components/product-images-v2/components/feature-gallery/FeatureImageWithGallery.liquid.js +48 -48
  69. package/dist/esm/product/components/product-images-v2/components/gallery-carousel/GalleryCarousel.js +1 -1
  70. package/dist/esm/product/components/product-images-v2/components/gallery-carousel/GalleryCarousel.liquid.js +2 -2
  71. package/dist/esm/product/components/product-images-v2/components/gallery-grid/GalleryGrid.js +1 -1
  72. package/dist/esm/product/components/product-images-v2/components/gallery-grid/GalleryGrid.liquid.js +11 -11
  73. package/dist/esm/product/components/product-images-v2/components/lightbox/ProductImagesLightBox.js +1 -1
  74. package/dist/esm/product/components/product-images-v2/hooks/useProductGalleryGrid.js +1 -1
  75. package/dist/esm/product/components/product-list/ProductListCarouselLayout.liquid.js +6 -6
  76. package/dist/esm/product/index.js +1 -1
  77. package/dist/esm/product/settings/product-image-v2/configs/ui-v2.js +1 -1
  78. package/dist/esm/video/components/HTML5Embed.liquid.js +12 -12
  79. package/dist/types/index.d.ts +25 -0
  80. package/package.json +2 -1
  81. package/dist/cjs/carousel/plugins/auto-play.js +0 -1
  82. package/dist/cjs/carousel/plugins/fix-slider-move-backward.js +0 -1
  83. package/dist/cjs/carousel/plugins/mutation.js +0 -1
  84. package/dist/esm/carousel/plugins/auto-play.js +0 -1
  85. package/dist/esm/carousel/plugins/fix-slider-move-backward.js +0 -1
  86. package/dist/esm/carousel/plugins/mutation.js +0 -1
@@ -1 +1 @@
1
- import{getResponsiveValueByScreen as e}from"@gem-sdk/core";import{createClass as l}from"@gem-sdk/system";import{getData as t}from"./helpers.js";let getClass=p=>{let o=["mobile","tablet","desktop"],{setting:i,builderProps:a,wrapperClass:g,rootClass:r,advanced:b,fullHeight:f,slidesClass:m}=p,{sliderSelector:x}=t(p),s=()=>{let e={flex:{desktop:"gp-flex",tablet:"tablet:gp-flex",mobile:"mobile:gp-flex"},block:{desktop:"gp-block",tablet:"tablet:gp-block",mobile:"mobile:gp-block"}},l={};return o.forEach(t=>{let p=i?.vertical?.[t]?"flex":"block",o=e[p][t];l[o]=!0}),l},c=()=>{let e={fullHeight:{desktop:"gp-h-full",tablet:"tablet:gp-h-full",mobile:"mobile:gp-h-full"},flex1:{desktop:"gp-flex-1",tablet:"tablet:gp-flex-1",mobile:"mobile:gp-flex-1"}},l={};return o.forEach(t=>{l[e.fullHeight[t]]=i?.vertical?.[t],l[e.flex1[t]]=i?.vertical?.[t]}),l},n=()=>{let e={flexCol:{desktop:"!gp-flex-col",tablet:"tablet:!gp-flex-col",mobile:"mobile:!gp-flex-col"},flexRow:{desktop:"!gp-flex-row",tablet:"tablet:!gp-flex-row",mobile:"mobile:!gp-flex-row"}},l={};return o.forEach(t=>{let p=i?.vertical?.[t]?"flexCol":"flexRow",o=e[p][t];l[o]=!0}),l},u=()=>{let e={wrap:{desktop:"!gp-flex-wrap",tablet:"tablet:!gp-flex-wrap",mobile:"mobile:!gp-flex-wrap"},nowrap:{desktop:"!gp-flex-nowrap",tablet:"tablet:!gp-flex-nowrap",mobile:"mobile:!gp-flex-nowrap"}},l={};return o.forEach(t=>{let p=i?.vertical?.[t]?"wrap":"nowrap",o=e[p][t];l[o]=!0}),l},h=()=>{let e={minHeightNone:{desktop:"!gp-min-h-0",tablet:"tablet:!gp-min-h-0",mobile:"mobile:!gp-min-h-0"},minHeightFull:{desktop:"!gp-min-h-full",tablet:"tablet:!gp-min-h-full",mobile:"mobile:!gp-min-h-full"}},l={};return o.forEach(t=>{let p=i?.vertical?.[t]?"minHeightNone":"minHeightFull",o=e[p][t];l[o]=!0}),l},d=l({...a?.uid&&{[a.uid]:!0},...g&&{[g]:!0},"gp-relative gp-my-0 tablet:gp-px-0 gp-max-w-full mobile:gp-px-0 gp-carousel-wrapper":!0,"!gp-flex":e(i?.vertical,"desktop"),"tablet:!gp-flex":e(i?.vertical,"tablet"),"mobile:!gp-flex":e(i?.vertical,"mobile"),...s()}),k=l({"gp-relative gp-flex gp-items-center gp-justify-between":!0,"!gp-h-full":f,...c(),...n()}),w=l({"gp-group/carousel gp-w-full gp-flex":!0,"!gp-flex-col":e(i?.vertical,"desktop"),"tablet:!flex-col":e(i?.vertical,"tablet"),"mobile:!flex-col":e(i?.vertical,"mobile"),...r&&{[r]:!0},...b?.cssClass&&{[b.cssClass]:!0}}),v=l({"gem-slider gp-h-full gp-overflow-hidden gp-select-none":!0,[x]:!0,...m&&{[m]:!0},...u(),...h()});return{rootClassRender:w,wrapperClassRender:d,wrapperInnerClass:k,sliderClass:v}};export{getClass};
1
+ import{getResponsiveValueByScreen as e}from"@gem-sdk/core";import{createClass as l}from"@gem-sdk/system";import{getData as t}from"./helpers.js";let getClass=p=>{let o=["mobile","tablet","desktop"],{setting:a,builderProps:g,wrapperClass:i,rootClass:r,advanced:b,fullHeight:f,slidesClass:m}=p,{sliderSelector:x}=t(p),s=()=>{let e={flex:{desktop:"gp-flex",tablet:"tablet:gp-flex",mobile:"mobile:gp-flex"},block:{desktop:"gp-block",tablet:"tablet:gp-block",mobile:"mobile:gp-block"}},l={};return o.forEach(t=>{let p=a?.vertical?.[t]?"flex":"block",o=e[p][t];l[o]=!0}),l},c=()=>{let e={fullHeight:{desktop:"gp-h-full",tablet:"tablet:gp-h-full",mobile:"mobile:gp-h-full"},flex1:{desktop:"gp-flex-1",tablet:"tablet:gp-flex-1",mobile:"mobile:gp-flex-1"}},l={};return o.forEach(t=>{l[e.fullHeight[t]]=a?.vertical?.[t],l[e.flex1[t]]=a?.vertical?.[t]}),l},n=()=>{let e={flexCol:{desktop:"!gp-flex-col",tablet:"tablet:!gp-flex-col",mobile:"mobile:!gp-flex-col"},flexRow:{desktop:"!gp-flex-row",tablet:"tablet:!gp-flex-row",mobile:"mobile:!gp-flex-row"}},l={};return o.forEach(t=>{let p=a?.vertical?.[t]?"flexCol":"flexRow",o=e[p][t];l[o]=!0}),l},u=()=>{let e={wrap:{desktop:"!gp-flex-wrap",tablet:"tablet:!gp-flex-wrap",mobile:"mobile:!gp-flex-wrap"},nowrap:{desktop:"!gp-flex-nowrap",tablet:"tablet:!gp-flex-nowrap",mobile:"mobile:!gp-flex-nowrap"}},l={};return o.forEach(t=>{let p=a?.vertical?.[t]?"wrap":"nowrap",o=e[p][t];l[o]=!0}),l},h=()=>{let e={minHeightNone:{desktop:"!gp-min-h-0",tablet:"tablet:!gp-min-h-0",mobile:"mobile:!gp-min-h-0"},minHeightFull:{desktop:"!gp-min-h-full",tablet:"tablet:!gp-min-h-full",mobile:"mobile:!gp-min-h-full"}},l={};return o.forEach(t=>{let p=a?.vertical?.[t]?"minHeightNone":"minHeightFull",o=e[p][t];l[o]=!0}),l},w=l({...g?.uid&&{[g.uid]:!0},...i&&{[i]:!0},"gp-relative gp-my-0 tablet:gp-px-0 gp-max-w-full mobile:gp-px-0 gp-carousel-wrapper":!0,"!gp-flex":e(a?.vertical,"desktop"),"tablet:!gp-flex":e(a?.vertical,"tablet"),"mobile:!gp-flex":e(a?.vertical,"mobile"),...s()}),d=l({"gp-relative gp-overflow-hidden gp-flex gp-items-center gp-justify-between":!0,"!gp-h-full":f,...c(),...n()}),k=l({"gp-group/carousel gp-w-full gp-flex":!0,"!gp-flex-col":e(a?.vertical,"desktop"),"tablet:!flex-col":e(a?.vertical,"tablet"),"mobile:!flex-col":e(a?.vertical,"mobile"),...r&&{[r]:!0},...b?.cssClass&&{[b.cssClass]:!0}}),v=l({"gem-slider-wrapper gp-flex gp-content-start gp-h-full gp-select-none":!0,[x]:!0,...m&&{[m]:!0},...u(),...h()});return{rootClassRender:k,wrapperClassRender:w,wrapperInnerClass:d,sliderClass:v}};export{getClass};
@@ -1 +1 @@
1
- import{makeStyleResponsive as t,getHeightByShapeGlobalSize as e,makeStyleWithDefault as o,getWidthByShapeGlobalSize as r,getBgByDevice as g,makeContainerWidthOrHeight as l,getResponsiveValueByScreen as a}from"@gem-sdk/core";import{createStyle as c}from"@gem-sdk/system";let getStyle=i=>{let d=["mobile","tablet","desktop"],{styles:m,setting:p,style:s,rootStyles:k}=i,{arrowGapToEachSide:n="16"}=p??{},b=t("h",e(m?.sizeSetting)),u=o("w",r(m?.sizeSetting,!0),{desktop:"--g-ct-w",tablet:"--g-ct-w",mobile:"--g-ct-w"}),S=()=>{let t={};return d.forEach(e=>{let o=a(p?.vertical,e),r=a(m?.spacing,e),g=o?`--rg${"desktop"!==e?`-${e}`:""}`:`--cg${"desktop"!==e?`-${e}`:""}`;t={...t,[g]:`${r??0}px`}}),t},y=c({...s,...b,...u,...g({backgroundColor:m?.backgroundColor,backgroundImage:m?.backgroundImage})}),$=c({...l({vertical:p?.vertical,dotStyle:p?.dotStyle}),gap:n+"px"}),w=c({...t("jc",m?.align),...k}),f=c({...S()});return{rootStyleRender:w,wrapperStyleRender:y,wrapperInnerStyle:$,sliderStyle:f}};export{getStyle};
1
+ import{makeStyleResponsive as e,getHeightByShapeGlobalSize as t,makeStyleWithDefault as o,getWidthByShapeGlobalSize as g,getBgByDevice as r,makeContainerWidthOrHeight as l}from"@gem-sdk/core";import{createStyle as i}from"@gem-sdk/system";let getStyle=d=>{let{styles:a,setting:c,style:m,rootStyles:n}=d,{arrowGapToEachSide:k="16"}=c??{},s=e("h",t(a?.sizeSetting)),b=o("w",g(a?.sizeSetting,!0),{desktop:"--g-ct-w",tablet:"--g-ct-w",mobile:"--g-ct-w"}),p=i({...m,...s,...b,...r({backgroundColor:a?.backgroundColor,backgroundImage:a?.backgroundImage})}),w=i({...l({vertical:c?.vertical,dotStyle:c?.dotStyle}),gap:k+"px"}),S=i({...e("jc",a?.align),...n}),h=i({...b,...s}),u=i({overflow:"hidden",flex:1,width:"100%",height:"100%"});return{rootStyleRender:S,wrapperStyleRender:p,wrapperInnerStyle:w,sliderStyle:h,sliderWrapperStyle:u}};export{getStyle};
@@ -0,0 +1 @@
1
+ import{jsx as e}from"react/jsx-runtime";import{useRef as r,useState as t,useMemo as i,useEffect as s}from"react";import{getStyleSwiperContainer as n}from"./common/styles.js";function Swiper(o){let l=r(null),{children:p,totalSlides:c,onSwiperReset:a,onSwiperReady:u,sliderClass:m,sliderOrder:w,thumbsSwiper:d,...f}=o,[y,b]=t(!1),j=i(()=>d?{"thumbs-swiper":d}:{},[d]),g=n(),O="object"==typeof o.autoplay&&null!==o.autoplay?o.autoplay.pauseOnMouseEnter:void 0;return s(()=>{let e=async()=>{let e=await import("gem-sdk-swiper/element/bundle");e.register(),b(!0)};e()},[]),s(()=>{y&&(Object.assign(l.current,f),l.current.initialize(),u?.(l.current.swiper))},[y]),s(()=>{l.current?.swiper&&(l.current.swiper.destroy(!1,!1),Object.assign(l.current,f),l.current.initialize(),u(l.current.swiper),a())},[f.dir,f.loop,O,f.slidesPerView,u,a,f.spaceBetween,f.slidesOffsetBefore]),s(()=>{let e=l.current;e&&(Object.assign(e,f),e.swiper?.update())},[f]),e("swiper-container",{init:!1,ref:l,class:m,style:{...g,display:y?"block":"none"},...j,children:p})}export{Swiper};
@@ -0,0 +1 @@
1
+ import{jsx as e}from"react/jsx-runtime";import{getStyleSwiperSlider as r}from"./common/styles.js";function SwiperSlide(i){let{children:t,className:s,dir:l,...o}=i,m=r(i);return e("swiper-slide",{class:s,...o,style:m,children:t})}export{SwiperSlide};
@@ -0,0 +1 @@
1
+ import{createStyle as e}from"@gem-sdk/system";let getStyleSwiperSlider=e=>{let{dir:t,style:r}=e;return{"--h":"auto",...r,..."rtl"===t?{marginLeft:0}:{marginRight:0}}},getStyleSwiperContainer=()=>e({overflow:"hidden",width:"100%"});export{getStyleSwiperContainer,getStyleSwiperSlider};
@@ -1 +1 @@
1
- import{useKeenSlider as e}from"@gem-sdk/keen-slider/react";import{useState as t,useRef as r,useCallback as a,useMemo as n,useImperativeHandle as l,useEffect as o}from"react";import{useCurrentDevice as i,useEditorMode as s,useInteraction as u,DEVICES as d,getResponsiveValueByScreen as m}from"@gem-sdk/core";import{getData as c}from"../components/root/common/helpers.js";import p from"./useTrackPreviewPause.js";import{AutoPlayPlugin as k}from"../plugins/auto-play.js";import{CAROUSEL_ANIMATION as f,DEFAULT_PLAY_SPEED as g,AnimationPlugin as v}from"../plugins/animation.js";import{MutationPlugin as b}from"../plugins/mutation.js";import{FixSliderMoveBackwards as y}from"../plugins/fix-slider-move-backward.js";let useCarousel=(h,E)=>{let S;let{builderProps:x,moveToIdx:T,styles:P,setting:w,isHiddenArrowWhenDisabled:A=!0,elmRef:I,onChangeActive:N,onLoaded:O,onUpdated:_,onCreated:U,onClickArrow:M,onHandleChangeSlideByInteraction:j}=h,{loop:C,navigationEnable:F={desktop:!0},navigationStyle:D}=w??{},[$,L]=t(!1),[R,V]=t(0),[W,q]=t(0),[H,z]=t(w?.defaultCurrentSlider??0),[B,G]=t(!1),[J,K]=t(),{sliderSelector:Q}=c(h),X=r(),Y=r(!1),Z=r(T??0),ee=i(),et=s(),{isFirstPreviewClicked:er}=p(w?.runPreview),{onListener:ea,saveToElementInteractionData:en,getInteractionPreviousData:el,trigger:eo}=u(),ei=a(()=>{if(!w?.slidesToShow)return null;let e={};return d.forEach(t=>{let r=m(w?.slidesToShow,t);e[t]=r?"auto"===r?4:Math.floor(r):0}),e},[w?.slidesToShow]),es=a(()=>{if(!w?.slidesToShow)return null;let e={};return d.forEach(t=>{let r=m(w?.slidesToShow,t);e[t]=r?"auto"===r?4:r:0}),e},[w?.slidesToShow]),eu=n(()=>{let e=es();if(e)return e;let t={};return d.forEach(e=>{let r=m(w?.sneakPeak,e),a=r?"center"===m(w?.sneakPeakType,e)?m(w?.sneakPeakOffsetCenter,e)??0:m(w?.sneakPeakOffsetForward,e)??0:0,n="center"===m(w?.sneakPeakType,e)?-2:-1,l=m(w?.itemNumber,e);"object"==typeof a&&(a=0),t[e]="number"==typeof l?l+a/100*n:"auto"}),t},[es,w?.itemNumber,w?.sneakPeak,w?.sneakPeakOffsetCenter,w?.sneakPeakOffsetForward,w?.sneakPeakType]),ed=n(()=>{let e=ei();return e||w?.itemNumber},[ei,w?.itemNumber]),em=a(e=>{let t="center"===m(w?.sneakPeakType,e)?2:1;return"number"==typeof m(ed,e,4)?m(ed,e,4)-t:void 0},[w?.sneakPeakType,ed]),ec=n(()=>e=>{let t="center"===m(w?.sneakPeakType,e)&&m(w?.sneakPeak,e)?"center":"auto";return t},[w?.sneakPeak,w?.sneakPeakType]),ep=n(()=>e=>{if("center"!==ec(e))return{};let t=w?.childItem?.length||1,r=Number(m(eu,e,1))||2;w?.sneakPeak?.[ee]&&(r=Math.trunc(Number(em(e))));let a=t-r,n=m(C,e,!1);return n?{max:void 0}:{max:a}},[w?.childItem,eu,ec,C,ee,w?.sneakPeak,em]),ek=()=>{let e=document.querySelectorAll(`.${Q}`);e&&e.forEach(e=>{e?.style.removeProperty("--cg"),e?.style.removeProperty("--cg-tablet"),e?.style.removeProperty("--cg-mobile"),e?.style.removeProperty("--rg"),e?.style.removeProperty("--rg-tablet"),e?.style.removeProperty("--rg-mobile")})},[ef,eg]=e({selector:`.gem-slider-item-${x?.uid}`,optionsChanged:e=>{e?.track?.details?.maxIdx===1/0?L(!0):L(!1),V(Math.ceil(e.slides.length)),q(e?.track?.details?.maxIdx)},defaultAnimation:{duration:P?.playSpeed===0?1:P?.playSpeed??500,easing:e=>{switch(w?.animationMode){case f.EASE_IN.value:return f.EASE_IN.formula(e);case f.EASE_OUT.value:return f.EASE_OUT.formula(e);case f.EASE_IN_OUT.value:return f.EASE_IN_OUT.formula(e);default:return f.DEFAULT.formula(e)}}},dragSpeed:2,renderMode:"precision",mode:"snap",loop:m(C,"desktop",!1),vertical:m(w?.vertical,"desktop"),rtl:w?.rtl,breakpoints:{"(max-width: 9999px)":{slides:{perView:m(eu,"desktop",4)??1,spacing:m(P?.spacing,"desktop"),origin:ec("desktop"),numberOfFullWidthShow:em("desktop")},loop:m(C,"desktop",!1),vertical:m(w?.vertical,"desktop"),drag:m("edit"==et?{desktop:!1}:w?.enableDrag,"desktop"),initial:T??0,range:ep("desktop")},"(max-width: 1024px)":{slides:{perView:m(eu,"tablet",4),spacing:m(P?.spacing,"tablet"),origin:ec("tablet"),numberOfFullWidthShow:em("tablet")},loop:m(C,"tablet",!1),vertical:m(w?.vertical,"tablet"),drag:m("edit"==et?{tablet:!1}:w?.enableDrag,"tablet"),initial:T||0,range:ep("tablet")},"(max-width: 767px)":{slides:{perView:m(eu,"mobile",4),spacing:m(P?.spacing,"mobile"),origin:ec("mobile"),numberOfFullWidthShow:em("mobile")},loop:m(C,"mobile",!1),vertical:m(w?.vertical,"mobile"),drag:m("edit"==et?{mobile:!1}:w?.enableDrag,"mobile"),initial:T??0,range:ep("mobile")}},slideChanged:e=>{z(e.track.details.rel),Z.current=e.track.details.rel,N&&N(e.track.details.rel)},created:e=>{G(!0),K(e),z(e.track?.details?.rel??0),U&&U(e),ek()},updated:e=>{O&&O(!0),_&&_(e)},autoplay:{delay:(w?.autoplayTimeout??1)*1e3,pauseOnHover:w?.pauseOnHover,enable:"edit"===et?!!er&&w?.runPreview&&w?.autoplay:w?.autoplay},animation:{type:w?.animationMode,speed:P?.playSpeed===0?1:P?.playSpeed??500},dragStarted:e=>{e.container.style.cursor="grabbing"},dragEnded:e=>{e.container.style.cursor="auto"},animationStarted:e=>{Y.current?e.options.defaultAnimation={duration:g,easing:e=>f.DEFAULT.formula(e)}:Y.current=!0},animationEnded:e=>{Y.current=!1,e.options.defaultAnimation={duration:P?.playSpeed===0?1:P?.playSpeed??500,easing(e){switch(w?.animationMode){case f.EASE_IN.value:return f.EASE_IN.formula(e);case f.EASE_OUT.value:return f.EASE_OUT.formula(e);case f.EASE_IN_OUT.value:return f.EASE_IN_OUT.formula(e);default:return f.EASE_IN.formula(e)}}}}},[b,k,v,y]),ev=n(()=>B&&!!R&&eg.current&&m(w?.dot,ee),[eg,B,w?.dot,R,ee]),eb=n(()=>{let e=m(F,ee),t=m(D,ee);return B&&eg.current&&e&&"none"!==t},[ee,eg,B,F,D]),ey=()=>{let e="auto"===m(eu,ee,1)?1:m(eu,ee,1);return e??1},eh=e=>{let t=e*ey();return t>=R-ey()&&(t=R-ey()),t},eE=(e,t)=>{let r=w?.sneakPeak?.[ee]?e:t?e:eh(e);eg.current?.moveToIdx(r),Z.current=r},eS=e=>{"next"===e?eg.current?.next():eg.current?.prev(),M&&(S&&clearTimeout(S),S=setTimeout(()=>M&&M(),500))};l(E,()=>({nextSlideInteraction:ew,previousSlideInteraction:eA,moveToSlideInteraction:eI}));let ex=e=>{eo({event:"gp:rollback:select-slide",selector:`[data-id="${x?.uid}"]`,element:I?.current}),eo({event:"gp:select-slide",selector:`[data-id="${x?.uid}"]`,data:e,element:I?.current})},eT=e=>{eg.current?.moveToIdx(e),j&&j(e)},eP=(e,t)=>{let{key:r,data:a,isRollback:n,element:l}=e,o=Math.max(eg.current?.track?.details?.rel??0,0);if(n&&void 0===a)return;if(n){if("specific"===t){let{previousData:e}=el(l,r);eT(Number(e))}else{let e="next"===t?o-1:o+1;eT(e)}return}let i="specific"===t?Math.max(Z.current,0):o;en(l,r,i.toString());let s="specific"===t?Number(a):"next"===t?o+1:o-1;eT(s)},ew=e=>{eP(e,"next")},eA=e=>{eP(e,"previous")},eI=e=>{eP(e,"specific")};return o(()=>{let e=`[data-id="${x?.uid}"]`;ea({event:"gp:change-next-slide",selector:e,elementRef:X},e=>{let{data:t,isRollback:r,uniqueStorageKey:a}=e||{};ew({element:X.current,data:t,isRollback:r,key:a})}),ea({event:"gp:change-previous-slide",selector:e,elementRef:X},e=>{let{data:t,isRollback:r,uniqueStorageKey:a}=e||{};eA({element:X.current,data:t,isRollback:r,key:a})}),ea({event:"gp:change-image-step",selector:e,elementRef:X},e=>{let{data:t,isRollback:r,uniqueStorageKey:a}=e||{};eI({element:X.current,data:t,isRollback:r,key:a})}),ea({event:"gp:change-index-slide",selector:e},t=>{let r=document.querySelector(e),{data:a,isRollback:n,uniqueStorageKey:l}=t||{};eI({element:r,data:a,isRollback:n,key:l})})},[]),o(()=>{eg.current?.update(eg.current?.options)},[eg,w]),o(()=>{let e=e=>{if(x?.uid!==e?.detail.componentUid)return;let t=eg?.current?.track.details.maxIdx,r=e?.detail.index||0;t&&r>t&&(r=t),eg.current?.moveToIdx(r),Z.current=r};return window.addEventListener("move-to-idx",e),()=>window.removeEventListener("move-to-idx",e)},[eg,x?.uid]),o(()=>{"number"==typeof T&&(Z.current=T,eg?.current?.moveToIdx(T))},[eg,T,A]),{isInfinity:$,totalSlideItem:R,slideMaxIndex:W,currentSlide:H,loaded:B,slider:J,previousIndex:Z,localRef:X,instanceRef:eg,showNavigation:eb,isRenderDots:ev,sliderRef:ef,handleDotClick:eE,getItemsPerPage:ey,handleNextAndPrevSlide:eS,dispatchEventSelectSlide:ex,getNumberOfFullWidthShow:em}};export{useCarousel};
1
+ import{useState as e,useRef as t,useMemo as r,useCallback as i,useImperativeHandle as n,useEffect as a}from"react";import{useCurrentDevice as l,useEditorMode as s,useInteraction as o,getResponsiveValueByScreen as u,DEVICES as d}from"@gem-sdk/core";import p from"./useTrackPreviewPause.js";let useCarousel=(f,m,c,k)=>{let h;let{builderProps:b,moveToIdx:y,styles:P,setting:g,isHiddenArrowWhenDisabled:w=!0,elmRef:T,isEnableCheckHasScrollableContent:v,onClickArrow:N,onHandleChangeSlideByInteraction:x,onChangeActive:S}=f,[C,O]=e(!0),[E,L]=e(!0),[M,I]=e(!1),{loop:z,navigationEnable:V={desktop:!0},navigationStyle:B}=g??{},[j,F]=e(k),[H,R]=e(g?.defaultCurrentSlider??0),{isFirstPreviewClicked:$}=p(g?.runPreview),A=t(),D=t(y??0),q=l(),U=s(),{onListener:W,saveToElementInteractionData:G,getInteractionPreviousData:J,trigger:K}=o(),Q=r(()=>u(z,q,!1),[z,q]),X=i(()=>{if(!g?.slidesToShow)return null;let e={};return d.forEach(t=>{let r=u(g?.slidesToShow,t);e[t]=r?"auto"===r?4:Math.floor(r):0}),e},[g?.slidesToShow]),Y=i(()=>{if(!g?.slidesToShow)return null;let e={};return d.forEach(t=>{let r=u(g?.slidesToShow,t);e[t]=r?"auto"===r?4:r:0}),e},[g?.slidesToShow]),Z=r(()=>{let e=Y();if(e)return e;let t={};return d.forEach(e=>{let r=u(g?.sneakPeak,e),i=r?"center"===u(g?.sneakPeakType,e)?u(g?.sneakPeakOffsetCenter,e)??0:u(g?.sneakPeakOffsetForward,e)??0:0,n="center"===u(g?.sneakPeakType,e)?-2:-1,a=u(g?.itemNumber,e);t[e]="number"==typeof a?a+i/100*n:"auto"}),t},[Y,g?.itemNumber,g?.sneakPeak,g?.sneakPeakOffsetCenter,g?.sneakPeakOffsetForward,g?.sneakPeakType]),_=r(()=>{let e=u(Z,q),t=u(z,q,!1);return t&&Number(e??0)>k||!t&&Number(e??0)>=k},[Z,q,z,k]),ee=r(()=>{let e=u(V,q),t=u(B,q);return c&&e&&"none"!==t&&C&&!_},[V,q,B,c,C,_]),et=r(()=>{let e=X();return e||g?.itemNumber},[X,g?.itemNumber]),er=i(e=>{let t="center"===u(g?.sneakPeakType,e)?2:1;return"number"==typeof u(et,e,4)?u(et,e,4)-t:void 0},[g?.sneakPeakType,et]),ei=()=>{let e="auto"===u(Z,q,1)?1:u(Z,q,1);return e??1},en=e=>{let t=e*ei();return t>=j-ei()&&(t=j-ei()),t},ea=e=>{let t="edit"===U?{[e]:!1}:g?.enableDrag;return u(t,e)},el=(e,t)=>{let r=g?.sneakPeak?.[q]?e:t?e:en(e);if(t){if(k<em){c?.slideTo(r);return}if(c?.realIndex===r)return;if(r===Number(c?.realIndex)+1||0===r&&c?.realIndex===k-1)return c?.slideNext();if(r===Number(c?.realIndex)-1||r===k-1&&c?.realIndex===0)return c?.slidePrev();let e="center"===u(g?.sneakPeakType,q)&&"number"==typeof u(g?.itemNumber,q)&&Number(u(g?.itemNumber,q))%2==0;e?c?.slideToLoopCenterSneakPeek(r):c?.slideToLoop(r)}else c?.slideTo(r);D.current=r};n(m,()=>({nextSlideInteraction:ed,previousSlideInteraction:ep,moveToSlideInteraction:ef,getSwiper:()=>c}));let es=e=>{K({event:"gp:rollback:select-slide",selector:`[data-id="${b?.uid}"]`,element:T?.current}),K({event:"gp:select-slide",selector:`[data-id="${b?.uid}"]`,data:e,element:T?.current})},eo=e=>{c?.slideTo(e),x&&x(e)},eu=(e,t)=>{let{key:r,data:i,isRollback:n,element:a}=e,l=Math.max(c?.activeIndex??0,0);if(n&&void 0===i)return;if(n){if("specific"===t){let{previousData:e}=J(a,r);eo(Number(e))}else{let e="next"===t?l-1:l+1;eo(e)}return}let s="specific"===t?Math.max(D.current,0):l;G(a,r,s.toString());let o="specific"===t?Number(i):"next"===t?l+1:l-1;eo(o)},ed=e=>{eu(e,"next")},ep=e=>{eu(e,"previous")},ef=e=>{eu(e,"specific")},em=ei(),ec=r(()=>!!j&&c&&u(g?.dot,q)&&!_&&k>1,[j,c,g?.dot,q,_,k]),ek=u(g?.vertical,q,!1)?"vertical":"horizontal",eh=r(()=>{let e=u(z,q,!1),t=c?.width??0,r={0:"mobile",768:"tablet",1025:"desktop"},i=Number(Object.entries(r).find(([,e])=>e===q)?.[0]??1025),n=Object.entries(r).reduce((r,[i,n])=>{if(!r)return;let a=Number(i),l=u(g?.sneakPeak,n,!1),s=l&&"center"===u(g?.sneakPeakType,n),o=u(g?.itemNumber,n),d=s&&"number"==typeof o,p=ea(n),f=d?(t-t/em*(o-2))/2:0,m=d&&e?j:g?.initialSlide||y||0,c={allowTouchMove:p,slidesOffsetBefore:f,slidesOffsetAfter:f,initialSlide:m};return r[a]=c,r},{}),a="center"===u(g?.sneakPeakType,q)&&"number"==typeof u(g?.itemNumber,q)&&Number(u(g?.itemNumber,q))%2==0;return{speed:P?.playSpeed??500,dir:g?.rtl?"rtl":"ltr",spaceBetween:u(P?.spacing,q)||0,loop:e,slidesPerView:"auto"===u(Z,q,1)?"auto":em,direction:ek,breakpoints:n,isSneakPeekCenter:a,slidesOffsetBefore:n?.[i]?.slidesOffsetBefore,thumbs:{slideThumbActiveClass:"gem-slider-item-active"},loopPreventsSliding:!1,autoplay:{delay:(g?.autoplayTimeout??1)*1e3,pauseOnMouseEnter:g?.pauseOnHover,stopOnLastSlide:!e}}},[P?.playSpeed,g?.rtl,P?.spacing,q,z,em,g?.sneakPeakType,g?.pauseOnHover,g?.autoplayTimeout,c?.width,j]),eb=i(e=>{let t=c&&c.params?.slidesPerView,r=t?c?.slidesPerViewDynamic():1;if(e<=1)return!1;let i="auto"===eh.slidesPerView?r:eh.slidesPerView;if(!Q||e<Number(i)||!C)return!1;let n=u(g?.sneakPeak,q,!1),a=n&&"center"===u(g?.sneakPeakType,q),l=Number.isNaN(Number(i))?1:Math.ceil(Number(i));a&&l%2==0&&(l+=1);let s=a?Math.max(1,Math.ceil(l/2)):1;return e<l+s},[c,eh.slidesPerView,Q,C,g?.sneakPeak,g?.sneakPeakType,q]);a(()=>{let e=`[data-id="${b?.uid}"]`;W({event:"gp:change-next-slide",selector:e,elementRef:A},e=>{let{data:t,isRollback:r,uniqueStorageKey:i}=e||{};ed({element:A.current,data:t,isRollback:r,key:i})}),W({event:"gp:change-previous-slide",selector:e,elementRef:A},e=>{let{data:t,isRollback:r,uniqueStorageKey:i}=e||{};ep({element:A.current,data:t,isRollback:r,key:i})}),W({event:"gp:change-image-step",selector:e,elementRef:A},e=>{let{data:t,isRollback:r,uniqueStorageKey:i}=e||{};ef({element:A.current,data:t,isRollback:r,key:i})}),W({event:"gp:change-index-slide",selector:e},t=>{let r=document.querySelector(e),{data:i,isRollback:n,uniqueStorageKey:a}=t||{};ef({element:r,data:i,isRollback:n,key:a})})},[]),a(()=>{F(k)},[k]);let ey=e=>{"next"===e?c?.slideNext():c?.slidePrev(),N&&(h&&clearTimeout(h),h=setTimeout(()=>N&&N(),500))};return a(()=>{if("number"==typeof y){if(D.current=y,c?.params?.loop){c?.slideToLoop(y);return}c?.slideTo(y)}},[c,y,w]),a(()=>{if(!c)return;let e=()=>{F(c.slides.length)},t=()=>{S&&S(c.realIndex)},r=()=>{R(c.realIndex),L(c?.translate===0),I(c?.translate<=c?.maxTranslate())};return c.on("transitionEnd",r),c.on("slideChange",e),c.on("slideChangeTransitionStart",t),()=>{c?.off("slideChange",e),c?.off("slideChangeTransitionStart",t),c?.off("transitionEnd",r)}},[eh.loop,c]),a(()=>{c?.wrapperEl&&(c.wrapperEl.style.transitionTimingFunction=g?.animationMode??"ease")},[c,g?.animationMode]),a(()=>{if(c&&c.autoplay){let e="edit"===U?!!$&&g?.runPreview&&g?.autoplay:g?.autoplay;e?c.autoplay.start():c.autoplay.stop()}},[c,g?.autoplay,U,$,g?.runPreview]),a(()=>{let e=e=>{if(b?.uid!==e?.detail.componentUid)return;let t=e?.detail.index||0;c?.slideToLoop(t)};return window.addEventListener("move-to-idx",e),()=>window.removeEventListener("move-to-idx",e)},[c,b?.uid]),a(()=>{if(!c)return;let e=c.el;e?.classList?.remove("swiper-horizontal","swiper-vertical");let t=u(g?.vertical,q)?"swiper-vertical":"swiper-horizontal";e?.classList?.add(t),c?.slides?.forEach(e=>{e.style.width="",e.style.height=""}),c?.update()},[q,g?.vertical,c,c?.params]),a(()=>{if(!c||!v)return;let e=()=>{let e=c?.slides?.slice(0,k)||[],t=Number(eh?.spaceBetween||0),r=e.reduce((e,t)=>e+t.offsetHeight,0)+t*(e.length-1),i=e.reduce((e,t)=>e+t.offsetWidth,0)+t*(e.length-1),n=c.params?.direction==="horizontal"?i>(c.width||0):r>(c.height||0);O(n)};return e(),c.on("resize",e),c.on("update",e),c.on("slidesLengthChange",e),c.on("orientationchange",e),()=>{c.off("resize",e),c.off("update",e),c.off("slidesLengthChange",e),c.off("orientationchange",e)}},[c]),{isInfinity:Q,sliderSettings:eh,totalSlideItem:j,currentSlide:H,localRef:A,isRenderDots:ec,showNavigation:ee,isScrollToStart:E,isScrollToEnd:M,handleDotClick:el,getItemsPerPage:ei,handleNextAndPrevSlide:ey,dispatchEventSelectSlide:es,getNumberOfFullWidthShow:er,setCurrentSlide:R,shouldDuplicateSlides:eb,setIsScrollToStart:L,setIsScrollToEnd:I,isHideNavigation:_}};export{useCarousel};
@@ -1 +1 @@
1
- import{useCurrentDevice as t,getResponsiveValueByScreen as e}from"@gem-sdk/core";let useDotsSetting=o=>{let{loop:r,enabledSneakPeak:s,slideItemsPerPage:i=1,currentSlide:g=1}=o,l=t(),m=e(r,l,!1),n=t=>s?t===g:t===(m?g:Math.ceil(g/i));return{isLoop:m,checkIsActive:n}};export{useDotsSetting};
1
+ import{useCurrentDevice as t,getResponsiveValueByScreen as e}from"@gem-sdk/core";let useDotsSetting=r=>{let{loop:o,enabledSneakPeak:s,slideItemsPerPage:i=1,currentSlide:l=1,totalSlideItem:n,slideDuplicated:u}=r,g=t(),m=e(o,g,!1),c=t=>{let e=u&&n,r=e?l-n/2:l;return s||m?t===l||t===r:t===Math.ceil(l/i)};return{isLoop:m,checkIsActive:c}};export{useDotsSetting};
@@ -1 +1 @@
1
- import"react/jsx-runtime";import"@gem-sdk/core";import"react";import"@gem-sdk/system";import"next/link";import"@gem-sdk/keen-slider/react";import e from"./settings/Carousel.js";import t from"./settings/CarouselItem.js";let carouselSetting={Carousel:e,CarouselItem:t};export{carouselSetting};
1
+ import"react/jsx-runtime";import"react";import"@gem-sdk/core";import"@gem-sdk/system";import"next/link";import t from"./settings/Carousel.js";import e from"./settings/CarouselItem.js";let carouselSetting={Carousel:t,CarouselItem:e};export{carouselSetting};
@@ -1 +1 @@
1
- let CAROUSEL_ANIMATION={EASE_IN:{value:"ease-in",formula:i=>i*i*i},EASE_OUT:{value:"ease-out",formula:i=>1-Math.pow(1-i,3)},EASE_IN_OUT:{value:"ease-in-out",formula:i=>i<.5?4*i*i*i:1-Math.pow(-2*i+2,3)/2},DEFAULT:{value:"default",formula:i=>1+--i*i*i*i*i}},DEFAULT_PLAY_SPEED=500,AnimationPlugin=i=>{let o;let a=i.options.animation??{};i.on("beforeOptionsChanged",n=>{clearTimeout(o),o=setTimeout(()=>{n.options.animation&&JSON.stringify(n.options.animation)!==JSON.stringify(a)&&(a=n.options.animation,i.update(n.options))},200)})};export{AnimationPlugin,CAROUSEL_ANIMATION,DEFAULT_PLAY_SPEED,AnimationPlugin as default};
1
+ let CAROUSEL_ANIMATION={EASE_IN:{value:"ease-in",formula:a=>a*a*a},EASE_OUT:{value:"ease-out",formula:a=>1-Math.pow(1-a,3)},EASE_IN_OUT:{value:"ease-in-out",formula:a=>a<.5?4*a*a*a:1-Math.pow(-2*a+2,3)/2},DEFAULT:{value:"default",formula:a=>1+--a*a*a*a*a}};export{CAROUSEL_ANIMATION};
@@ -1,4 +1,4 @@
1
- import{template as e,isLocalEnv as o,baseAssetURL as r,WrapRenderChildren as s,RenderChildren as t}from"@gem-sdk/core";import{getConditionRenderGalleryImages as i,getStyleInsideLayout as a,setDefaultWhenUndefineSetting as p}from"./common/common.js";import l from"./components/feature-gallery/FeatureImageWithGallery.liquid.js";import d from"./components/gallery-carousel/GalleryCarousel.liquid.js";import m from"./components/gallery-grid/GalleryGrid.liquid.js";import{getSettingPreloadData as c}from"../../../helpers.js";import{getShapeByLayout as u,sizeSettingDefaultForNewLayout as n}from"./common/productGallery.js";import{getProductImagesClassName as g}from"./composables/getProductImagesClassName.js";import{getProductImagesStyles as f}from"./composables/getProductImagesStyles.js";import{createAttr as $,LiquidIf as y,createClass as h,If as S,Liquid as j}from"@gem-sdk/system";import{getBorderActiveCss as v}from"./common/getBorderActiveCss.js";import{getStyleOfObject as F}from"../../helpers/function.js";let ProductImages=I=>{let P=p(I),{setting:C,styles:G,builderProps:D,style:b}=P,{rawChildren:z,pageContext:O}=I,{enableLazyLoadImage:_}=O??{},N={...C,...G},A=`
1
+ import{template as e,isLocalEnv as o,baseAssetURL as r,WrapRenderChildren as s,RenderChildren as t}from"@gem-sdk/core";import{getConditionRenderGalleryImages as i,getStyleInsideLayout as a,setDefaultWhenUndefineSetting as p}from"./common/common.js";import l from"./components/feature-gallery/FeatureImageWithGallery.liquid.js";import d from"./components/gallery-carousel/GalleryCarousel.liquid.js";import m from"./components/gallery-grid/GalleryGrid.liquid.js";import{getSettingPreloadData as c}from"../../../helpers.js";import{getShapeByLayout as u,sizeSettingDefaultForNewLayout as n}from"./common/productGallery.js";import{getProductImagesClassName as g}from"./composables/getProductImagesClassName.js";import{getProductImagesStyles as f}from"./composables/getProductImagesStyles.js";import{createAttr as $,LiquidIf as y,createClass as h,If as v,Liquid as S}from"@gem-sdk/system";import{getBorderActiveCss as j}from"./common/getBorderActiveCss.js";import{getStyleOfObject as F}from"../../helpers/function.js";let ProductImages=I=>{let P=p(I),{setting:C,styles:G,builderProps:D,style:b}=P,{rawChildren:z,pageContext:O}=I,{enableLazyLoadImage:_}=O??{},N={...C,...G},A=`
2
2
  {
3
3
  "id":${JSON.stringify(D?.uid)},
4
4
  "pageContext": ${JSON.stringify(O)},
@@ -18,15 +18,15 @@ import{template as e,isLocalEnv as o,baseAssetURL as r,WrapRenderChildren as s,R
18
18
  ${{...q}}
19
19
  >
20
20
  ${y("product.media.size > 1",d({builderPropUID:`gp-gallery-${D?.uid}`,...N,enableLazyLoadImage:_}))}
21
- ${S(k,m({builderPropUID:D?.uid,wrapperStyle:{...V},children:W(),...N,enableLazyLoadImage:_}))}
21
+ ${v(k,m({builderPropUID:D?.uid,wrapperStyle:{...V},children:W(),...N,enableLazyLoadImage:_}))}
22
22
  </div>
23
23
  `,K=()=>C?.borderActive?.border!=="none";return e`
24
- ${S(K(),y("product.media.size > 1",`<style>${v({settings:N,uid:D?.uid,type:"Liquid"})}</style>`),"")}
25
- ${j(`
24
+ ${v(K(),y("product.media.size > 1",`<style>${j({settings:N,uid:D?.uid,type:"Liquid"})}</style>`),"")}
25
+ ${S(`
26
26
  {% assign featured_image = product.featured_image %}
27
27
  ${y("variant != null and variant.featured_image != null","{% assign featured_image = variant.featured_image %}")}
28
28
  `)}
29
- <gp-product-images
29
+ <gp-product-images-v3
30
30
  gp-data='${A}'
31
31
  ${{...B}}
32
32
  style="${{...b}}"
@@ -37,8 +37,8 @@ import{template as e,isLocalEnv as o,baseAssetURL as r,WrapRenderChildren as s,R
37
37
  style="${y("product.media.size > 1",F(x),F(L))}"
38
38
  >
39
39
  ${l({builderPropUID:`gp-carousel-${D?.uid}`,...N,children:W(),enableLazyLoadImage:_})}
40
- ${S(!U,H())}
40
+ ${v(!U,H())}
41
41
  </div>
42
- </gp-product-images>
43
- ${S(o,`<script ${c('class="gps-link" delay',"src")}="{{ 'gp-product-images-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${c('class="gps-link" delay',"src")}="${r}/assets-v2/gp-product-images-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
42
+ </gp-product-images-v3>
43
+ ${v(o,`<script ${c('class="gps-link" delay',"src")}="{{ 'gp-product-images-v3-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${c('class="gps-link" delay',"src")}="${r}/assets-v2/gp-product-images-v3-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
44
44
  `};export{ProductImages as default};
@@ -1 +1 @@
1
- import{getResponsiveValueByScreen as o}from"@gem-sdk/core";import{getShapeByLayout as t,getSliderPerShowConfig as r,getDotStyleConfig as e,getCarouselVerticalConfigByPosition as a,getAllowDotConfig as i}from"./productGallery.js";import{getDotStyleForOnlyFeaturedImage as n}from"./productFeaturedImage.js";let DEVICES=["desktop","mobile","tablet"],getGalleryCarouselSettingAttr=i=>{let n=t({shape:i.shape,shapeForBottom:i.shapeForBottom,shapeFor1Col:i.shapeFor1Col,shapeFor2Col:i.shapeFor2Col,shapeForFtOnly:i.shapeForFtOnly,shapeForInsideBottom:i.shapeForInsideBottom,shapeForInside:i.shapeForInside},i.position),d=r(n,i.position),l={desktop:"inside"===o(i.navigationPosition,"desktop"),tablet:"inside"===o(i.navigationPosition,"tablet"),mobile:"inside"===o(i.navigationPosition,"mobile")},s=DEVICES.reduce((o,t)=>(i.navigationPosition?.[t]&&(o[t]="none"!==i.navigationPosition[t]),o),{});return{...i?.loop&&{loop:i.loop},itemNumber:d,dot:{desktop:!1,tablet:!1,mobile:!1},dotStyle:e(),controlOverContent:l,...i?.dragToScroll&&{enableDrag:{desktop:i.dragToScroll,tablet:i.dragToScroll,mobile:i.dragToScroll}},vertical:a(i.position),...i?.arrowIcon&&{arrowCustom:i.arrowIcon},arrowIconSize:i.arrowIconSize||{desktop:24},...i?.arrowIconColor&&{arrowCustomColor:i.arrowIconColor},...i?.arrowNavColor&&{arrowBackgroundColor:i.arrowNavColor},...i?.arrowNavBorder&&{arrowBorder:{desktop:i.arrowNavBorder}},...i?.arrowNavRadius&&{roundedArrow:{desktop:i.arrowNavRadius}},...i?.arrowNavShadow&&{arrowShadow:{desktop:i.arrowNavShadow}},sneakPeakType:{desktop:"center"},arrowGapToEachSide:"16",navigationStyle:i.navigationPosition,navigationEnable:s,arrowButtonSize:{desktop:{width:void 0,height:void 0}},animationMode:i?.ftAnimationMode,enableAction:{desktop:!0}}},getFeaturedCarouselSettingAttr=t=>{let r={desktop:"inside"===o(t.ftNavigationPosition,"desktop"),tablet:"inside"===o(t.ftNavigationPosition,"tablet"),mobile:"inside"===o(t.ftNavigationPosition,"mobile")},e=DEVICES.reduce((o,r)=>(t.ftNavigationPosition?.[r]&&(o[r]="none"!==t.ftNavigationPosition[r]),o),{});return{...t?.ftLoop&&{loop:t.ftLoop},itemNumber:{desktop:1},dot:i(),dotStyle:n({position:t.position,dotStyle:t.ftDotStyle}),dotSize:t.ftDotSize??{desktop:12},dotGapToCarousel:t.ftDotGapToCarousel??{desktop:16},dotColor:t.ftDotColor??{desktop:"bg-1"},dotActiveColor:t.ftDotActiveColor??{desktop:"line-3"},controlOverContent:r,...t?.ftDragToScroll&&{enableDrag:{desktop:t.ftDragToScroll,tablet:t.ftDragToScroll,mobile:t.ftDragToScroll}},...t?.ftArrowIcon&&{arrowCustom:t.ftArrowIcon},arrowIconSize:t.ftArrowIconSize||{desktop:24},...t?.ftArrowIconColor&&{arrowCustomColor:t.ftArrowIconColor},...t?.ftArrowNavColor&&{arrowBackgroundColor:t.ftArrowNavColor},...t?.ftArrowNavBorder&&{arrowBorder:{desktop:t.ftArrowNavBorder}},...t?.ftArrowNavRadius&&{roundedArrow:{desktop:t.ftArrowNavRadius}},...t?.ftArrowNavShadow&&{arrowShadow:{desktop:t.ftArrowNavShadow}},sneakPeakType:{desktop:"center"},arrowGapToEachSide:"16",animationMode:t?.ftAnimationMode,...t?.ftNavigationPosition&&{navigationStyle:t.ftNavigationPosition},navigationEnable:e,arrowButtonSize:{desktop:{width:void 0,height:void 0}},enableAction:{desktop:!0}}};export{getFeaturedCarouselSettingAttr,getGalleryCarouselSettingAttr};
1
+ import{getResponsiveValueByScreen as o}from"@gem-sdk/core";import{getDotStyleConfig as t,getCarouselVerticalConfigByPosition as r,getAllowDotConfig as a}from"./productGallery.js";import{getDotStyleForOnlyFeaturedImage as e}from"./productFeaturedImage.js";let DEVICES=["desktop","mobile","tablet"],getGalleryCarouselSettingAttr=a=>{let e={desktop:"inside"===o(a.navigationPosition,"desktop"),tablet:"inside"===o(a.navigationPosition,"tablet"),mobile:"inside"===o(a.navigationPosition,"mobile")},i=DEVICES.reduce((o,t)=>(a.navigationPosition?.[t]&&(o[t]="none"!==a.navigationPosition[t]),o),{});return{...a?.loop&&{loop:a.loop},itemNumber:{desktop:"auto",tablet:"auto",mobile:"auto"},dot:{desktop:!1,tablet:!1,mobile:!1},dotStyle:t(),controlOverContent:e,...a?.dragToScroll&&{enableDrag:{desktop:a.dragToScroll,tablet:a.dragToScroll,mobile:a.dragToScroll}},vertical:r(a.position),...a?.arrowIcon&&{arrowCustom:a.arrowIcon},arrowIconSize:a.arrowIconSize||{desktop:24},...a?.arrowIconColor&&{arrowCustomColor:a.arrowIconColor},...a?.arrowNavColor&&{arrowBackgroundColor:a.arrowNavColor},...a?.arrowNavBorder&&{arrowBorder:{desktop:a.arrowNavBorder}},...a?.arrowNavRadius&&{roundedArrow:{desktop:a.arrowNavRadius}},...a?.arrowNavShadow&&{arrowShadow:{desktop:a.arrowNavShadow}},arrowGapToEachSide:"16",navigationStyle:a.navigationPosition,navigationEnable:i,arrowButtonSize:{desktop:{width:void 0,height:void 0}},animationMode:a?.ftAnimationMode,enableAction:{desktop:!0}}},getFeaturedCarouselSettingAttr=t=>{let r={desktop:"inside"===o(t.ftNavigationPosition,"desktop"),tablet:"inside"===o(t.ftNavigationPosition,"tablet"),mobile:"inside"===o(t.ftNavigationPosition,"mobile")},i=DEVICES.reduce((o,r)=>(t.ftNavigationPosition?.[r]&&(o[r]="none"!==t.ftNavigationPosition[r]),o),{});return{...t?.ftLoop&&{loop:t.ftLoop},itemNumber:{desktop:1},dot:a(),dotStyle:e({position:t.position,dotStyle:t.ftDotStyle}),dotSize:t.ftDotSize??{desktop:12},dotGapToCarousel:t.ftDotGapToCarousel??{desktop:16},dotColor:t.ftDotColor??{desktop:"bg-1"},dotActiveColor:t.ftDotActiveColor??{desktop:"line-3"},controlOverContent:r,...t?.ftDragToScroll&&{enableDrag:{desktop:t.ftDragToScroll,tablet:t.ftDragToScroll,mobile:t.ftDragToScroll}},...t?.ftArrowIcon&&{arrowCustom:t.ftArrowIcon},arrowIconSize:t.ftArrowIconSize||{desktop:24},...t?.ftArrowIconColor&&{arrowCustomColor:t.ftArrowIconColor},...t?.ftArrowNavColor&&{arrowBackgroundColor:t.ftArrowNavColor},...t?.ftArrowNavBorder&&{arrowBorder:{desktop:t.ftArrowNavBorder}},...t?.ftArrowNavRadius&&{roundedArrow:{desktop:t.ftArrowNavRadius}},...t?.ftArrowNavShadow&&{arrowShadow:{desktop:t.ftArrowNavShadow}},sneakPeakType:{desktop:"center"},arrowGapToEachSide:"16",animationMode:t?.ftAnimationMode,...t?.ftNavigationPosition&&{navigationStyle:t.ftNavigationPosition},navigationEnable:i,arrowButtonSize:{desktop:{width:void 0,height:void 0}},enableAction:{desktop:!0}}};export{getFeaturedCarouselSettingAttr,getGalleryCarouselSettingAttr};
@@ -1 +1 @@
1
- import{DEVICES as e,getResponsiveValueByScreen as l}from"@gem-sdk/core";function composeClasses(e){return e.split(" ").reduce((e,l)=>(e[l]=!0,e),{})}let getWrapperClasses=({extraClass:e,isAddOverFlowClass:l=!1})=>{let s="gp-relative gp-w-full";return e&&(s+=` ${e}`),l&&(s+=" gp-overflow-hidden"),composeClasses(s)},getGalleryWrapperClasses=({extraClass:e})=>{let l="gallery-wrapper gp-product-images-gallery gp-flex gp-overflow-hidden gp-max-w-full gp-max-h-full data-[only-image=true]:gp-hidden";return e&&(l+=` ${e}`),composeClasses(l)},getGalleryGridWrapperClasses=({extraClass:e})=>{let l="product-feature-image grid-gallery gp-flex !gp-h-fit gp-w-full gp-flex-wrap scrollbar-track:gp-rounded-2xl scrollbar-thumb:gp-rounded-2xl scrollbar-thumb:gp-bg-gray-400";return e&&(l+=` ${e}`),composeClasses(l)},getFtImageWithGalleryClasses=({extraClass:e})=>{let l="gp-flex !gp-h-fit gp-relative gp-overflow-hidden";return e&&(l+=` ${e}`),composeClasses(l)},getImageGalleryWrapperClasses=({extraClass:e})=>{let l="gp-flex gp-h-fit gp-max-w-full gp-overflow-hidden";return e&&(l+=` ${e}`),composeClasses(l)},getFeaturedImageCarouselClasses=({extraClass:e})=>{let l="`gp-flex-1 gp-w-full gp-feature-image-carousel";return e&&(l+=` ${e}`),composeClasses(l)},getFeaturedImageClasses=({setting:s,extraClass:r})=>{let a=r??"";return e.forEach(e=>{let r=l(s?.ftNavigationPosition,e),t="desktop"!==e?`${e}:`:"";"outside"===r?a+=` ${t}gp-px-[16px]`:a+=` ${t}gp-px-0`}),composeClasses(a)},getFeaturedImageGalleryClasses=({settings:s,extraClass:r})=>{let a=r??"gp-flex-1 gp-w-full carousel-gallery";return e.forEach(e=>{let r=l(s?.navigationPosition,e),t=l(s?.type,e),g=l(s?.position,e),p="desktop"!==e?`${e}:`:"";"outside"===r&&"slider"===t&&["bottom-center"].includes(g||"")?a+=` ${p}gp-px-[16px]`:a+=` ${p}gp-px-0`}),composeClasses(a)},getGalleryItemClasses=({extraClass:e})=>{let l="gp-image-item gp-flex gp-items-center gp-justify-center gp-group gp-relative gp-overflow-hidden gp-cursor-pointer data-[outline=deactive]:after:!gp-border-transparent";return e&&(l+=` ${e}`),composeClasses(l)},getFeaturedCarouselItemClasses=({extraClass:e})=>{let l="gp-group gp-z-0 gp-flex !gp-min-w-full !gp-max-w-full gp-w-full gp-relative gp-items-start gp-justify-center gp-overflow-hidden gp-outline-1 -gp-outline-offset-1 gp-image-item gp-ft-image-item data-[outline=active]:gp-outline";return e&&(l+=` ${e}`),composeClasses(l)};export{getFeaturedCarouselItemClasses,getFeaturedImageCarouselClasses,getFeaturedImageClasses,getFeaturedImageGalleryClasses,getFtImageWithGalleryClasses,getGalleryGridWrapperClasses,getGalleryItemClasses,getGalleryWrapperClasses,getImageGalleryWrapperClasses,getWrapperClasses};
1
+ import{DEVICES as e,getResponsiveValueByScreen as l}from"@gem-sdk/core";function composeClasses(e){return e.split(" ").reduce((e,l)=>(e[l]=!0,e),{})}let getWrapperClasses=({extraClass:e,isAddOverFlowClass:l=!1})=>{let s="gp-relative gp-w-full";return e&&(s+=` ${e}`),l&&(s+=" gp-overflow-hidden"),composeClasses(s)},getGalleryWrapperClasses=({extraClass:e})=>{let l="gallery-wrapper gp-product-images-gallery gp-flex gp-overflow-hidden gp-max-w-full gp-max-h-full data-[only-image=true]:gp-hidden";return e&&(l+=` ${e}`),composeClasses(l)},getGalleryGridWrapperClasses=({extraClass:e})=>{let l="product-feature-image grid-gallery gp-flex !gp-h-fit gp-w-full gp-flex-wrap scrollbar-track:gp-rounded-2xl scrollbar-thumb:gp-rounded-2xl scrollbar-thumb:gp-bg-gray-400 gp-z-1";return e&&(l+=` ${e}`),composeClasses(l)},getFtImageWithGalleryClasses=({extraClass:e})=>{let l="gp-flex !gp-h-fit gp-relative gp-overflow-hidden";return e&&(l+=` ${e}`),composeClasses(l)},getImageGalleryWrapperClasses=({extraClass:e})=>{let l="gp-flex gp-h-fit gp-max-w-full gp-overflow-hidden";return e&&(l+=` ${e}`),composeClasses(l)},getFeaturedImageCarouselClasses=({extraClass:e})=>{let l="`gp-flex-1 gp-w-full gp-feature-image-carousel";return e&&(l+=` ${e}`),composeClasses(l)},getFeaturedImageClasses=({setting:s,extraClass:r})=>{let a=r??"";return e.forEach(e=>{let r=l(s?.ftNavigationPosition,e),t="desktop"!==e?`${e}:`:"";"outside"===r?a+=` ${t}gp-px-[16px]`:a+=` ${t}gp-px-0`}),composeClasses(a)},getFeaturedImageGalleryClasses=({settings:s,extraClass:r})=>{let a=r??"gp-flex-1 gp-w-full carousel-gallery";return e.forEach(e=>{let r=l(s?.navigationPosition,e),t=l(s?.type,e),g=l(s?.position,e),p="desktop"!==e?`${e}:`:"";"outside"===r&&"slider"===t&&["bottom-center"].includes(g||"")?a+=` ${p}gp-px-[16px]`:a+=` ${p}gp-px-0`}),composeClasses(a)},getGalleryItemClasses=({extraClass:e})=>{let l="gp-image-item gp-flex gp-items-center gp-justify-center gp-group gp-relative gp-overflow-hidden gp-cursor-pointer";return e&&(l+=` ${e}`),composeClasses(l)},getFeaturedCarouselItemClasses=({extraClass:e})=>{let l="gp-group gp-z-0 gp-flex !gp-min-w-full !gp-max-w-full gp-w-full gp-relative gp-items-start gp-justify-center gp-overflow-hidden gp-outline-1 -gp-outline-offset-1 gp-image-item gp-ft-image-item data-[outline=active]:gp-outline";return e&&(l+=` ${e}`),composeClasses(l)};export{getFeaturedCarouselItemClasses,getFeaturedImageCarouselClasses,getFeaturedImageClasses,getFeaturedImageGalleryClasses,getFtImageWithGalleryClasses,getGalleryGridWrapperClasses,getGalleryItemClasses,getGalleryWrapperClasses,getImageGalleryWrapperClasses,getWrapperClasses};
@@ -1,5 +1,5 @@
1
- import{composeBorderCss as e,composeCornerCss as t}from"@gem-sdk/core";let getBorderActiveCss=({settings:i,uid:r,type:g})=>{let l="Liquid"===g?`.gem-slider-item-${r}-{{product.id}}.gp-gallery-image-item::after, .gem-slider-item-gp-gallery-${r}-{{product.id}}.gp-gallery-image-item::after`:`.gem-slider-item-active.gem-slider-item-${r}.gp-gallery-image-item::after`;return`
2
- ${l} {
1
+ import{composeBorderCss as e,composeCornerCss as t}from"@gem-sdk/core";let getBorderActiveCss=({settings:i,uid:r,type:a})=>{let g="Liquid"===a?`.gem-slider-item-${r}-{{product.id}}.gp-gallery-image-item::after, .gem-slider-item-gp-gallery-${r}-{{product.id}}.gp-gallery-image-item.gem-slider-item-active::after`:`.gem-slider-item-active.gem-slider-item-${r}.gp-gallery-image-item::after`;return`
2
+ ${g} {
3
3
  content: "";
4
4
  height: 100%;
5
5
  width: 100%;
@@ -13,4 +13,8 @@ import{composeBorderCss as e,composeCornerCss as t}from"@gem-sdk/core";let getBo
13
13
  .gem-slider-item-${r}-{{product.id}}.gp-gallery-image-item[data-outline=active]:after, .gem-slider-item-gp-gallery-${r}-{{product.id}}.gp-gallery-image-item[data-outline=active]:after {
14
14
  pointer-events: none;
15
15
  }
16
+ .gem-slider-item-${r}-{{product.id}}.gp-gallery-image-item[data-outline=none]:after{
17
+ pointer-events: none;
18
+ border-color: transparent !important;
19
+ }
16
20
  `};export{getBorderActiveCss};
@@ -1 +1 @@
1
- import{getResponsiveValueByScreen as e,DEVICES as o}from"@gem-sdk/core";let isFeatureMedia=e=>!!e&&["EXTERNAL_VIDEO","MODEL_3D","VIDEO"].includes(e),getZoomLenClass=()=>"!gp-flex gp-absolute gp-opacity-0 gp-h-[150px] gp-w-[150px] gp-cursor-none gp-rounded-full gp-bg-no-repeat gp-shadow-glasses gp-bg-white gp-pointer-events-none",getZoomImageClass=()=>"gp-absolute gp-left-0 gp-top-0 gp-opacity-0 gp-transition-opacity gp-bg-white gp-pointer-events-none",getDotStyleForOnlyFeaturedImage=t=>{let a={};return o.forEach(o=>{let r=e(t.position,o),g=e(t.dotStyle,o);a={...a,[o]:"only-feature"===r?g:"none"}}),a},checkRenderFeaturedCarousel=e=>{let o=["desktop","mobile","tablet"],t=!1;return o.forEach(o=>{let a=checkShowCarousel(e,o);checkShowCarousel(e,o)&&(t=a)}),t},checkShowCarousel=(o,t)=>"only-feature"!==e(o.position,t)||"none"!==e(o.ftNavigationPosition,t)||"none"!==e(o.ftDotStyle,t)||!0===e(o.ftLoop,t)||!0===o.ftDragToScroll;export{checkRenderFeaturedCarousel,getDotStyleForOnlyFeaturedImage,getZoomImageClass,getZoomLenClass,isFeatureMedia};
1
+ import{getResponsiveValueByScreen as e,DEVICES as t,makeStyleResponsive as o}from"@gem-sdk/core";let isFeatureMedia=e=>!!e&&["EXTERNAL_VIDEO","MODEL_3D","VIDEO"].includes(e),getZoomLenClass=()=>"!gp-flex gp-absolute gp-opacity-0 gp-h-[150px] gp-w-[150px] gp-cursor-none gp-rounded-full gp-bg-no-repeat gp-shadow-glasses gp-bg-white gp-pointer-events-none",getZoomImageClass=()=>"gp-absolute gp-left-0 gp-top-0 gp-opacity-0 gp-transition-opacity gp-bg-white gp-pointer-events-none",getDotStyleForOnlyFeaturedImage=o=>{let r={};return t.forEach(t=>{let a=e(o.position,t),g=e(o.dotStyle,t);r={...r,[t]:"only-feature"===a?g:"none"}}),r},getVideoHeight=e=>{if(!e)return null;let t={};return Object.keys(e).forEach(o=>{let r=e[o];r&&(t[o]="cover"===r?"100%":"auto")}),o("h",t)},checkRenderFeaturedCarousel=e=>{let t=["desktop","mobile","tablet"],o=!1;return t.forEach(t=>{let r=checkShowCarousel(e,t);checkShowCarousel(e,t)&&(o=r)}),o},checkShowCarousel=(t,o)=>"only-feature"!==e(t.position,o)||"none"!==e(t.ftNavigationPosition,o)||"none"!==e(t.ftDotStyle,o)||!0===e(t.ftLoop,o)||!0===t.ftDragToScroll;export{checkRenderFeaturedCarousel,getDotStyleForOnlyFeaturedImage,getVideoHeight,getZoomImageClass,getZoomLenClass,isFeatureMedia};
@@ -1 +1 @@
1
- import{getResponsiveValueByScreen as e,cls as t}from"@gem-sdk/core";import{getDisplayStyle as o}from"./common.js";import{convertUnitToNumber as i}from"../../product-images/common/productFeaturedImage.js";let getZoomDisplay=t=>o(o=>!e(t,o),"flex"),HORIZONTAL_LAYOUT=["right","left","inside-left","inside-right"],sizeSettingDefaultForNewLayout={desktop:{shape:"square",shapeValue:"1/1",width:"20%",height:void 0,shapeLinked:!0}},getCarouselVerticalConfigByPosition=t=>{let o=["desktop","mobile","tablet"],i={};return o.forEach(o=>{let a=e(t,o),l=HORIZONTAL_LAYOUT.includes(a);i=l?{...i,[o]:!0}:{...i,[o]:!1}}),i},getMinHeightByPosition=(o,i)=>{let a=["desktop","mobile","tablet"],l=getCarouselVerticalConfigByPosition(o),r={};return a.forEach(t=>{let o=e(i,t),a="desktop"===t?"":`${t}:`;r[`${a}!gp-min-h-0`]=!!l[t]&&"outside"===o,r[`${a}!gp-min-h-full`]=!(l[t]&&"outside"===o)}),t({...r})},getEditorMinHeightClass=(t,o,i)=>{let a=getCarouselVerticalConfigByPosition(o),l=e(i,t);return a[t]&&"outside"===l?"!gp-min-h-0":"!gp-min-h-full"},getAllowDotConfig=()=>({desktop:!0,tablet:!0,mobile:!0}),getDotStyleConfig=()=>({desktop:"none",tablet:"none",mobile:"none"}),getSettingWidthForGridItem=t=>{let o={},i=["desktop","mobile","tablet"];return i.forEach(i=>{let a=e(t.shapeByLayout,i)?.width,l=e(t.itemSpacing,i),r=0;a?.includes("%")&&(r=100/parseInt(a)),o={...o,[i]:r?`calc(${a} - ${l} * ${r-1} / ${r})`:a}}),o},getSettingWidthForCarouselItem=t=>{let o={},i=["desktop","mobile","tablet"];return i.forEach(i=>{let a=e(t.position,i),l="bottom-center"===a,r=e(t.shapeByLayout,i)?.width;o={...o,[i]:l&&r?.includes("px")?r:"100%"}}),o},getSettingMinWidthForCarouselItem=t=>{let o={},a=["desktop","mobile","tablet"];return a.forEach(a=>{let l=e(t.position,a),r=i(e(t.spacing,a),5),s="bottom-center"===l||"inside-bottom"===l,n=e(t.shapeByLayout,a)?.width,g="100%";if(s){let e=100/i(n,20);g=n?.includes("px")?n:n?.includes("%")?`calc(${n} - ${(e-1)*r/e}px)`:"100%"}o={...o,[a]:g}}),o},checkDisplayGalleryByWidth=t=>{let o={desktop:!0,tablet:!0,mobile:!0},i=["desktop","mobile","tablet"];return i.forEach(i=>{let a=e(t.shapeByLayout,i)?.width??"100%",l=0!==parseInt(a);o={...o,[i]:l}}),o},getSliderPerShowConfig=(t,o)=>{let i={desktop:"auto",tablet:"auto",mobile:"auto"},a=["desktop","mobile","tablet"];return a.forEach(a=>{let l=e(o,a),r="bottom-center"===l||"inside-bottom"===l,s=e(t,a)?.width,n="auto";s?.includes("%")&&(n=100>parseInt(s)?100/parseInt(s):"auto"),i={...i,[a]:r?n:"auto"}}),i},getShapeByLayout=(t,o)=>{let i={},a=["desktop","mobile","tablet"];return a.forEach(a=>{let l=e(o,a);switch(l){case"bottom-center":case"bottom-left":i={...i,[a]:e(t.shapeForBottom,a)};break;case"inside-bottom":i={...i,[a]:e(t.shapeForInsideBottom??sizeSettingDefaultForNewLayout,a)};break;case"left":case"right":i={...i,[a]:e(t.shape,a)};break;case"inside-left":case"inside-right":i={...i,[a]:e(t.shapeForInside??sizeSettingDefaultForNewLayout,a)};break;case"only-feature":i={...i,[a]:e(t.shapeForFtOnly,a)};break;case"one-col":i={...i,[a]:e(t.shapeFor1Col,a)};break;case"two-col":i={...i,[a]:e(t.shapeFor2Col,a)}}}),i};export{HORIZONTAL_LAYOUT,checkDisplayGalleryByWidth,getAllowDotConfig,getCarouselVerticalConfigByPosition,getDotStyleConfig,getEditorMinHeightClass,getMinHeightByPosition,getSettingMinWidthForCarouselItem,getSettingWidthForCarouselItem,getSettingWidthForGridItem,getShapeByLayout,getSliderPerShowConfig,getZoomDisplay,sizeSettingDefaultForNewLayout};
1
+ import{getResponsiveValueByScreen as e,cls as t}from"@gem-sdk/core";import{getDisplayStyle as o}from"./common.js";import{convertUnitToNumber as i}from"../../product-images/common/productFeaturedImage.js";let getZoomDisplay=t=>o(o=>!e(t,o),"flex"),HORIZONTAL_LAYOUT=["right","left","inside-left","inside-right"],sizeSettingDefaultForNewLayout={desktop:{shape:"square",shapeValue:"1/1",width:"20%",height:void 0,shapeLinked:!0}},getCarouselVerticalConfigByPosition=t=>{let o=["desktop","mobile","tablet"],i={};return o.forEach(o=>{let a=e(t,o),l=HORIZONTAL_LAYOUT.includes(a);i=l?{...i,[o]:!0}:{...i,[o]:!1}}),i},getMinHeightByPosition=(o,i)=>{let a=["desktop","mobile","tablet"],l=getCarouselVerticalConfigByPosition(o),s={};return a.forEach(t=>{let o=e(i,t),a="desktop"===t?"":`${t}:`;s[`${a}!gp-min-h-0`]=!!l[t]&&"outside"===o,s[`${a}!gp-min-h-full`]=!(l[t]&&"outside"===o)}),t({...s})},getEditorMinHeightClass=(t,o,i)=>{let a=getCarouselVerticalConfigByPosition(o),l=e(i,t);return a[t]&&"outside"===l?"!gp-min-h-0":"!gp-min-h-full"},getAllowDotConfig=()=>({desktop:!0,tablet:!0,mobile:!0}),getDotStyleConfig=()=>({desktop:"none",tablet:"none",mobile:"none"}),getSettingWidthForGridItem=t=>{let o={},i=["desktop","mobile","tablet"];return i.forEach(i=>{let a=e(t.shapeByLayout,i)?.width,l=e(t.itemSpacing,i),s=0;a?.includes("%")&&(s=100/parseInt(a)),o={...o,[i]:s?`calc(${a} - ${l} * ${s-1} / ${s})`:a}}),o},getSettingWidthForCarouselItem=t=>{let o={},i=["desktop","mobile","tablet"];return i.forEach(i=>{let a=e(t.position,i),l="bottom-center"===a,s=e(t.shapeByLayout,i)?.width;o={...o,[i]:l&&s?.includes("px")?s:"100%"}}),o},getSettingMinWidthForCarouselItem=t=>{let o={},a=["desktop","mobile","tablet"];return a.forEach(a=>{let l=e(t.position,a),s=i(e(t.spacing,a),5),r="bottom-center"===l||"inside-bottom"===l,n=e(t.shapeByLayout,a)?.width,g="100%";if(r){let e=100/i(n,20);g=n?.includes("px")?n:n?.includes("%")?`calc(${n} - ${(e-1)*s/e}px)`:"100%"}o={...o,[a]:g}}),o},checkDisplayGalleryByWidth=t=>{let o={desktop:!0,tablet:!0,mobile:!0},i=["desktop","mobile","tablet"];return i.forEach(i=>{let a=e(t.shapeByLayout,i)?.width??"100%",l=0!==parseInt(a);o={...o,[i]:l}}),o},getShapeByLayout=(t,o)=>{let i={},a=["desktop","mobile","tablet"];return a.forEach(a=>{let l=e(o,a);switch(l){case"bottom-center":case"bottom-left":i={...i,[a]:e(t.shapeForBottom,a)};break;case"inside-bottom":i={...i,[a]:e(t.shapeForInsideBottom??sizeSettingDefaultForNewLayout,a)};break;case"left":case"right":i={...i,[a]:e(t.shape,a)};break;case"inside-left":case"inside-right":i={...i,[a]:e(t.shapeForInside??sizeSettingDefaultForNewLayout,a)};break;case"only-feature":i={...i,[a]:e(t.shapeForFtOnly,a)};break;case"one-col":i={...i,[a]:e(t.shapeFor1Col,a)};break;case"two-col":i={...i,[a]:e(t.shapeFor2Col,a)}}}),i};export{HORIZONTAL_LAYOUT,checkDisplayGalleryByWidth,getAllowDotConfig,getCarouselVerticalConfigByPosition,getDotStyleConfig,getEditorMinHeightClass,getMinHeightByPosition,getSettingMinWidthForCarouselItem,getSettingWidthForCarouselItem,getSettingWidthForGridItem,getShapeByLayout,getZoomDisplay,sizeSettingDefaultForNewLayout};
@@ -1 +1 @@
1
- import{makeStyleResponsive as e,makeHeight as t,getHeightByShapeGlobalSize as o,makeWidth as r,composeRadius as i,getResponsiveValueByScreen as a,makeStyleWithDefault as l,getWidthByShapeGlobalSize as s}from"@gem-sdk/core";import{getStyleGridLayout as n,getStyleGridOrderForFeature as p,getStyleGridOrderForGallery as h,getStyleInsideLayout as m,convertSpacing as g,getDisplayStyle as F,convertSpacingForIndisdeLayout as d}from"./common.js";import{getShapeByLayout as y,sizeSettingDefaultForNewLayout as u,getSettingWidthForGridItem as S,getSettingMinWidthForCarouselItem as c,getSettingWidthForCarouselItem as I,checkDisplayGalleryByWidth as b}from"./productGallery.js";let DEVICES=["desktop","mobile","tablet"];function filterTruthyStyles(e){return Object.fromEntries(Object.entries(e||{}).filter(([,e])=>!!e))}let getWrapContainerStyle=(t,o)=>{let r=n({position:t.position,ratioLayout:t.ratioLayout,ratioLayoutRight:t.ratioLayoutRight,isHiddenGalleryImages:!!o}),i={"--gtc":"minmax(0, 12fr)"},a={...o?i:r,...e("gg",t?.spacing)};return filterTruthyStyles(a)},getFeatureImageStyle=(t,{enableOrder:o,enableDisplay:r})=>{let i=()=>F(e=>!["bottom-center","left","right","only-feature","inside-bottom","inside-left","inside-right"].includes(a(t?.position,e)||""),"flex"),l=p({position:t?.position}),s={...e("jc",t?.align),...o&&{...l},...r&&{...i()}};return filterTruthyStyles(s)},getGalleryImageStyle=(o,r)=>{let i=h({position:o.position}),l=()=>{let e={},t=r??0;return DEVICES.forEach(r=>{let i=a(o?.position,r),l=["left","right"].includes(i),s=a(o?.spacing,r),n=["inside-left","inside-right"].includes(i),p=d(s),h=`calc(${t}px - ${p})`;e={...e,[r]:l?t+"px":n?h:"auto"}}),e},s=y({shape:o.shape,shapeForBottom:o.shapeForBottom,shapeFor1Col:o.shapeFor1Col,shapeFor2Col:o.shapeFor2Col,shapeForFtOnly:o.shapeForFtOnly,shapeForInsideBottom:o.shapeForInsideBottom??u,shapeForInside:o.shapeForInside??u},o.position),n=m(o.position,s,o?.spacing),p={...e("h",t(l())),...e("jc",o?.align),...i,...n};return filterTruthyStyles(p)},getGalleryGridStyle=(t,o)=>{let r=y({shape:t.shape,shapeForBottom:t.shapeForBottom,shapeFor1Col:t.shapeFor1Col,shapeFor2Col:t.shapeFor2Col,shapeForFtOnly:t.shapeForFtOnly,shapeForInsideBottom:t.shapeForInsideBottom,shapeForInside:t.shapeForInside},t.position),i=()=>{let e=(e,t,o)=>{let r=a(t,o),i=a(e,o),l="slider"!==i&&("bottom-center"===r||"inside-bottom"===r),s=["one-col","two-col"].includes(r||"");return l||s},o=b({shapeByLayout:r}),i={desktop:o.desktop&&e(t.type,t.position,"desktop"),tablet:o.tablet&&e(t.type,t.position,"tablet"),mobile:o.mobile&&e(t.type,t.position,"mobile")};return F(e=>!i[e],"flex")},l={...i(),...e("cg",t?.itemSpacing),...e("rg",t?.itemSpacing),...e("jc",t?.align),...o};return filterTruthyStyles(l)},getGalleryGridItemStyle=a=>{let l=y({shape:a.shape,shapeForBottom:a.shapeForBottom,shapeFor1Col:a.shapeFor1Col,shapeFor2Col:a.shapeFor2Col,shapeForFtOnly:a.shapeForFtOnly,shapeForInsideBottom:a.shapeForInsideBottom,shapeForInside:a.shapeForInside},a.position),s=o(l),n=S({shapeByLayout:l,itemSpacing:a.itemSpacing}),p={"max-width":"100%","outline-color":"var(--g-c-brand, brand)",...e("h",t(s)),...e("w",r(n)),...i({normal:a.corner})};return filterTruthyStyles(p)},getFeatureImageCarouselItemStyle=r=>{let a=o(r.ftShape),l={"max-width":"100%","outline-color":"var(--g-c-brand, brand)",...i({normal:r?.ftCorner}),...e("h",t(a))};return filterTruthyStyles(l)},getGalleryCarouselStyle=e=>{let t=y({shape:e.shape,shapeForBottom:e.shapeForBottom,shapeFor1Col:e.shapeFor1Col,shapeFor2Col:e.shapeFor2Col,shapeForFtOnly:e.shapeForFtOnly,shapeForInsideBottom:e.shapeForInsideBottom,shapeForInside:e.shapeForInside},e.position),o=o=>{let r=a(e?.position,o),i="bottom-center"===r||"inside-bottom"===r,l="inside-left"===r||"inside-right"===r||"left"===r||"right"===r,s=a(t,o);return i||l||!s?.width?"100%":s.width},r={spacing:g(e?.itemSpacing),sizeSetting:{desktop:{width:o("desktop"),height:"100%"},tablet:{width:o("tablet"),height:"100%"},mobile:{width:o("mobile"),height:"100%"}}};return filterTruthyStyles(r)},getGalleryCarouselItemStyle=a=>{let l=y({shape:a.shape,shapeForBottom:a.shapeForBottom,shapeFor1Col:a.shapeFor1Col,shapeFor2Col:a.shapeFor2Col,shapeForFtOnly:a.shapeForFtOnly,shapeForInsideBottom:a.shapeForInsideBottom,shapeForInside:a.shapeForInside},a.position),s=e("minw",r(c({shapeByLayout:l,position:a.position,spacing:a.itemSpacing}))),n=e("maxw",r(c({shapeByLayout:l,position:a.position,spacing:a.itemSpacing}))),p=e("w",r(I({shapeByLayout:l,position:a.position}))),h=e("h",t(o(l))),m={"outline-color":"var(--g-c-brand, brand)",...s,...n,...p,...h,...i({normal:a.corner})};return filterTruthyStyles(m)},getFeaturedImageCarouselStyle=e=>{let t=t=>{let o=a(e.ftShape,t);return o?.width??"100%"},o={playSpeed:e?.ftAnimationSpeed,sizeSetting:{desktop:{width:t("desktop"),height:"auto"},tablet:{width:t("tablet"),height:"auto"},mobile:{width:t("mobile"),height:"auto"}},align:{desktop:a(e?.align,"desktop"),tablet:a(e?.align,"tablet"),mobile:a(e?.align,"mobile")}};return filterTruthyStyles(o)},getFeaturedImageOnlyOneImageStyle=({setting:r,options:a})=>{let n=o(r?.ftShape),p={...l("w",s(r?.ftShape,!1,!0),{desktop:"--g-ct-w",tablet:"--g-ct-w",mobile:"--g-ct-w"}),...a?.enableRadius&&i({normal:r?.ftCorner}),...a?.enableHeight&&e("h",t(n))};return filterTruthyStyles(p)};export{getFeatureImageCarouselItemStyle,getFeatureImageStyle,getFeaturedImageCarouselStyle,getFeaturedImageOnlyOneImageStyle,getGalleryCarouselItemStyle,getGalleryCarouselStyle,getGalleryGridItemStyle,getGalleryGridStyle,getGalleryImageStyle,getWrapContainerStyle};
1
+ import{makeStyleResponsive as e,makeHeight as t,getHeightByShapeGlobalSize as o,makeWidth as r,composeRadius as i,getResponsiveValueByScreen as a,makeStyleWithDefault as l,getWidthByShapeGlobalSize as s}from"@gem-sdk/core";import{getStyleGridLayout as n,getStyleGridOrderForFeature as p,getStyleGridOrderForGallery as h,getStyleInsideLayout as m,convertSpacing as g,getDisplayStyle as d,convertSpacingForIndisdeLayout as F}from"./common.js";import{getShapeByLayout as y,sizeSettingDefaultForNewLayout as u,getSettingWidthForGridItem as c,getSettingMinWidthForCarouselItem as S,getSettingWidthForCarouselItem as I,checkDisplayGalleryByWidth as b}from"./productGallery.js";let DEVICES=["desktop","mobile","tablet"];function filterTruthyStyles(e){return Object.fromEntries(Object.entries(e||{}).filter(([,e])=>!!e))}let getWrapContainerStyle=(t,o)=>{let r=n({position:t.position,ratioLayout:t.ratioLayout,ratioLayoutRight:t.ratioLayoutRight,isHiddenGalleryImages:!!o}),i={"--gtc":"minmax(0, 12fr)"},a={...o?i:r,...e("gg",t?.spacing)};return filterTruthyStyles(a)},getFeatureImageStyle=(t,{enableOrder:o,enableDisplay:r})=>{let i=()=>d(e=>!["bottom-center","left","right","only-feature","inside-bottom","inside-left","inside-right"].includes(a(t?.position,e)||""),"flex"),l=p({position:t?.position}),s={...e("jc",t?.align),...o&&{...l},...r&&{...i()}};return filterTruthyStyles(s)},getGalleryImageStyle=(o,r)=>{let i=h({position:o.position}),l=()=>{let e={},t=r??0;return DEVICES.forEach(r=>{let i=a(o?.position,r),l=["left","right"].includes(i),s=a(o?.spacing,r),n=["inside-left","inside-right"].includes(i),p=F(s),h=`calc(${t}px - ${p})`;e={...e,[r]:l?t+"px":n?h:"auto"}}),e},s=y({shape:o.shape,shapeForBottom:o.shapeForBottom,shapeFor1Col:o.shapeFor1Col,shapeFor2Col:o.shapeFor2Col,shapeForFtOnly:o.shapeForFtOnly,shapeForInsideBottom:o.shapeForInsideBottom??u,shapeForInside:o.shapeForInside??u},o.position),n=m(o.position,s,o?.spacing),p={...e("h",t(l())),...e("jc",o?.align),...i,...n};return filterTruthyStyles(p)},getGalleryGridStyle=(t,o)=>{let r=y({shape:t.shape,shapeForBottom:t.shapeForBottom,shapeFor1Col:t.shapeFor1Col,shapeFor2Col:t.shapeFor2Col,shapeForFtOnly:t.shapeForFtOnly,shapeForInsideBottom:t.shapeForInsideBottom,shapeForInside:t.shapeForInside},t.position),i=()=>{let e=(e,t,o)=>{let r=a(t,o),i=a(e,o),l="slider"!==i&&("bottom-center"===r||"inside-bottom"===r),s=["one-col","two-col"].includes(r||"");return l||s},o=b({shapeByLayout:r}),i={desktop:o.desktop&&e(t.type,t.position,"desktop"),tablet:o.tablet&&e(t.type,t.position,"tablet"),mobile:o.mobile&&e(t.type,t.position,"mobile")};return d(e=>!i[e],"flex")},l={...i(),...e("cg",t?.itemSpacing),...e("rg",t?.itemSpacing),...e("jc",t?.align),...o};return filterTruthyStyles(l)},getGalleryGridItemStyle=a=>{let l=y({shape:a.shape,shapeForBottom:a.shapeForBottom,shapeFor1Col:a.shapeFor1Col,shapeFor2Col:a.shapeFor2Col,shapeForFtOnly:a.shapeForFtOnly,shapeForInsideBottom:a.shapeForInsideBottom,shapeForInside:a.shapeForInside},a.position),s=o(l),n=c({shapeByLayout:l,itemSpacing:a.itemSpacing}),p={"max-width":"100%","outline-color":"var(--g-c-brand, brand)",...e("h",t(s)),...e("w",r(n)),...i({normal:a.corner})};return filterTruthyStyles(p)},getFeatureImageCarouselItemStyle=r=>{let a=o(r.ftShape),l={"max-width":"100%","outline-color":"var(--g-c-brand, brand)",...i({normal:r?.ftCorner}),...e("h",t(a))};return filterTruthyStyles(l)},getGalleryCarouselStyle=e=>{let t=y({shape:e.shape,shapeForBottom:e.shapeForBottom,shapeFor1Col:e.shapeFor1Col,shapeFor2Col:e.shapeFor2Col,shapeForFtOnly:e.shapeForFtOnly,shapeForInsideBottom:e.shapeForInsideBottom,shapeForInside:e.shapeForInside},e.position),o=o=>{let r=a(e?.position,o),i="bottom-center"===r||"inside-bottom"===r,l="inside-left"===r||"inside-right"===r||"left"===r||"right"===r,s=a(t,o);return i||l||!s?.width?"100%":s.width},r={spacing:g(e?.itemSpacing),sizeSetting:{desktop:{width:o("desktop"),height:"100%"},tablet:{width:o("tablet"),height:"100%"},mobile:{width:o("mobile"),height:"100%"}}};return filterTruthyStyles(r)},getGalleryCarouselItemStyle=a=>{let l=y({shape:a.shape,shapeForBottom:a.shapeForBottom,shapeFor1Col:a.shapeFor1Col,shapeFor2Col:a.shapeFor2Col,shapeForFtOnly:a.shapeForFtOnly,shapeForInsideBottom:a.shapeForInsideBottom,shapeForInside:a.shapeForInside},a.position),s=e("minw",r(S({shapeByLayout:l,position:a.position,spacing:a.itemSpacing}))),n=e("maxw",r(S({shapeByLayout:l,position:a.position,spacing:a.itemSpacing}))),p=e("w",r(I({shapeByLayout:l,position:a.position}))),h=e("h",t(o(l))),m={"outline-color":"var(--g-c-brand, brand)",...s,...n,...p,...h,...i({normal:a.corner})};return filterTruthyStyles(m)},getFeaturedImageCarouselStyle=e=>{let t=t=>{let o=a(e.ftShape,t);return o?.width??"100%"},o={playSpeed:e?.ftAnimationSpeed,sizeSetting:{desktop:{width:t("desktop"),height:"auto"},tablet:{width:t("tablet"),height:"auto"},mobile:{width:t("mobile"),height:"auto"}},align:{desktop:a(e?.align,"desktop"),tablet:a(e?.align,"tablet"),mobile:a(e?.align,"mobile")},spacing:{desktop:6,tablet:6,mobile:6}};return filterTruthyStyles(o)},getFeaturedImageOnlyOneImageStyle=({setting:r,options:a})=>{let n=o(r?.ftShape),p={...l("w",s(r?.ftShape,!1,!0),{desktop:"--g-ct-w",tablet:"--g-ct-w",mobile:"--g-ct-w"}),...a?.enableRadius&&i({normal:r?.ftCorner}),...a?.enableHeight&&e("h",t(n))};return filterTruthyStyles(p)};export{getFeatureImageCarouselItemStyle,getFeatureImageStyle,getFeaturedImageCarouselStyle,getFeaturedImageOnlyOneImageStyle,getGalleryCarouselItemStyle,getGalleryCarouselStyle,getGalleryGridItemStyle,getGalleryGridStyle,getGalleryImageStyle,getWrapContainerStyle};
@@ -1 +1 @@
1
- import{jsx as e,jsxs as o}from"react/jsx-runtime";import{memo as t}from"react";import{useCurrentDevice as r,getResponsiveValueByScreen as a,makeStyleResponsive as s}from"@gem-sdk/core";import{handleMouseMove as m,handleMouseOut as i}from"../../common/hoverAction.js";import{getProductImagesStyles as l}from"../../composables/getProductImagesStyles.js";import{getProductImagesClassName as n}from"../../composables/getProductImagesClassName.js";import{getProductImagesAttr as d}from"../../composables/getProductImagesAttr.js";import{createStyle as u}from"@gem-sdk/system";import{getFeaturedImageOnlyOneImageStyle as c}from"../../common/styles.js";import g from"../../../../../carousel/components/root/Carousel.js";import p from"../../../../../carousel/components/item/CarouselItem.js";import f from"./ProductFeaturedImageOnly.js";import{useProductFeaturedImageCarousel as h}from"../../hooks/useProductFeaturedImageCarousel.js";let ProductFeaturedImageCarousel=t=>{let{productImages:C,imgRef:I,onHandleClick:v,onClickArrow:j,onHandleLoaded:y,onHandleUpdateActiveIndex:P,builderPropUID:b,builderPropsClass:k,children:w,parentUid:M,...x}=t,{ref:A,imageActive:F,imageActiveIndex:H,imageShowWhenHover:N,enableOpenLightBox:O,filteredProductImages:R,isRenderFeatureCarousel:S,genRandomKey:B,getAspectRatioFinal:W,emitUpdateActiveIndex:L}=h(t),T=r(),{galleryItemClasses:$,featureImageOnlyOneImageClasses:D}=n(x),{featuredImageCarouselStyle:q,featureImageCarouselItemStyle:z}=l(x),E=u({...c({setting:x,options:{enableRadius:!0,enableHeight:!0}})}),{featuredImageCarouselSettingAttrs:G}=d(x);return e("div",{ref:A,"data-slot":"children",className:"product-feature-image",children:S?o(g,{parentClass:k,elmRef:I,setting:G,styles:q,builderProps:{uid:b},isHiddenArrowWhenDisabled:!0,onLoaded:e=>y&&y(e),onChangeActive:e=>L(e),onClickArrow:()=>j&&j(B()),moveToIdx:H,disableMarginAuto:!0,onHandleChangeSlideByInteraction:e=>{let o=R?.length??0,t=e>=o?0:e;v(R?.[t]?.id??"",O)},children:[w,R?.map(o=>e(p,{contentType:"productImage",className:$("gp-ft-image-item !gp-min-w-full !gp-max-w-full"),onClickItem:()=>{let e=a(x?.ftClickOpenLightBox,T);"none"!==e&&v(o?.id??"",O)},style:z,onMouseMove:e=>m(e,x),onMouseOut:e=>i(e),children:e(f,{image:o,imageShowWhenHover:N,setting:x,aspectRatio:W()})},o?.id))]}):e("div",{ref:I,className:"gp-flex gp-w-full",style:{...s("jc",x?.align)},"data-id":b,children:e("div",{"aria-hidden":"true",className:D,style:E,onMouseMove:e=>m(e,x),onMouseOut:e=>i(e),onBlur:()=>void 0,onClick:()=>{v(F?.id??"",O)},children:e(f,{image:F,imageShowWhenHover:N,setting:x,aspectRatio:W(F)})})})})};var ProductFeaturedImageCarousel$1=t(ProductFeaturedImageCarousel);export{ProductFeaturedImageCarousel$1 as default};
1
+ import{jsx as e,jsxs as o}from"react/jsx-runtime";import{memo as r,forwardRef as t,useRef as a,useImperativeHandle as s}from"react";import{useCurrentDevice as m,getResponsiveValueByScreen as i,makeStyleResponsive as l}from"@gem-sdk/core";import{handleMouseMove as n,handleMouseOut as u}from"../../common/hoverAction.js";import{getProductImagesStyles as d}from"../../composables/getProductImagesStyles.js";import{getProductImagesClassName as c}from"../../composables/getProductImagesClassName.js";import{getProductImagesAttr as g}from"../../composables/getProductImagesAttr.js";import{createStyle as p}from"@gem-sdk/system";import{getFeaturedImageOnlyOneImageStyle as f}from"../../common/styles.js";import h from"../../../../../carousel/components/root/Carousel.js";import C from"../../../../../carousel/components/item/CarouselItem.js";import I from"./ProductFeaturedImageOnly.js";import{useProductFeaturedImageCarousel as v}from"../../hooks/useProductFeaturedImageCarousel.js";let ProductFeaturedImageCarousel=t((r,t)=>{let{productImages:j,imgRef:w,onHandleClick:y,onClickArrow:P,onHandleLoaded:b,onHandleUpdateActiveIndex:k,swiperUpdateTrigger:M,builderPropUID:S,builderPropsClass:x,children:A,parentUid:F,...H}=r,N=a(null),{ref:O,imageActive:R,imageActiveIndex:B,imageShowWhenHover:W,enableOpenLightBox:$,filteredProductImages:L,isRenderFeatureCarousel:T,genRandomKey:D,getAspectRatioFinal:q,emitUpdateActiveIndex:z}=v(r);s(t,()=>({getSwiper:()=>N.current?.getSwiper()||null}));let E=m(),{galleryItemClasses:G,featureImageOnlyOneImageClasses:J}=c(H),{featuredImageCarouselStyle:K,featureImageCarouselItemStyle:Q}=d(H),U=p({...f({setting:H,options:{enableRadius:!0,enableHeight:!0}})}),{featuredImageCarouselSettingAttrs:V}=g(H);return e("div",{ref:O,"data-slot":"children",className:"product-feature-image",children:T?o(h,{ref:N,parentClass:x,elmRef:w,setting:V,styles:K,builderProps:{uid:S},isHiddenArrowWhenDisabled:!0,onLoaded:e=>b&&b(e),onChangeActive:e=>z(e),onClickArrow:()=>P&&P(D()),moveToIdx:B,disableMarginAuto:!0,thumbsSwiper:`#gp-carousel-${S}-carousel`,onHandleChangeSlideByInteraction:e=>{let o=L?.length??0,r=e>=o?0:e;y(L?.[r]?.id??"",$)},children:[A,L?.map(o=>e(C,{contentType:"productImage",className:G("gp-ft-image-item !gp-min-w-full !gp-max-w-full"),onClickItem:()=>{let e=i(H?.ftClickOpenLightBox,E);"none"!==e&&y(o?.id??"",$)},style:Q,onMouseMove:e=>n(e,H),onMouseOut:e=>u(e),children:e(I,{image:o,imageShowWhenHover:W,setting:H,aspectRatio:q()})},o?.id))]}):e("div",{ref:w,className:"gp-flex gp-w-full",style:{...l("jc",H?.align)},"data-id":S,children:e("div",{"aria-hidden":"true",className:J,style:U,onMouseMove:e=>n(e,H),onMouseOut:e=>u(e),onBlur:()=>void 0,onClick:()=>{y(R?.id??"",$)},children:e(I,{image:R,imageShowWhenHover:W,setting:H,aspectRatio:q(R)})})})})});var ProductFeaturedImageCarousel$1=r(ProductFeaturedImageCarousel);export{ProductFeaturedImageCarousel$1 as default};
@@ -1,2 +1,2 @@
1
- import{jsx as e,Fragment as o,jsxs as t}from"react/jsx-runtime";import{useCurrentDevice as r,cls as i,getResponsiveValueByScreen as a,makeStyle as l}from"@gem-sdk/core";import{memo as m}from"react";import{getAspectRatio as s}from"../../common/common.js";import c from"../../../../../image/components/NextImage.js";import d from"../lightbox/ButtonOpenLightBox.js";import n from"./MediaIcon.js";import{isFeatureMedia as p,getZoomImageClass as g,getZoomLenClass as h}from"../../common/productFeaturedImage.js";import{handleMouseMove as y,handleMouseOut as u}from"../../common/hoverAction.js";import{getProductImagesClassName as f}from"../../composables/getProductImagesClassName.js";import{getProductImagesStyles as v}from"../../composables/getProductImagesStyles.js";import{useProductGalleryGrid as j}from"../../hooks/useProductGalleryGrid.js";let ProductGalleryGrid=m=>{let{builderPropUID:G,productImages:w,onHandleClick:T,activeIndexFormFeatureImage:x,children:P,isHiddenInteraction:b,...I}=m,{isDisplay:N,shapeByLayout:$,imageActiveIndex:k,enableOpenLightBox:E,isEnableBorderActive:M,filteredProductImages:z}=j(m),B=r(),{galleryGridWrapperClasses:H,galleryItemClasses:O}=f(I),{galleryGridStyles:Z,galleryGridItemStyles:A}=v(I);return e(o,{children:N&&t("div",{"data-slot":"children","data-id":G,className:H,style:Z,"gp-data-hidden":`${b}`,children:[z?.map((o,r)=>{let m=r===k,f=p(o.contentType)?o.previewImage:o.src;return t("div",{"aria-hidden":!0,className:O(`gem-slider-item-${G}
2
- ${m&&M?"gem-slider-item-active":""}`),onClick:()=>T(o?.id||"",E),style:A,onMouseMove:e=>y(e,{hoverEffect:I.galleryHoverEffect,zoom:I.galleryZoom,zoomType:I.galleryZoomType}),onMouseOut:e=>u(e),"data-border":m&&I?.borderActive?"active":"deactive",children:[e(c,{src:f,width:o?.width,height:o?.height,alt:o?.alt,setting:{aspectRatio:s($),layout:I?.layout},style:{width:"100%",height:"100%"}},o?.id),e(n,{contentType:o?.contentType||""}),I?.galleryHoverEffect!=="none"&&!p(o?.contentType)&&e(c,{src:f,width:o?.width,height:o?.height,alt:o?.alt,setting:{layout:I.layout,aspectRatio:s($)},className:i("hover-image !gp-max-w-none",g())}),I?.galleryHoverEffect=="zoom"&&I?.galleryZoomType=="glasses"&&["one-col","two-col"].includes(a(I.position,B)||"")&&!p(o?.contentType)&&e("div",{className:i(h(),"room-len"),style:{...l({bgi:`url("${o?.src}")`})}}),a(I?.clickOpenLightBox,B)&&e(d,{})]},o?.id)}),P]})})};var ProductGalleryGrid$1=m(ProductGalleryGrid);export{ProductGalleryGrid$1 as default};
1
+ import{jsx as e,Fragment as o,jsxs as t}from"react/jsx-runtime";import{useCurrentDevice as r,cls as i,getResponsiveValueByScreen as a,makeStyle as l}from"@gem-sdk/core";import{memo as m}from"react";import{getAspectRatio as s}from"../../common/common.js";import c from"../../../../../image/components/NextImage.js";import d from"../lightbox/ButtonOpenLightBox.js";import n from"./MediaIcon.js";import{isFeatureMedia as g,getZoomImageClass as p,getZoomLenClass as y}from"../../common/productFeaturedImage.js";import{handleMouseMove as h,handleMouseOut as u}from"../../common/hoverAction.js";import{getProductImagesClassName as f}from"../../composables/getProductImagesClassName.js";import{getProductImagesStyles as v}from"../../composables/getProductImagesStyles.js";import{useProductGalleryGrid as j}from"../../hooks/useProductGalleryGrid.js";let ProductGalleryGrid=m=>{let{builderPropUID:G,productImages:w,onHandleClick:T,activeIndexFromFeatureImage:x,children:P,isHiddenInteraction:b,...I}=m,{isDisplay:N,shapeByLayout:$,imageActiveIndex:k,enableOpenLightBox:E,isEnableBorderActive:M,filteredProductImages:z}=j(m),B=r(),{galleryGridWrapperClasses:H,galleryItemClasses:O}=f(I),{galleryGridStyles:Z,galleryGridItemStyles:A}=v(I);return e(o,{children:N&&t("div",{"data-slot":"children","data-id":G,className:H,style:Z,"gp-data-hidden":`${b}`,children:[z?.map((o,r)=>{let m=r===k,f=g(o.contentType)?o.previewImage:o.src;return t("div",{"aria-hidden":!0,className:O(`gp-gallery-image-item gem-slider-item-${G}
2
+ ${m&&M?"gem-slider-item-active":""}`),onClick:()=>T(o?.id||"",E),style:A,onMouseMove:e=>h(e,{hoverEffect:I.galleryHoverEffect,zoom:I.galleryZoom,zoomType:I.galleryZoomType}),onMouseOut:e=>u(e),"data-border":m&&I?.borderActive?"active":"deactive",children:[e(c,{src:f,width:o?.width,height:o?.height,alt:o?.alt,setting:{aspectRatio:s($),layout:I?.layout},style:{width:"100%",height:"100%"}},o?.id),e(n,{contentType:o?.contentType||""}),I?.galleryHoverEffect!=="none"&&!g(o?.contentType)&&e(c,{src:f,width:o?.width,height:o?.height,alt:o?.alt,setting:{layout:I.layout,aspectRatio:s($)},className:i("hover-image !gp-max-w-none",p())}),I?.galleryHoverEffect=="zoom"&&I?.galleryZoomType=="glasses"&&["one-col","two-col"].includes(a(I.position,B)||"")&&!g(o?.contentType)&&e("div",{className:i(y(),"room-len"),style:{...l({bgi:`url("${o?.src}")`})}}),a(I?.clickOpenLightBox,B)&&e(d,{})]},o?.id)}),P]})})};var ProductGalleryGrid$1=m(ProductGalleryGrid);export{ProductGalleryGrid$1 as default};
@@ -1 +1 @@
1
- import{jsx as e,Fragment as r,jsxs as o}from"react/jsx-runtime";import{cls as a}from"@gem-sdk/core";import l from"../gallery-carousel/GalleryCarousel.js";import i from"../child/ProductGalleryGrid.js";import t from"../child/ProductFeaturedImageCarousel.js";import{getProductImagesStyles as d}from"../../composables/getProductImagesStyles.js";import{getProductImagesClassName as s}from"../../composables/getProductImagesClassName.js";import{useFeatureImageWithGallery as m}from"../../hooks/useFeatureImageWithGallery.js";let FeatureImageWithGallery=u=>{let{setting:c,styles:n,builderProps:p,gallery:g,onHandleClickImage:I,priorityFeatureImage:f,children:h,noDataChildren:y}=u,C={...c,...n},{isShowCarousel:F,featureImageHeight:P,featureWrapperImage:b,onClickFeatureArrow:j,activeIndexFromFeatureImage:k,setOnClickFeatureArrow:v,onHandleLoadedFeatureImage:G,setActiveIndexFromFeatureImage:H}=m(u);if(g?.[0]?.id==="noImageError")return e(r,{children:y});let{ftImageGalleryClasses:x,imageGalleryWrapperClasses:N}=s(u),{wrapperFeaturedImageStyle:U,featureImageStyle:w,galleryImageStyle:A}=d(C,{gallery:g,featureImageHeight:P});return o("div",{className:a("gp-grid gp-w-full gp-relative"),style:U,children:[e("div",{className:x,style:w,children:e(t,{imgRef:b,productImages:g,...C,onHandleClick:(e,r)=>I(e||"",r),onHandleLoaded:G,onHandleUpdateActiveIndex:H,onClickArrow:e=>v(e),builderPropUID:p?.uid,builderPropsClass:`gp-product-images-feature-${p?.uid}`,children:h})}),g.length>1&&e("div",{className:N,style:A,children:F?e(l,{productImages:g,position:C?.position,...C,builderPropUID:p?.uid,onHandleClick:(e,r)=>I(e||"",r),activeIndexFormFeatureImage:k,priorityFeatureImage:f,onClickFeatureArrow:j,builderPropsClass:`gp-product-images-gallery-${p?.uid}`}):e(i,{productImages:g,...C,builderPropUID:p?.uid,onHandleClick:(e,r)=>I(e||"",r),activeIndexFormFeatureImage:k,isHiddenInteraction:!0})})]})};export{FeatureImageWithGallery as default};
1
+ import{jsx as e,Fragment as r,jsxs as t}from"react/jsx-runtime";import{useCurrentDevice as i,cls as o}from"@gem-sdk/core";import{useRef as a,useCallback as l}from"react";import s from"../gallery-carousel/GalleryCarousel.js";import d from"../child/ProductGalleryGrid.js";import m from"../child/ProductFeaturedImageCarousel.js";import{getProductImagesStyles as u}from"../../composables/getProductImagesStyles.js";import{getProductImagesClassName as n}from"../../composables/getProductImagesClassName.js";import{useFeatureImageWithGallery as p}from"../../hooks/useFeatureImageWithGallery.js";let FeatureImageWithGallery=c=>{let{setting:g,styles:I,builderProps:f,gallery:h,onHandleClickImage:y,priorityFeatureImage:b,children:C,noDataChildren:F}=c,P=a(null),v=i(),j=l(e=>{if(!P.current)return;let r=P.current.getSwiper();r&&r.thumbs.swiper?.realIndex===void 0&&e&&(r.thumbs.swiper=e,r.thumbs.init(),r.thumbs.update(!0),r.update())},[]),k={...g,...I},{isShowCarousel:w,featureImageHeight:x,featureWrapperImage:G,onClickFeatureArrow:H,activeIndexFromFeatureImage:N,setOnClickFeatureArrow:S,onHandleLoadedFeatureImage:U,setActiveIndexFromFeatureImage:A}=p(c);if(h?.[0]?.id==="noImageError")return e(r,{children:F});let{ftImageGalleryClasses:D,imageGalleryWrapperClasses:W}=n(c),{wrapperFeaturedImageStyle:R,featureImageStyle:$,galleryImageStyle:E}=u(k,{gallery:h,featureImageHeight:x}),J=JSON.stringify(k?.position)+v+w;return t("div",{className:o("gp-grid gp-w-full gp-relative"),style:R,children:[e("div",{className:D,style:$,children:e(m,{ref:P,imgRef:G,productImages:h,...k,onHandleClick:(e,r)=>y(e||"",r),onHandleLoaded:U,onHandleUpdateActiveIndex:A,onClickArrow:e=>S(e),builderPropUID:f?.uid,builderPropsClass:`gp-product-images-feature-${f?.uid}`,children:C})}),h.length>1&&e("div",{className:W,style:E,children:w?e(s,{productImages:h,position:k?.position,...k,builderPropUID:f?.uid,onHandleClick:(e,r)=>y(e||"",r),onSwiperReady:j,activeIndexFormFeatureImage:N,priorityFeatureImage:b,onClickFeatureArrow:H,builderPropsClass:`gp-product-images-gallery-${f?.uid}`}):e(d,{productImages:h,...k,builderPropUID:f?.uid,onHandleClick:(e,r)=>y(e||"",r),activeIndexFromFeatureImage:N,isHiddenInteraction:!0})})]},J)};export{FeatureImageWithGallery as default};
@@ -1,79 +1,79 @@
1
- import{makeStyleResponsive as e,template as a,cls 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}from"../../common/productFeaturedImage.js";import m from"../../../../../video/components/HTML5Embed.liquid.js";import l from"../../../../../image/components/Modal3d.liquid.js";import g from"../../../../../image/components/NextImage.liquid.js";import p from"../../../../../image/components/Video.liquid.js";import{getStyleOfObject as n}from"../../../../helpers/function.js";import{getProductImagesStyles as c}from"../../composables/getProductImagesStyles.js";import{getProductImagesClassName as f}from"../../composables/getProductImagesClassName.js";import{getProductImagesAttr as h}from"../../composables/getProductImagesAttr.js";import{LiquidIf as y,LiquidFor as M,Liquid as $,If as _}from"@gem-sdk/system";import b from"../../../../../carousel/components/root/Carousel.liquid.js";import w from"../../../../../carousel/components/item/CarouselItem.liquid.js";let FeatureImageWithGallery=({builderPropUID:v,children:I,enableLazyLoadImage:x,...q})=>{let{featuredImageCarouselClasses:z,galleryItemClasses:j,featuredCarouselItemClasses:S}=f(q),{featuredImageCarouselStyle:R,featureImageStyle:W,featureImageCarouselOnlyOneImageStyle:P,featureImageOnlyOneImageStyle:C,featureImageCarouselItemStyle:T}=c(q),{featuredImageCarouselSettingAttrs:L}=h(q),N=t(q.ftShape),k=()=>`
1
+ import{makeStyleResponsive as e,template as a,cls as i}from"@gem-sdk/core";import{getAspectRatio as t,getPaddingBottomByShapeSetting as r,getSrcImage as s}from"../../common/common.js";import{checkRenderFeaturedCarousel as d,getVideoHeight as o,getZoomImageClass as u,getZoomLenClass as m}from"../../common/productFeaturedImage.js";import l from"../../../../../video/components/HTML5Embed.liquid.js";import g from"../../../../../image/components/Modal3d.liquid.js";import p 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{LiquidIf as M,LiquidFor as $,Liquid as _,If as b,createStyle as w}from"@gem-sdk/system";import v from"../../../../../carousel/components/root/Carousel.liquid.js";import I from"../../../../../carousel/components/item/CarouselItem.liquid.js";let FeatureImageWithGallery=({builderPropUID:x,children:q,enableLazyLoadImage:j,...z})=>{let{featuredImageCarouselClasses:S,galleryItemClasses:L,featuredCarouselItemClasses:R}=h(z),{featuredImageCarouselStyle:W,featureImageStyle:P,featureImageCarouselOnlyOneImageStyle:C,featureImageOnlyOneImageStyle:T,featureImageCarouselItemStyle:N}=f(z),{featuredImageCarouselSettingAttrs:k}=y(z),E=t(z.ftShape),O=()=>`
2
2
  {% case featureMedia.media_type %}
3
3
  {% when 'image' %}
4
- ${D()}
4
+ ${F()}
5
5
  {% when 'external_video' %}
6
6
  {% assign mediaSourceVideo = featureMedia | external_video_url %}
7
- ${O()}
7
+ ${D()}
8
8
  {% when 'video' %}
9
9
  {% assign mediaSourceVideo = featureMedia.sources.last.url %}
10
- ${A()}
10
+ ${V()}
11
11
  {% when 'model' %}
12
- ${E()}
12
+ ${A()}
13
13
  {% else %}
14
- ${F()}
14
+ ${G()}
15
15
  {% endcase %}
16
- `,E=()=>l({src:y("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:N}),O=()=>p({src:"{{mediaSourceVideo}}",alt:"{{featureMedia.alt | escape}}",autoplay:!1,allowfullscreen:!0,controls:!0,style:{width:"100%",height:"100%"},aspectRatio:N}),A=()=>m({src:"{{mediaSourceVideo}}",title:"{{featureMedia.alt | escape}}",autoplay:!1,controls:!0,thumbnail:"{{featureMedia.preview_image.src | product_img_url: '1024x1024'}}",isCheckLoaded:!0,style:{width:"100%","max-height":"100%"},className:"gp-invisible"}),D=()=>a`
17
- ${V(i("gp-w-full gp-transition-opacity",{"group-hover:gp-opacity-0":"other"==q.hoverEffect},"{{shouldHidden}}"))}
18
- ${_(q?.hoverEffect!=="none",`<div class="${i("zoom-element !gp-max-w-none",o())}">
19
- ${V("image-zoom",!0)}
16
+ `,A=()=>g({src:M("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}),D=()=>n({src:"{{mediaSourceVideo}}",alt:"{{featureMedia.alt | escape}}",autoplay:!1,allowfullscreen:!0,controls:!0,style:{width:"100%",height:"100%"},aspectRatio:E}),V=()=>{let a=w({...o(z?.ftLayout),...e("objf",z?.ftLayout)}),i=w({...o(z?.ftLayout)});return l({src:"{{mediaSourceVideo}}",title:"{{featureMedia.alt | escape}}",autoplay:!1,controls:!0,thumbnail:"{{featureMedia.preview_image.src | product_img_url: '1024x1024'}}",isCheckLoaded:!0,wrapperStyles:i,style:{width:"100%","max-height":"100%",...a},className:"gp-invisible"})},F=()=>a`
17
+ ${H(i("gp-w-full gp-transition-opacity",{"group-hover:gp-opacity-0":"other"==z.hoverEffect},"{{shouldHidden}}"))}
18
+ ${b(z?.hoverEffect!=="none",`<div class="${i("zoom-element !gp-max-w-none",u())}">
19
+ ${H("image-zoom",!0)}
20
20
  </div>`," ")}
21
- ${_(q?.hoverEffect=="zoom"&&q?.zoomType=="glasses",`<div class="${i("zoom-lens-element",u())}" style="opacity: 0; background-image: url('{{ featureMedia.src | img_url: "1024x1024"}}')"></div>`," ")}
22
- `,V=(e,i)=>a`
21
+ ${b(z?.hoverEffect=="zoom"&&z?.zoomType=="glasses",`<div class="${i("zoom-lens-element",m())}" style="opacity: 0; background-image: url('{{ featureMedia.src | img_url: "1024x1024"}}')"></div>`," ")}
22
+ `,H=(e,i)=>a`
23
23
  {% assign src = featureMedia.src %}
24
- ${_(i&&"other"==q.hoverEffect,`{% assign media_length = product.media | size %}
25
- {% assign other_image_index = ${q.otherImage} | plus: 0 %}
24
+ ${b(i&&"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
- ${y("otherImage.media_type != 'image'","{% assign src = otherImage.preview_image.src %}","{% assign src = otherImage.src %}")}
30
+ ${M("otherImage.media_type != 'image'","{% assign src = otherImage.preview_image.src %}","{% assign src = otherImage.src %}")}
31
31
  `)}
32
- ${g({srcIsLiquidCode:!0,src:y("src != null",s("src"),"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif"),id:y("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:q?.ftLayout,aspectRatio:N,qualityType:q?.qualityType,qualityPercent:q?.qualityPercent},priority:q?.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:x})}`,F=()=>a`
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:q?.ftLayout,aspectRatio:N,qualityType:q?.qualityType,qualityPercent:q?.qualityPercent},priority:q?.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:x})}`,H=r(q.ftShape),G=a=>`
34
- ${$(`{% assign productImageWidth = 0 %}
32
+ ${p({srcIsLiquidCode:!0,src:M("src != null",s("src"),"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif"),id:M("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:E,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:j})}`,G=()=>a`
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:E,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:j})}`,J=r(z.ftShape),B=a=>`
34
+ ${_(`{% assign productImageWidth = 0 %}
35
35
  {% case featureMedia.media_type %}
36
36
  {% when 'image' %}
37
37
  {% assign productImageWidth = featureMedia.width %}
38
38
  {% else %}
39
39
  {% assign productImageWidth = featureMedia.preview_image.width %}
40
40
  {% endcase %}`)}
41
- ${w({id:"{{section.id}}-{{imageID}}",contentType:"productImage",className:`${j(`gp-ft-image-item !gp-min-w-full !gp-max-w-full' ${a}`)}`,parentId:`${v}-{{section.id}}-{{product.id}}`,style:T,customStyle:{width:"{{productImageWidth}}px"},children:`
41
+ ${I({id:"{{section.id}}-{{imageID}}",contentType:"productImage",className:`${L(`gp-ft-image-item !gp-min-w-full !gp-max-w-full' ${a}`)}`,parentId:`ft-${x}-{{section.id}}-{{product.id}}`,style:N,customStyle:{width:"{{productImageWidth}}px"},children:`
42
42
  <div
43
- class="gp-w-full gp-relative ${y("featureMedia == null or featureMedia.media_type == 'image'","{{ 'gp-h-0' }}","{{ 'gp-h-full !gp-pb-0' }}")}"
44
- style="${n(e("pb",H))} ${y("featureMedia.media_type == 'video' or featureMedia.media_type == 'external_video'","{{ 'display: flex; align-items: center; justify-content: center' }}")}"
43
+ class="gp-w-full gp-relative ${M("featureMedia == null or featureMedia.media_type == 'image'","{{ 'gp-h-0' }}","{{ 'gp-h-full !gp-pb-0' }}")}"
44
+ style="${c(e("pb",J))} ${M("featureMedia.media_type == 'video' or featureMedia.media_type == 'external_video'","{{ 'display: flex; align-items: center; justify-content: center' }}")}"
45
45
  >
46
- ${k()}
46
+ ${O()}
47
47
  </div>
48
- `})}`,J=d(q),B="gp-featured-image-wrapper",K=y("product.media.size > 0",`${I||""} {% assign largestRatio = 0 %}
49
- ${M("featureMedia in product.media",`
48
+ `})}`,K=d(z),Q="gp-featured-image-wrapper",U=M("product.media.size > 0",`${q||""} {% assign largestRatio = 0 %}
49
+ ${$("featureMedia in product.media",`
50
50
  {% assign height = featureMedia.height | times: 1.0 %}
51
51
  {% assign width = featureMedia.width | times: 1.0 %}
52
52
  {% assign ratio = height | divided_by: width %}
53
- ${y("ratio > largestRatio","{% assign largestRatio = ratio %}")}
53
+ ${M("ratio > largestRatio","{% assign largestRatio = ratio %}")}
54
54
  `)}
55
- ${M("featureMedia in product.media",`${y("featureMedia.media_type == 'image'",`${M("image in product.images",y("image.src == featureMedia.src","{% assign imageID = image.id %}{% break %}"))}`,"{% assign imageID = '' %}")}
56
- ${G()}`)}
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:q?.preload,setting:{layout:q?.ftLayout,aspectRatio:N,qualityType:q?.qualityType,qualityPercent:q?.qualityPercent},style:{height:"100%"},className:"gp-w-full featured-image-only !gp-rounded-none",customLazyload:!0,enableLazyLoadImage:x})),Q=()=>`
58
- ${b({builderProps:{uid:v},rootId:`ft-${v}-{{section.id}}-{{product.id}}`,conditionAppendJs:"product.media.size > 1",wrapperClass:B,rootClass:`${z}`,rootAttrs:{type:"gp-feature-image-carousel","product-id":"{{product.id}}","product-media":"{{product.media.size}}"},isHiddenArrowWhenDisabled:!0,setting:L,rootStyles:W,styles:R,style:{playSpeed:600},disableMarginAuto:!0,children:K})}
59
- `,U=()=>{switch(q?.preDisplay){case"1st-images":return`
55
+ ${$("featureMedia in product.media",`${M("featureMedia.media_type == 'image'",`${$("image in product.images",M("image.src == featureMedia.src","{% assign imageID = image.id %}{% break %}"))}`,"{% assign imageID = '' %}")}
56
+ ${B()}`)}
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:E,qualityType:z?.qualityType,qualityPercent:z?.qualityPercent},style:{height:"100%"},className:"gp-w-full featured-image-only !gp-rounded-none",customLazyload:!0,enableLazyLoadImage:j})),X=()=>`
58
+ ${v({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:P,styles:W,style:{playSpeed:600},disableMarginAuto:!0,children:U})}
59
+ `,Y=()=>{switch(z?.preDisplay){case"1st-images":return`
60
60
  {% assign featureMedia = product.media.first %}
61
- `;case"1st-3d-mode":return M("media in product.media",y("media.media_type == 'model'","{% assign featureMedia = media %}{% break %}"));case"1st-video":return M("media in product.media",y("media.media_type == 'video' or media.media_type == 'external_video'","{% assign featureMedia = media %}{% break %}"));default:return`
61
+ `;case"1st-3d-mode":return $("media in product.media",M("media.media_type == 'model'","{% assign featureMedia = media %}{% break %}"));case"1st-video":return $("media in product.media",M("media.media_type == 'video' or media.media_type == 'external_video'","{% assign featureMedia = media %}{% break %}"));default:return`
62
62
  {% assign featureMedia = variant.featured_media %}
63
63
  {% unless featureMedia %}
64
64
  {% assign featureMedia = product.featured_media %}
65
65
  {% endunless %}
66
- `}},X=()=>$(`
66
+ `}},Z=()=>_(`
67
67
  {% assign featureMedia = variant.featured_media %}
68
68
  {% unless featureMedia %}
69
69
  {% assign featureMedia = product.featured_media %}
70
70
  {% endunless %}
71
- ${y("product.media.size > 1",U())}
71
+ ${M("product.media.size > 1",Y())}
72
72
  {% assign largestRatio = 0 %}
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
- ${y("ratio > largestRatio","{% assign largestRatio = ratio %}")}
76
+ ${M("ratio > largestRatio","{% assign largestRatio = ratio %}")}
77
77
  {% assign productImageWidth = 0 %}
78
78
  {% case featureMedia.media_type %}
79
79
  {% when 'image' %}
@@ -81,38 +81,38 @@ import{makeStyleResponsive as e,template as a,cls as i}from"@gem-sdk/core";impor
81
81
  {% else %}
82
82
  {% assign productImageWidth = featureMedia.preview_image.width %}
83
83
  {% endcase %}
84
- ${y("featureMedia == null","{% assign productImageWidth = 1600 %}")}
84
+ ${M("featureMedia == null","{% assign productImageWidth = 1600 %}")}
85
85
  <div
86
86
  class='gp-feature-image-carousel gp-feature-image-only'
87
- style="${n(W)}"
87
+ style="${c(P)}"
88
88
  >
89
89
  <div
90
90
  class="gp-relative"
91
- style="${n(C)}"
91
+ style="${c(T)}"
92
92
  >
93
- ${I}
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="${S(B)}"
99
- style="${n(P)}"
98
+ class="${R(Q)}"
99
+ style="${c(C)}"
100
100
  >
101
101
  <div
102
- class="gp-w-full gp-relative ${y("featureMedia == null or featureMedia.media_type == 'image'","{{ 'gp-h-0' }}","{{ 'gp-h-full !gp-pb-0' }}")}"
103
- style="${n(e("pb",H))} ${y("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 ${M("featureMedia == null or featureMedia.media_type == 'image'","{{ 'gp-h-0' }}","{{ 'gp-h-full !gp-pb-0' }}")}"
103
+ style="${c(e("pb",J))} ${M("featureMedia.media_type == 'video' or featureMedia.media_type == 'external_video'","{{ 'display: flex; align-items: center; justify-content: center' }}")}"
104
104
  >
105
- ${k()}
105
+ ${O()}
106
106
  </div>
107
107
  </div>
108
108
  </div>
109
109
  </div>
110
- `);return $(`
110
+ `);return _(`
111
111
  {% capture featureImageOnlyOne %}
112
- ${X()}
112
+ ${Z()}
113
113
  {% endcapture %}
114
- ${y("product.media.size > 1",`
115
- ${_(J,Q()," ")}
116
- ${_(!J,"{{ featureImageOnlyOne }}"," ")}
114
+ ${M("product.media.size > 1",`
115
+ ${b(K,X()," ")}
116
+ ${b(!K,"{{ featureImageOnlyOne }}"," ")}
117
117
  `,"{{ featureImageOnlyOne }}")}
118
118
  `)};export{FeatureImageWithGallery as default};
@@ -1 +1 @@
1
- import{jsx as e,Fragment as o,jsxs as t}from"react/jsx-runtime";import{useCurrentDevice as r}from"@gem-sdk/core";import{getAspectRatio as s}from"../../common/common.js";import{getEditorMinHeightClass as i}from"../../common/productGallery.js";import{getProductImagesClassName as m}from"../../composables/getProductImagesClassName.js";import{getProductImagesStyles as a}from"../../composables/getProductImagesStyles.js";import{getProductImagesAttr as l}from"../../composables/getProductImagesAttr.js";import{isFeatureMedia as c}from"../../common/productFeaturedImage.js";import d from"../child/MediaIcon.js";import n from"../lightbox/ButtonOpenLightBox.js";import p from"../../../../../image/components/NextImage.js";import u from"../../../../../carousel/components/root/Carousel.js";import g from"../../../../../carousel/components/item/CarouselItem.js";import{useGalleryCarousel as y}from"../../hooks/useGalleryCarousel.js";import{If as f}from"@gem-sdk/system";let ProductGalleryCarousel=h=>{let{builderPropUID:j,productImages:I,activeIndexFormFeatureImage:b,onClickFeatureArrow:C,builderPropsClass:P,arrow:v,priorityFeatureImage:T,...x}=h,w=r(),{galleryItemClasses:k}=m(x),{galleryCarouselSettingAttrs:q}=l(x),{galleryCarouselStyle:A,galleryCarouselItemStyle:G}=a(x),{moveToIdx:N,isDisplay:$,shapeByLayout:B,isEnableBorderActive:L,isShowButtonLightbox:M,filteredProductImages:D,handleClickCarouselItem:F,safeMoveToIdx:H,setSliderReady:O}=y(h);return e(o,{children:$&&e(u,{parentClass:P,rootClass:P,setting:q,styles:A,slidesClass:i(w,x.position,x.navigationPosition),builderProps:{uid:`${j}-carousel`},moveToIdx:H,isHiddenArrowWhenDisabled:!0,disableMarginAuto:!0,onLoaded:e=>{e&&O(!0)},children:D?.map((o,r)=>{let i=r===N,m=c(o.contentType)?o.previewImage:o.src;return t(g,{contentType:"productImage",className:k(`gp-gallery-image-item gem-slider-item-${j} ${i&&L?"gem-slider-item-active":""}`),onClickItem:()=>F(o?.id),style:G,"data-id":o?.id,"data-border":i&&x?.borderActive?"active":"deactive",children:[e(p,{draggable:"false",src:m,width:o?.width,height:o?.height,alt:o?.alt,setting:{aspectRatio:s(B),layout:x?.layout,qualityPercent:x?.qualityPercent,qualityType:x?.qualityType},style:{width:"100%",height:"100%",cursor:"pointer"},className:"product-list-image"}),e(d,{contentType:o?.contentType||""}),f(M,e(n,{}))]},o?.id)})})})};export{ProductGalleryCarousel as default};
1
+ import{jsx as e,Fragment as o,jsxs as t}from"react/jsx-runtime";import{useCurrentDevice as r}from"@gem-sdk/core";import{getAspectRatio as s}from"../../common/common.js";import{getEditorMinHeightClass as m}from"../../common/productGallery.js";import{getProductImagesClassName as a}from"../../composables/getProductImagesClassName.js";import{getProductImagesStyles as i}from"../../composables/getProductImagesStyles.js";import{getProductImagesAttr as l}from"../../composables/getProductImagesAttr.js";import{isFeatureMedia as n}from"../../common/productFeaturedImage.js";import c from"../child/MediaIcon.js";import p from"../lightbox/ButtonOpenLightBox.js";import d from"../../../../../image/components/NextImage.js";import u from"../../../../../carousel/components/root/Carousel.js";import g from"../../../../../carousel/components/item/CarouselItem.js";import{useGalleryCarousel as y}from"../../hooks/useGalleryCarousel.js";import{If as h}from"@gem-sdk/system";let ProductGalleryCarousel=f=>{let{builderPropUID:j,productImages:C,onSwiperReady:I,activeIndexFormFeatureImage:b,onClickFeatureArrow:P,builderPropsClass:T,arrow:w,priorityFeatureImage:x,...k}=f,q=r(),{galleryItemClasses:G}=a(k),{galleryCarouselSettingAttrs:N}=l(k),{galleryCarouselStyle:v,galleryCarouselItemStyle:A}=i(k),{isDisplay:S,shapeByLayout:B,isShowButtonLightbox:H,filteredProductImages:L,handleClickCarouselItem:M,safeMoveToIdx:R,setSliderReady:$}=y(f);return e(o,{children:S&&e(u,{parentClass:T,rootClass:T,setting:N,styles:v,slidesClass:m(q,k.position,k.navigationPosition),builderProps:{uid:`${j}-carousel`},moveToIdx:R,isHiddenArrowWhenDisabled:!0,disableMarginAuto:!0,isEnableCheckHasScrollableContent:!0,onLoaded:e=>{e&&$(!0)},onSwiperReady:I,children:L?.map(o=>{let r=n(o.contentType)?o.previewImage:o.src;return t(g,{contentType:"productImage",className:G(`gp-gallery-image-item gem-slider-item-${j}`),onClickItem:()=>M(o?.id),style:A,"data-id":o?.id,children:[e(d,{draggable:"false",src:r,width:o?.width,height:o?.height,alt:o?.alt,setting:{aspectRatio:s(B),layout:k?.layout,qualityPercent:k?.qualityPercent,qualityType:k?.qualityType},style:{width:"100%",height:"100%",cursor:"pointer"},className:"product-list-image"}),e(c,{contentType:o?.contentType||""}),h(H,e(p,{}))]},o?.id)})})})};export{ProductGalleryCarousel as default};