@gem-sdk/components 17.0.0-dev.24 → 17.0.0-dev.26

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 (24) hide show
  1. package/dist/cjs/carousel-v3/hooks/useCarousel.js +1 -1
  2. package/dist/cjs/modal/components/Modal.js +1 -1
  3. package/dist/cjs/modal/index.js +1 -1
  4. package/dist/cjs/product/components/product-images-v3/components/lightbox/ProductImagesLightBox.js +1 -1
  5. package/dist/cjs/product/components/product-images-v3/composables/getProductImagesClassName.js +1 -1
  6. package/dist/esm/carousel-v3/hooks/useCarousel.js +1 -1
  7. package/dist/esm/modal/components/Modal.js +1 -1
  8. package/dist/esm/modal/index.js +1 -1
  9. package/dist/esm/product/components/product-images-v3/components/lightbox/ProductImagesLightBox.js +1 -1
  10. package/dist/esm/product/components/product-images-v3/composables/getProductImagesClassName.js +1 -1
  11. package/dist/types/index.d.ts +0 -12
  12. package/package.json +2 -2
  13. package/dist/cjs/modal/components/ZoomButton.js +0 -2
  14. package/dist/cjs/product/components/product-images-v3/components/child/ProductImagesLightBoxPreview.js +0 -1
  15. package/dist/cjs/product/components/product-images-v3/components/lightbox/LightBoxCarousel.js +0 -2
  16. package/dist/cjs/product/components/product-images-v3/components/lightbox/LightBoxGalleryCarousel.js +0 -2
  17. package/dist/cjs/product/components/product-images-v3/components/lightbox/LightBoxImageZoom.js +0 -2
  18. package/dist/cjs/product/components/product-images-v3/components/lightbox/constants.js +0 -1
  19. package/dist/esm/modal/components/ZoomButton.js +0 -2
  20. package/dist/esm/product/components/product-images-v3/components/child/ProductImagesLightBoxPreview.js +0 -1
  21. package/dist/esm/product/components/product-images-v3/components/lightbox/LightBoxCarousel.js +0 -2
  22. package/dist/esm/product/components/product-images-v3/components/lightbox/LightBoxGalleryCarousel.js +0 -2
  23. package/dist/esm/product/components/product-images-v3/components/lightbox/LightBoxImageZoom.js +0 -2
  24. package/dist/esm/product/components/product-images-v3/components/lightbox/constants.js +0 -1
@@ -1 +1 @@
1
- "use strict";var e=require("react"),t=require("@gem-sdk/core"),r=require("./useTrackPreviewPause.js");exports.useCarousel=(n,s,i,a)=>{let l;let{builderProps:u,moveToIdx:o,styles:c,setting:d,isHiddenArrowWhenDisabled:p=!0,elmRef:f,isEnableCheckHasScrollableContent:m,centerInsufficientSlides:v,onClickArrow:y,onHandleChangeSlideByInteraction:g,onChangeActive:S}=n,[k,h]=e.useState(!0),[V,b]=e.useState(!0),[B,R]=e.useState(!1),{loop:P,navigationEnable:w={desktop:!0},navigationStyle:T}=d??{},[N,E]=e.useState(a),[x,C]=e.useState(d?.defaultCurrentSlider??0),{isFirstPreviewClicked:M}=r.default(d?.runPreview),I=e.useRef(),O=e.useRef(o??0),L=t.useCurrentDevice(),D=t.useEditorMode(),{onListener:z,saveToElementInteractionData:q,getInteractionPreviousData:H,trigger:j}=t.useInteraction(),A=e.useMemo(()=>t.getResponsiveValueByScreen(P,L,!1),[P,L]),F=e.useCallback(()=>{if(!d?.slidesToShow)return null;let e={};return t.DEVICES.forEach(r=>{let n=t.getResponsiveValueByScreen(d?.slidesToShow,r);e[r]=n?"auto"===n?4:Math.floor(n):0}),e},[d?.slidesToShow]),$=e.useCallback(()=>{if(!d?.slidesToShow)return null;let e={};return t.DEVICES.forEach(r=>{let n=t.getResponsiveValueByScreen(d?.slidesToShow,r);e[r]=n?"auto"===n?4:n:0}),e},[d?.slidesToShow]),U=e.useMemo(()=>{let e=$();if(e)return e;let r={};return t.DEVICES.forEach(e=>{let n=t.getResponsiveValueByScreen(d?.sneakPeak,e),s=n?"center"===t.getResponsiveValueByScreen(d?.sneakPeakType,e)?t.getResponsiveValueByScreen(d?.sneakPeakOffsetCenter,e)??0:t.getResponsiveValueByScreen(d?.sneakPeakOffsetForward,e)??0:0,i="center"===t.getResponsiveValueByScreen(d?.sneakPeakType,e)?-2:-1,a=t.getResponsiveValueByScreen(d?.itemNumber,e);r[e]="number"==typeof a?a+s/100*i:"auto"}),r},[$,d?.itemNumber,d?.sneakPeak,d?.sneakPeakOffsetCenter,d?.sneakPeakOffsetForward,d?.sneakPeakType]),W=e.useMemo(()=>{let e=t.getResponsiveValueByScreen(U,L),r=t.getResponsiveValueByScreen(P,L,!1);return r&&Number(e??0)>a||!r&&Number(e??0)>=a},[U,L,P,a]),G=e.useMemo(()=>{let e=t.getResponsiveValueByScreen(w,L),r=t.getResponsiveValueByScreen(T,L);return i&&e&&"none"!==r&&k&&!W},[w,L,T,i,k,W]),J=e.useMemo(()=>{let e=F();return e||d?.itemNumber},[F,d?.itemNumber]),K=e.useCallback(e=>{let r="center"===t.getResponsiveValueByScreen(d?.sneakPeakType,e)?2:1;return"number"==typeof t.getResponsiveValueByScreen(J,e,4)?t.getResponsiveValueByScreen(J,e,4)-r:void 0},[d?.sneakPeakType,J]),Q=()=>{let e="auto"===t.getResponsiveValueByScreen(U,L,1)?1:t.getResponsiveValueByScreen(U,L,1);return e??1},X=e=>{let t=e*Q();return t>=N-Q()&&(t=N-Q()),t},Y=e=>{let r="edit"===D?{[e]:!1}:d?.enableDrag;return t.getResponsiveValueByScreen(r,e)};e.useImperativeHandle(s,()=>({nextSlideInteraction:ee,previousSlideInteraction:et,moveToSlideInteraction:er,getSwiper:()=>i}));let Z=e=>{i?.slideTo(e),g&&g(e)},_=(e,t)=>{let{key:r,data:n,isRollback:s,element:a}=e,l=Math.max(i?.activeIndex??0,0);if(s&&void 0===n)return;if(s){if("specific"===t){let{previousData:e}=H(a,r);Z(Number(e))}else Z("next"===t?l-1:l+1);return}let u="specific"===t?Math.max(O.current,0):l;q(a,r,u.toString());let o="specific"===t?Number(n):"next"===t?l+1:l-1;Z(o)},ee=e=>{_(e,"next")},et=e=>{_(e,"previous")},er=e=>{_(e,"specific")},en=Q(),es=e.useMemo(()=>!!N&&i&&t.getResponsiveValueByScreen(d?.dot,L)&&!W&&a>1,[N,i,d?.dot,L,W,a]),ei=t.getResponsiveValueByScreen(d?.vertical,L,!1)?"vertical":"horizontal",ea=e=>{let{swiperWidth:t,slidesPerView:r,itemNumberByDevice:n,centeredSlides:s}=e;if(!s||!n)return 0;let i=t/r,a=(Number(n)-2)/2-1;return-(i/2+a*i)},el=e.useMemo(()=>{let e=t.getResponsiveValueByScreen(P,L,!1),r=i?.width??0,n={0:"mobile",768:"tablet",1025:"desktop"},s=Number(Object.entries(n).find(([,e])=>e===L)?.[0]??1025),a=Object.entries(n).reduce((e,[n,s])=>{if(!e)return;let i=Number(n),a=t.getResponsiveValueByScreen(d?.sneakPeak,s,!1),l=a&&"center"===t.getResponsiveValueByScreen(d?.sneakPeakType,s),u=t.getResponsiveValueByScreen(d?.itemNumber,s),c=Y(s),p=ea({swiperWidth:r,slidesPerView:en,itemNumberByDevice:u,centeredSlides:l}),f=d?.initialSlide||o||0;return e[i]={allowTouchMove:c,slidesOffsetBefore:p,slidesOffsetAfter:p,initialSlide:f,centeredSlides:l},e},{}),l="center"===t.getResponsiveValueByScreen(d?.sneakPeakType,L)&&"number"==typeof t.getResponsiveValueByScreen(d?.itemNumber,L)&&Number(t.getResponsiveValueByScreen(d?.itemNumber,L))>1;return{speed:c?.playSpeed??500,dir:d?.rtl?"rtl":"ltr",spaceBetween:t.getResponsiveValueByScreen(c?.spacing,L)||0,loop:e,slidesPerView:"auto"===t.getResponsiveValueByScreen(U,L,1)?"auto":en,direction:ei,breakpoints:a,isSneakPeekCenter:l,slidesOffsetBefore:a?.[s]?.slidesOffsetBefore,thumbs:{slideThumbActiveClass:"gem-slider-item-active"},loopPreventsSliding:!1,autoplay:!!d?.autoplay&&{delay:(d?.autoplayTimeout??1)*1e3,pauseOnMouseEnter:d?.pauseOnHover,stopOnLastSlide:!e},...v&&{centerInsufficientSlides:!0}}},[c?.playSpeed,d?.rtl,c?.spacing,L,P,en,d?.sneakPeakType,d?.pauseOnHover,d?.autoplayTimeout,i?.width,N]),eu=e.useCallback(e=>{let r=i&&i.params?.slidesPerView,n=r?i?.slidesPerViewDynamic():1;if(e<=1)return!1;let s="auto"===el.slidesPerView?n:el.slidesPerView;if(!A||e<Number(s)||!k)return!1;let a=t.getResponsiveValueByScreen(d?.sneakPeak,L,!1),l=a&&"center"===t.getResponsiveValueByScreen(d?.sneakPeakType,L),u=Number.isNaN(Number(s))?1:Math.ceil(Number(s));l&&u%2==0&&(u+=1);let o=l?Math.max(1,Math.ceil(u/2)):1;return e<u+o},[i,el.slidesPerView,A,k,d?.sneakPeak,d?.sneakPeakType,L]);return e.useEffect(()=>{let e=`[data-id="${u?.uid}"]`;z({event:"gp:change-next-slide",selector:e,elementRef:I},e=>{let{data:t,isRollback:r,uniqueStorageKey:n}=e||{};ee({element:I.current,data:t,isRollback:r,key:n})}),z({event:"gp:change-previous-slide",selector:e,elementRef:I},e=>{let{data:t,isRollback:r,uniqueStorageKey:n}=e||{};et({element:I.current,data:t,isRollback:r,key:n})}),z({event:"gp:change-image-step",selector:e,elementRef:I},e=>{let{data:t,isRollback:r,uniqueStorageKey:n}=e||{};er({element:I.current,data:t,isRollback:r,key:n})}),z({event:"gp:change-index-slide",selector:e},t=>{let r=document.querySelector(e),{data:n,isRollback:s,uniqueStorageKey:i}=t||{};er({element:r,data:n,isRollback:s,key:i})})},[]),e.useEffect(()=>{E(a)},[a]),e.useEffect(()=>{if("number"==typeof o){if(O.current=o,i?.params?.loop){i?.slideToLoop(o);return}i?.slideTo(o)}},[i,o,p]),e.useEffect(()=>{if(!i)return;let e=()=>{E(i.slides.length)},t=()=>{S&&S(i.realIndex)},r=()=>{C(i.realIndex),b(i?.translate===0),R(i?.translate<=i?.maxTranslate())};return i.on("transitionEnd",r),i.on("slideChange",e),i.on("slideChangeTransitionStart",t),()=>{i?.off("slideChange",e),i?.off("slideChangeTransitionStart",t),i?.off("transitionEnd",r)}},[el.loop,i]),e.useEffect(()=>{i?.wrapperEl&&(i.wrapperEl.style.transitionTimingFunction=d?.animationMode??"ease")},[i,d?.animationMode]),e.useEffect(()=>{if(i&&i.autoplay){let e="edit"===D?!!M&&d?.runPreview&&d?.autoplay:d?.autoplay;e?i.autoplay.start():i.autoplay.stop()}},[i,d?.autoplay,D,M,d?.runPreview]),e.useEffect(()=>{let e=e=>{if(u?.uid!==e?.detail.componentUid)return;let t=e?.detail.index||0;i?.slideToLoop(t)};return window.addEventListener("move-to-idx",e),()=>window.removeEventListener("move-to-idx",e)},[i,u?.uid]),e.useEffect(()=>{if(!i)return;let e=i.el;e?.classList?.remove("swiper-horizontal","swiper-vertical");let r=t.getResponsiveValueByScreen(d?.vertical,L)?"swiper-vertical":"swiper-horizontal";e?.classList?.add(r),i?.slides?.forEach(e=>{e.style.width="",e.style.height=""}),i?.update()},[L,d?.vertical,i,i?.params]),e.useEffect(()=>{if(!i||!m)return;let e=()=>{let e=i?.slides?.slice(0,a)||[],t=Number(el?.spaceBetween||0),r=e.reduce((e,t)=>e+t.offsetHeight,0)+t*(e.length-1),n=e.reduce((e,t)=>e+t.offsetWidth,0)+t*(e.length-1),s=i.params?.direction==="horizontal"?n>(i.width||0):r>(i.height||0);h(s)};return e(),i.on("resize",e),i.on("update",e),i.on("slidesLengthChange",e),i.on("orientationchange",e),()=>{i.off("resize",e),i.off("update",e),i.off("slidesLengthChange",e),i.off("orientationchange",e)}},[i]),{isInfinity:A,sliderSettings:el,totalSlideItem:N,currentSlide:x,localRef:I,isRenderDots:es,showNavigation:G,isScrollToStart:V,isScrollToEnd:B,handleDotClick:(e,r)=>{let n=d?.sneakPeak?.[L]?e:r?e:X(e);if(r){if(a<en){i?.slideTo(n);return}if(i?.realIndex===n)return;if(n===Number(i?.realIndex)+1||0===n&&i?.realIndex===a-1)return i?.slideNext();if(n===Number(i?.realIndex)-1||n===a-1&&i?.realIndex===0)return i?.slidePrev();let e="center"===t.getResponsiveValueByScreen(d?.sneakPeakType,L)&&"number"==typeof t.getResponsiveValueByScreen(d?.itemNumber,L)&&Number(t.getResponsiveValueByScreen(d?.itemNumber,L))%2==0;e?i?.slideToLoopCenterSneakPeek(n):i?.slideToLoop(n)}else i?.slideTo(n);O.current=n},getItemsPerPage:Q,handleNextAndPrevSlide:e=>{"next"===e?i?.slideNext():i?.slidePrev(),y&&(l&&clearTimeout(l),l=setTimeout(()=>y&&y(),500))},dispatchEventSelectSlide:e=>{j({event:"gp:rollback:select-slide",selector:`[data-id="${u?.uid}"]`,element:f?.current}),j({event:"gp:select-slide",selector:`[data-id="${u?.uid}"]`,data:e,element:f?.current})},getNumberOfFullWidthShow:K,setCurrentSlide:C,shouldDuplicateSlides:eu,setIsScrollToStart:b,setIsScrollToEnd:R,isHideNavigation:W}};
1
+ "use strict";var e=require("react"),t=require("@gem-sdk/core"),n=require("./useTrackPreviewPause.js");exports.useCarousel=(r,s,i,a)=>{let l;let{builderProps:u,moveToIdx:o,styles:d,setting:c,isHiddenArrowWhenDisabled:p=!0,elmRef:f,isEnableCheckHasScrollableContent:m,onClickArrow:y,onHandleChangeSlideByInteraction:v,onChangeActive:g}=r,[S,k]=e.useState(!0),[h,V]=e.useState(!0),[b,B]=e.useState(!1),{loop:R,navigationEnable:P={desktop:!0},navigationStyle:T}=c??{},[w,N]=e.useState(a),[E,x]=e.useState(c?.defaultCurrentSlider??0),{isFirstPreviewClicked:C}=n.default(c?.runPreview),M=e.useRef(),I=e.useRef(o??0),O=t.useCurrentDevice(),L=t.useEditorMode(),{onListener:D,saveToElementInteractionData:z,getInteractionPreviousData:q,trigger:H}=t.useInteraction(),j=e.useMemo(()=>t.getResponsiveValueByScreen(R,O,!1),[R,O]),A=e.useCallback(()=>{if(!c?.slidesToShow)return null;let e={};return t.DEVICES.forEach(n=>{let r=t.getResponsiveValueByScreen(c?.slidesToShow,n);e[n]=r?"auto"===r?4:Math.floor(r):0}),e},[c?.slidesToShow]),F=e.useCallback(()=>{if(!c?.slidesToShow)return null;let e={};return t.DEVICES.forEach(n=>{let r=t.getResponsiveValueByScreen(c?.slidesToShow,n);e[n]=r?"auto"===r?4:r:0}),e},[c?.slidesToShow]),$=e.useMemo(()=>{let e=F();if(e)return e;let n={};return t.DEVICES.forEach(e=>{let r=t.getResponsiveValueByScreen(c?.sneakPeak,e),s=r?"center"===t.getResponsiveValueByScreen(c?.sneakPeakType,e)?t.getResponsiveValueByScreen(c?.sneakPeakOffsetCenter,e)??0:t.getResponsiveValueByScreen(c?.sneakPeakOffsetForward,e)??0:0,i="center"===t.getResponsiveValueByScreen(c?.sneakPeakType,e)?-2:-1,a=t.getResponsiveValueByScreen(c?.itemNumber,e);n[e]="number"==typeof a?a+s/100*i:"auto"}),n},[F,c?.itemNumber,c?.sneakPeak,c?.sneakPeakOffsetCenter,c?.sneakPeakOffsetForward,c?.sneakPeakType]),G=e.useMemo(()=>{let e=t.getResponsiveValueByScreen($,O),n=t.getResponsiveValueByScreen(R,O,!1);return n&&Number(e??0)>a||!n&&Number(e??0)>=a},[$,O,R,a]),U=e.useMemo(()=>{let e=t.getResponsiveValueByScreen(P,O),n=t.getResponsiveValueByScreen(T,O);return i&&e&&"none"!==n&&S&&!G},[P,O,T,i,S,G]),W=e.useMemo(()=>{let e=A();return e||c?.itemNumber},[A,c?.itemNumber]),J=e.useCallback(e=>{let n="center"===t.getResponsiveValueByScreen(c?.sneakPeakType,e)?2:1;return"number"==typeof t.getResponsiveValueByScreen(W,e,4)?t.getResponsiveValueByScreen(W,e,4)-n:void 0},[c?.sneakPeakType,W]),K=()=>{let e="auto"===t.getResponsiveValueByScreen($,O,1)?1:t.getResponsiveValueByScreen($,O,1);return e??1},Q=e=>{let t=e*K();return t>=w-K()&&(t=w-K()),t},X=e=>{let n="edit"===L?{[e]:!1}:c?.enableDrag;return t.getResponsiveValueByScreen(n,e)};e.useImperativeHandle(s,()=>({nextSlideInteraction:_,previousSlideInteraction:ee,moveToSlideInteraction:et,getSwiper:()=>i}));let Y=e=>{i?.slideTo(e),v&&v(e)},Z=(e,t)=>{let{key:n,data:r,isRollback:s,element:a}=e,l=Math.max(i?.activeIndex??0,0);if(s&&void 0===r)return;if(s){if("specific"===t){let{previousData:e}=q(a,n);Y(Number(e))}else Y("next"===t?l-1:l+1);return}let u="specific"===t?Math.max(I.current,0):l;z(a,n,u.toString());let o="specific"===t?Number(r):"next"===t?l+1:l-1;Y(o)},_=e=>{Z(e,"next")},ee=e=>{Z(e,"previous")},et=e=>{Z(e,"specific")},en=K(),er=e.useMemo(()=>!!w&&i&&t.getResponsiveValueByScreen(c?.dot,O)&&!G&&a>1,[w,i,c?.dot,O,G,a]),es=t.getResponsiveValueByScreen(c?.vertical,O,!1)?"vertical":"horizontal",ei=e.useMemo(()=>"center"===t.getResponsiveValueByScreen(c?.sneakPeakType,O)&&"number"==typeof t.getResponsiveValueByScreen(c?.itemNumber,O)&&Number(t.getResponsiveValueByScreen(c?.itemNumber,O))%2==0,[c?.sneakPeakType,c?.itemNumber,O]),ea=e=>{let{swiperWidth:t,slidesPerView:n,itemNumberByDevice:r,centeredSlides:s}=e;if(!s||!r)return 0;let i=t/n,a=(Number(r)-2)/2-1;return-(i/2+a*i)},el=e.useMemo(()=>{let e=t.getResponsiveValueByScreen(R,O,!1),n=i?.width??0,r={0:"mobile",768:"tablet",1025:"desktop"},s=Number(Object.entries(r).find(([,e])=>e===O)?.[0]??1025),a=Object.entries(r).reduce((e,[r,s])=>{if(!e)return;let i=Number(r),a=t.getResponsiveValueByScreen(c?.sneakPeak,s,!1),l=a&&"center"===t.getResponsiveValueByScreen(c?.sneakPeakType,s),u=t.getResponsiveValueByScreen(c?.itemNumber,s),d=X(s),p=ea({swiperWidth:n,slidesPerView:en,itemNumberByDevice:u,centeredSlides:l}),f=c?.initialSlide||o||0,m={allowTouchMove:d,slidesOffsetBefore:p,slidesOffsetAfter:p,initialSlide:f,centeredSlides:l,...l&&{centerInsufficientSlides:!0}};return e[i]=m,e},{}),l="center"===t.getResponsiveValueByScreen(c?.sneakPeakType,O)&&"number"==typeof t.getResponsiveValueByScreen(c?.itemNumber,O)&&Number(t.getResponsiveValueByScreen(c?.itemNumber,O))>1;return{speed:d?.playSpeed??500,dir:c?.rtl?"rtl":"ltr",spaceBetween:t.getResponsiveValueByScreen(d?.spacing,O)||0,loop:e,slidesPerView:"auto"===t.getResponsiveValueByScreen($,O,1)?"auto":en,direction:es,breakpoints:a,isSneakPeekCenter:l,slidesOffsetBefore:a?.[s]?.slidesOffsetBefore,thumbs:{slideThumbActiveClass:"gem-slider-item-active"},loopPreventsSliding:!1,autoplay:{delay:(c?.autoplayTimeout??1)*1e3,pauseOnMouseEnter:c?.pauseOnHover,stopOnLastSlide:!e}}},[d?.playSpeed,c?.rtl,d?.spacing,O,R,en,c?.sneakPeakType,c?.pauseOnHover,c?.autoplayTimeout,i?.width,w]),eu=e.useCallback(e=>{let n=i&&i.params?.slidesPerView,r=n?i?.slidesPerViewDynamic():1;if(e<=1)return!1;let s="auto"===el.slidesPerView?r:el.slidesPerView;if(!j||e<Number(s)||!S)return!1;let a=t.getResponsiveValueByScreen(c?.sneakPeak,O,!1),l=a&&"center"===t.getResponsiveValueByScreen(c?.sneakPeakType,O),u=Number.isNaN(Number(s))?1:Math.ceil(Number(s));l&&u%2==0&&(u+=1);let o=l?Math.max(1,Math.ceil(u/2)):1;return e<u+o},[i,el.slidesPerView,j,S,c?.sneakPeak,c?.sneakPeakType,O]);e.useEffect(()=>{let e=`[data-id="${u?.uid}"]`;D({event:"gp:change-next-slide",selector:e,elementRef:M},e=>{let{data:t,isRollback:n,uniqueStorageKey:r}=e||{};_({element:M.current,data:t,isRollback:n,key:r})}),D({event:"gp:change-previous-slide",selector:e,elementRef:M},e=>{let{data:t,isRollback:n,uniqueStorageKey:r}=e||{};ee({element:M.current,data:t,isRollback:n,key:r})}),D({event:"gp:change-image-step",selector:e,elementRef:M},e=>{let{data:t,isRollback:n,uniqueStorageKey:r}=e||{};et({element:M.current,data:t,isRollback:n,key:r})}),D({event:"gp:change-index-slide",selector:e},t=>{let n=document.querySelector(e),{data:r,isRollback:s,uniqueStorageKey:i}=t||{};et({element:n,data:r,isRollback:s,key:i})})},[]),e.useEffect(()=>{N(a)},[a]),e.useEffect(()=>{if("number"==typeof o){if(I.current=o,i?.params?.loop){i?.slideToLoop(o);return}i?.slideTo(o)}},[i,o,p]);let eo=()=>{if(!i||!ei)return;let e=K(),t=i.slidesGrid.length||0,n=i.snapIndex>=Math.max(t-2*Math.floor(e/2),0);i.isEnd=n,i.allowSlideNext=!n};return e.useEffect(()=>{if(!i)return;let e=()=>{N(i.slides.length),eo()},t=()=>{g&&g(i.realIndex)},n=()=>{x(i.realIndex),V(i?.translate===0),B(i?.translate<=i?.maxTranslate())};return i.on("transitionEnd",n),i.on("slideChange",e),i.on("slideChangeTransitionStart",t),()=>{i?.off("slideChange",e),i?.off("slideChangeTransitionStart",t),i?.off("transitionEnd",n)}},[el.loop,i]),e.useEffect(()=>{i?.wrapperEl&&(i.wrapperEl.style.transitionTimingFunction=c?.animationMode??"ease")},[i,c?.animationMode]),e.useEffect(()=>{if(i&&i.autoplay){let e="edit"===L?!!C&&c?.runPreview&&c?.autoplay:c?.autoplay;e?i.autoplay.start():i.autoplay.stop()}},[i,c?.autoplay,L,C,c?.runPreview]),e.useEffect(()=>{let e=e=>{if(u?.uid!==e?.detail.componentUid)return;let t=e?.detail.index||0;i?.slideToLoop(t)};return window.addEventListener("move-to-idx",e),()=>window.removeEventListener("move-to-idx",e)},[i,u?.uid]),e.useEffect(()=>{if(!i)return;let e=i.el;e?.classList?.remove("swiper-horizontal","swiper-vertical");let n=t.getResponsiveValueByScreen(c?.vertical,O)?"swiper-vertical":"swiper-horizontal";e?.classList?.add(n),i?.slides?.forEach(e=>{e.style.width="",e.style.height=""}),i?.update()},[O,c?.vertical,i,i?.params]),e.useEffect(()=>{if(!i||!m)return;let e=()=>{let e=i?.slides?.slice(0,a)||[],t=Number(el?.spaceBetween||0),n=e.reduce((e,t)=>e+t.offsetHeight,0)+t*(e.length-1),r=e.reduce((e,t)=>e+t.offsetWidth,0)+t*(e.length-1),s=i.params?.direction==="horizontal"?r>(i.width||0):n>(i.height||0);k(s)};return e(),i.on("resize",e),i.on("update",e),i.on("slidesLengthChange",e),i.on("orientationchange",e),()=>{i.off("resize",e),i.off("update",e),i.off("slidesLengthChange",e),i.off("orientationchange",e)}},[i]),{isInfinity:j,sliderSettings:el,totalSlideItem:w,currentSlide:E,localRef:M,isRenderDots:er,showNavigation:U,isScrollToStart:h,isScrollToEnd:b,handleDotClick:(e,n)=>{let r=c?.sneakPeak?.[O]?e:n?e:Q(e);if(console.log("\uD83D\uDE80 ~ handleDotClick ~ index:",r),i&&(i.isEnd=!0),n){if(a<en){i?.slideTo(r);return}if(i?.realIndex===r)return;if(r===Number(i?.realIndex)+1||0===r&&i?.realIndex===a-1)return i?.slideNext();if(r===Number(i?.realIndex)-1||r===a-1&&i?.realIndex===0)return i?.slidePrev();let e="center"===t.getResponsiveValueByScreen(c?.sneakPeakType,O)&&"number"==typeof t.getResponsiveValueByScreen(c?.itemNumber,O)&&Number(t.getResponsiveValueByScreen(c?.itemNumber,O))%2==0;e?i?.slideToLoopCenterSneakPeek(r):i?.slideToLoop(r)}else i?.slideTo(r);I.current=r},getItemsPerPage:K,handleNextAndPrevSlide:e=>{"next"===e?i?.slideNext():i?.slidePrev(),y&&(l&&clearTimeout(l),l=setTimeout(()=>y&&y(),500))},dispatchEventSelectSlide:e=>{H({event:"gp:rollback:select-slide",selector:`[data-id="${u?.uid}"]`,element:f?.current}),H({event:"gp:select-slide",selector:`[data-id="${u?.uid}"]`,data:e,element:f?.current})},getNumberOfFullWidthShow:J,setCurrentSlide:x,shouldDuplicateSlides:eu,setIsScrollToStart:V,setIsScrollToEnd:B,isHideNavigation:G}};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("@gem-sdk/core"),l=require("react"),r=require("react-dom"),i=require("../../grid/components/ChildrenDroppable.js"),n=require("../hooks/useModalContainer.js"),o=require("./ZoomButton.js");exports.default=({setting:s,styles:a,children:c,willUnmount:p,closeOnEscape:d,onKeypressEscape:g,keyCodeForClose:u,closeOnClickOutside:f,onClose:h,contentClass:m,wrapperContentClasses:v,disableIframeClickEvent:x,lockBodyScroll:w,zoomButton:j,closeButtonClassName:y})=>{let{open:C}=s??{},b=n.default(),k=l.useRef(null),L=l.useRef(null),N=l.useRef(null),{isShowButton:q=!1,isZoomIn:E,onToggleZoom:A}=j??{},M=l.useCallback(e=>{let t=e.code;u?.includes(t),d&&"Escape"===t&&g?.(e)},[d,u,g]);l.useEffect(()=>(document.addEventListener("keydown",M,!1),()=>{document.removeEventListener("keydown",M,!1),p?.()}),[M,p]);let Z=l.useCallback(e=>{let t=e.target===k.current,l=e.target===L.current;(f&&t||l)&&(window?.parent?.postMessage?.(JSON.stringify({type:"active-modal",value:!1}),"*"),h?.())},[f,h]);return(l.useEffect(()=>{window?.parent?.postMessage?.(JSON.stringify({type:"active-modal",value:C}),"*")},[C]),l.useEffect(()=>{if(!C||!w)return;let{style:e}=document.body;return N.current={overflow:e.overflow,touchAction:e.touchAction},e.overflow="hidden",e.touchAction="none",()=>{let t=N.current;t&&(e.overflow=t.overflow,e.touchAction=t.touchAction,N.current=null)}},[C,w]),b&&C)?r.createPortal(e.jsx(e.Fragment,{children:e.jsx("div",{className:"gp-fixed gp-inset-0 gp-z-50 gp-overflow-y-auto","data-disable-iframe-click-event":x||!1,children:e.jsxs("div",{className:"gp-min-h-screen gp-px-4 gp-text-center",children:[e.jsx("div",{ref:k,className:t.cls("gp-fixed gp-inset-0 gp-bg-black/60 gp-backdrop-blur-sm gp-transition-all gp-duration-100",{"gp-opacity-100":C,"gp-opacity-0":!C}),onClick:Z,"aria-hidden":!0}),e.jsx("span",{className:"gp-inline-block gp-h-screen gp-align-middle"}),e.jsxs("div",{className:t.cls("gp-relative gp-my-8 gp-inline-block gp-w-full gp-overflow-hidden gp-rounded gp-bg-white gp-p-6 gp-text-left gp-align-middle gp-shadow-xl gp-transition-all gp-duration-100",{"gp-max-w-2xl":!a?.width,"gp-scale-100 gp-opacity-100":C,"gp-scale-0 gp-opacity-0":!C},m),style:{width:a?.width},children:[e.jsx("div",{className:t.cls("gp-absolute gp-right-[16px] gp-top-[16px] gp-z-10 gp-cursor-pointer",y??""),onClick:Z,"aria-hidden":"true",children:e.jsx("svg",{ref:L,width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:e.jsx("path",{d:"M11.1758 12.0241C11.4101 12.2584 11.79 12.2584 12.0243 12.0241C12.2586 11.7898 12.2586 11.4099 12.0243 11.1755L8.84858 7.9998L12.0243 4.82407C12.2586 4.58975 12.2586 4.20986 12.0243 3.97554C11.79 3.74123 11.4101 3.74123 11.1758 3.97554L8.00005 7.15128L4.82431 3.97554C4.59 3.74123 4.2101 3.74123 3.97578 3.97554C3.74147 4.20986 3.74147 4.58975 3.97578 4.82407L7.15152 7.9998L3.97579 11.1755C3.74147 11.4099 3.74147 11.7898 3.97579 12.0241C4.2101 12.2584 4.59 12.2584 4.82431 12.0241L8.00005 8.84833L11.1758 12.0241Z",fill:"#676767"})})}),q&&e.jsx(o.default,{isZoomIn:E,onToggleZoom:A}),e.jsx("div",{className:v,children:t.isEmptyChildren(c)?e.jsx(i.default,{}):c})]})]})})}),b):null};
2
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),i=require("@gem-sdk/core"),l=require("react-dom"),r=require("../hooks/useModalContainer.js"),s=require("../../grid/components/ChildrenDroppable.js");exports.default=({setting:a,styles:p,children:n,willUnmount:d,closeOnEscape:g,onKeypressEscape:c,keyCodeForClose:o,closeOnClickOutside:u,onClose:h,contentClass:x,disableIframeClickEvent:m})=>{let{open:f}=a??{},v=r.default(),w=t.useRef(null),j=t.useRef(null),y=t.useCallback(e=>{let t=e.code;o?.includes(t),g&&"Escape"===t&&c?.(e)},[g,o,c]);t.useEffect(()=>(document.addEventListener("keydown",y,!1),()=>{document.removeEventListener("keydown",y,!1),d?.()}),[y,d]);let C=t.useCallback(e=>{let t=e.target===w.current,i=e.target===j.current;(u&&t||i)&&(window?.parent?.postMessage?.(JSON.stringify({type:"active-modal",value:!1}),"*"),h?.())},[u,h]);return(t.useEffect(()=>{window?.parent?.postMessage?.(JSON.stringify({type:"active-modal",value:f}),"*")},[f]),v&&f)?l.createPortal(e.jsx(e.Fragment,{children:e.jsx("div",{className:"gp-fixed gp-inset-0 gp-z-50 gp-overflow-y-auto","data-disable-iframe-click-event":m||!1,children:e.jsxs("div",{className:"gp-min-h-screen gp-px-4 gp-text-center",children:[e.jsx("div",{ref:w,className:i.cls("gp-fixed gp-inset-0 gp-bg-black/60 gp-backdrop-blur-sm gp-transition-all gp-duration-100",{"gp-opacity-100":f,"gp-opacity-0":!f}),onClick:C,"aria-hidden":!0}),e.jsx("span",{className:"gp-inline-block gp-h-screen gp-align-middle"}),e.jsxs("div",{className:i.cls("gp-relative gp-my-8 gp-inline-block gp-w-full gp-overflow-hidden gp-rounded gp-bg-white gp-p-6 gp-text-left gp-align-middle gp-shadow-xl gp-transition-all gp-duration-100",{"gp-max-w-2xl":!p?.width,"gp-scale-100 gp-opacity-100":f,"gp-scale-0 gp-opacity-0":!f},x),style:{width:p?.width},children:[e.jsx("div",{className:"gp-absolute gp-right-[16px] gp-top-[16px] gp-z-10 gp-cursor-pointer",onClick:C,"aria-hidden":"true",children:e.jsx("svg",{ref:j,width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:e.jsx("path",{d:"M11.1758 12.0241C11.4101 12.2584 11.79 12.2584 12.0243 12.0241C12.2586 11.7898 12.2586 11.4099 12.0243 11.1755L8.84858 7.9998L12.0243 4.82407C12.2586 4.58975 12.2586 4.20986 12.0243 3.97554C11.79 3.74123 11.4101 3.74123 11.1758 3.97554L8.00005 7.15128L4.82431 3.97554C4.59 3.74123 4.2101 3.74123 3.97578 3.97554C3.74147 4.20986 3.74147 4.58975 3.97578 4.82407L7.15152 7.9998L3.97579 11.1755C3.74147 11.4099 3.74147 11.7898 3.97579 12.0241C4.2101 12.2584 4.59 12.2584 4.82431 12.0241L8.00005 8.84833L11.1758 12.0241Z",fill:"#676767"})})}),e.jsx("div",{children:i.isEmptyChildren(n)?e.jsx(s.default,{}):n})]})]})})}),v):null};
@@ -1 +1 @@
1
- "use strict";var e=require("./components/confirm.js");require("react/jsx-runtime"),require("@gem-sdk/core"),require("react"),require("react-dom");var r=require("./settings/Modal.js");const o={Modal:r.default};exports.openConfirm=e.openConfirm,exports.modalSetting=o;
1
+ "use strict";var e=require("./components/confirm.js");require("react/jsx-runtime"),require("react"),require("@gem-sdk/core"),require("react-dom");var r=require("./settings/Modal.js");const o={Modal:r.default};exports.openConfirm=e.openConfirm,exports.modalSetting=o;
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("@gem-sdk/core"),t=require("react");require("../../../../../modal/components/confirm.js");var l=require("../../../../../modal/components/Modal.js"),o=require("./LightBoxCarousel.js"),p=require("./LightBoxGalleryCarousel.js"),i=require("./LightBoxImageZoom.js");exports.default=({builderPropUID:r,productImages:g,open:n,onHandleClose:a})=>{let u=s.useFeaturedImageGlobal(),[c,d]=t.useState(!1),[m,x]=t.useState(0),f=t.useMemo(()=>(g||[]).map((e,s)=>({...e,id:e.id||`gp-lightbox-${s}`,src:e.src||e.previewImage,alt:e.alt||"Product image"})),[g]),j=t.useMemo(()=>!["VIDEO","EXTERNAL_VIDEO","MODEL_3D"].includes(f[m]?.contentType||""),[f,m]),h=t.useMemo(()=>{let e=f.findIndex(e=>e.id===u?.id);return e&&e>0?e:0},[f,u]);t.useEffect(()=>{n&&(d(!1),x(h))},[n]);let I=()=>{d(e=>!e)};return e.jsx(l.default,{setting:{open:n},styles:{width:"calc(100% + 2rem)"},closeOnClickOutside:!0,closeOnEscape:!0,onKeypressEscape:()=>a(),onClose:()=>{a()},lockBodyScroll:!0,disableIframeClickEvent:!0,contentClass:"!gp--mx-4 !gp-my-auto !gp-h-screen !gp-max-w-none !gp-rounded-none !gp-bg-[#0F0F10] !gp-px-0 !gp-py-0 !gp-text-white",zoomButton:{isShowButton:j,isZoomIn:c,onToggleZoom:I},closeButtonClassName:"gp-top-[34px] gp-text-[#AAAAAA] gp-scale-125",wrapperContentClasses:"gp-size-full",children:e.jsx("div",{className:"gp-flex gp-gap-2 gp-size-full gp-min-w-0 gp-flex-col gp-items-center gp-justify-center",children:c?e.jsx(i.default,{image:f[m],onExitZoom:I}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"gp-flex gp-w-full gp-min-w-0 gp-flex-1 gp-items-center gp-justify-center gp-overflow-hidden gp-px-[52px] gp-mt-[52px] mobile:gp-px-0",children:e.jsx(o.default,{builderPropUID:r,displayImages:f,activeIndex:m,imageActiveIndex:h,onChangeSlide:x,onToggleZoom:I})}),e.jsx("div",{className:"gp-flex gp-justify-center gp-w-full gp-pb-2 mobile:gp-pb-5 gp-px-[52px] mobile:gp-px-0",children:e.jsx(p.default,{builderPropUID:r,displayImages:f,activeIndex:m,onChangeSlide:x})})]})})})};
2
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("@gem-sdk/core"),o=require("../../../../../carousel-v3/components/root/Carousel.js"),i=require("../../../../../carousel-v3/components/item/CarouselItem.js"),s=require("../../../../../image/components/NextImage.js");require("../../../../../modal/components/confirm.js");var l=require("../../../../../modal/components/Modal.js"),d=require("react"),r=require("../../common/productFeaturedImage.js"),n=require("../child/ProductFeatureVideo.js"),a=require("../child/MediaIcon.js");exports.default=({builderPropUID:u,productImages:p,open:c,imageRatio:m,onHandleClose:g})=>{let h=t.useFeaturedImageGlobal(),b=d.useMemo(()=>{let e=p?.findIndex(e=>e.id===h?.id);return e&&e>0?e:0},[p,h]),j={desktop:p&&p.length>1,mobile:p&&p?.length>1,tablet:p&&p?.length>1},f=t.useEditorMode(),x=e=>"edit"!==f&&["VIDEO","EXTERNAL_VIDEO"].includes(e?.contentType||"");return e.jsx(l.default,{setting:{open:c},styles:{width:"80%"},closeOnClickOutside:!0,onClose:()=>{g(),console.log("onHandleClose")},disableIframeClickEvent:!0,contentClass:"mobile:!gp-w-[100%] gp-px-2 gp-pb-10",children:e.jsx(o.default,{setting:{loop:{desktop:!1,mobile:!1,tablet:!1},slidesToShow:{desktop:1,tablet:1,mobile:1},defaultCurrentSlider:b,dot:{desktop:!0,mobile:!0,tablet:!0},dotStyle:{desktop:"outside",mobile:"outside",tablet:"outside"},dotColor:{desktop:"#E2E2E2",mobile:"#E2E2E2",tablet:"#E2E2E2"},dotActiveColor:{desktop:"#121212",mobile:"#121212",tablet:"#121212"},dotSize:{desktop:12},dotGapToCarousel:{desktop:12},navigationEnable:j,navigationStyle:{desktop:"outside"},arrowIconSize:{desktop:24},initialSlide:b},styles:{sizeSetting:{desktop:{height:"80vh"},tablet:{height:"80vh"},mobile:{height:"60vh"}},playSpeed:0},moveToIdx:b,hiddenDotWhenOnlyOne:!0,isHiddenArrowWhenDisabled:!0,isDisableResetSlide:!0,builderProps:{uid:u},fullHeight:!0,children:p?.map(o=>e.jsx(i.default,{className:`gem-slider-item gem-slider-item-${u} gp-flex gp-items-center gp-justify-center gp-px-4`,children:x(o)?e.jsx(n.default,{type:o?.contentType,url:o.src??"",aspectRatio:m}):e.jsxs(e.Fragment,{children:[e.jsx(s.default,{src:r.isFeatureMedia(o?.contentType)?o?.previewImage:o?.src,width:o?.width,height:o?.height,alt:o?.alt,"content-type":o?.contentType,setting:{aspectRatio:m},className:t.cls("gp-h-full gp-w-full gp-object-contain")},o?.id),e.jsx(a.default,{contentType:o?.contentType??""})]})},o?.id))})})};
@@ -1 +1 @@
1
- "use strict";var e=require("@gem-sdk/system"),s=require("../common/classes.js"),a=require("../common/common.js");exports.galleryItemClasses=(a,r,l)=>e.createClass(s.getGalleryItemClasses({extraClass:`${l} ${a===r?"gp-border-[#5EA2FF] gp-border-[3px]":"gp-border-white/20 hover:gp-border-white/60"}`})),exports.getProductImagesClassName=r=>{let{setting:l,style:t}=r,g=a.setDefaultWhenUndefineSetting(r),{builderProps:C,advanced:p}=g,d=p?.cssClass,u=e.createClass(s.getWrapperClasses({extraClass:`${C?.uid} ${d??""} `,isAddOverFlowClass:a.checkAddOverFlowClass(t)})),c=e.createClass(s.getGalleryWrapperClasses({})),m=e.createClass(s.getGalleryGridWrapperClasses({})),i=e.createClass(s.getFtImageWithGalleryClasses({extraClass:`gp-product-images-feature--${C?.uid}`})),o=e.createClass(s.getImageGalleryWrapperClasses({extraClass:`gp-product-images-gallery-${C?.uid}`})),y=e.createClass(s.getFeaturedImageCarouselClasses({extraClass:`gp-product-images-gallery-${C?.uid}`})),x=e.createClass(s.getFeaturedImageGalleryClasses({settings:l})),n=e.createClass(s.getFeaturedImageClasses({setting:l,extraClass:`gp-flex gp-relative gp-product-images-gallery-${C?.uid} gp-overflow-hidden gp-flex gp-w-full gp-items-center gp-justify-center `}));return{wrapperClasses:u,productImagesGalleryClasses:c,galleryGridWrapperClasses:m,galleryItemClasses:a=>e.createClass(s.getGalleryItemClasses({extraClass:`${a??""}`})),ftImageGalleryClasses:i,imageGalleryWrapperClasses:o,featuredImageCarouselClasses:y,featuredImageGalleryClasses:x,featureImageOnlyOneImageClasses:n,featuredCarouselItemClasses:a=>e.createClass(s.getFeaturedCarouselItemClasses({extraClass:`${a??""}`}))}};
1
+ "use strict";var e=require("@gem-sdk/system"),s=require("../common/classes.js"),a=require("../common/common.js");exports.getProductImagesClassName=l=>{let{setting:r,style:t}=l,g=a.setDefaultWhenUndefineSetting(l),{builderProps:C,advanced:u}=g,c=u?.cssClass,d=e.createClass(s.getWrapperClasses({extraClass:`${C?.uid} ${c??""} `,isAddOverFlowClass:a.checkAddOverFlowClass(t)})),m=e.createClass(s.getGalleryWrapperClasses({})),p=e.createClass(s.getGalleryGridWrapperClasses({})),i=e.createClass(s.getFtImageWithGalleryClasses({extraClass:`gp-product-images-feature--${C?.uid}`})),o=e.createClass(s.getImageGalleryWrapperClasses({extraClass:`gp-product-images-gallery-${C?.uid}`})),n=e.createClass(s.getFeaturedImageCarouselClasses({extraClass:`gp-product-images-gallery-${C?.uid}`})),y=e.createClass(s.getFeaturedImageGalleryClasses({settings:r})),x=e.createClass(s.getFeaturedImageClasses({setting:r,extraClass:`gp-flex gp-relative gp-product-images-gallery-${C?.uid} gp-overflow-hidden gp-flex gp-w-full gp-items-center gp-justify-center `}));return{wrapperClasses:d,productImagesGalleryClasses:m,galleryGridWrapperClasses:p,galleryItemClasses:a=>e.createClass(s.getGalleryItemClasses({extraClass:`${a??""}`})),ftImageGalleryClasses:i,imageGalleryWrapperClasses:o,featuredImageCarouselClasses:n,featuredImageGalleryClasses:y,featureImageOnlyOneImageClasses:x,featuredCarouselItemClasses:a=>e.createClass(s.getFeaturedCarouselItemClasses({extraClass:`${a??""}`}))}};
@@ -1 +1 @@
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 f=(f,m,c,k)=>{let h;let{builderProps:b,moveToIdx:y,styles:P,setting:g,isHiddenArrowWhenDisabled:v=!0,elmRef:w,isEnableCheckHasScrollableContent:T,centerInsufficientSlides:N,onClickArrow:x,onHandleChangeSlideByInteraction:S,onChangeActive:C}=f,[O,E]=e(!0),[L,I]=e(!0),[M,z]=e(!1),{loop:V,navigationEnable:B={desktop:!0},navigationStyle:j}=g??{},[A,D]=e(k),[F,H]=e(g?.defaultCurrentSlider??0),{isFirstPreviewClicked:R}=p(g?.runPreview),$=t(),q=t(y??0),U=l(),W=s(),{onListener:G,saveToElementInteractionData:J,getInteractionPreviousData:K,trigger:Q}=o(),X=r(()=>u(V,U,!1),[V,U]),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:Math.floor(r):0}),e},[g?.slidesToShow]),Z=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]),_=r(()=>{let e=Z();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},[Z,g?.itemNumber,g?.sneakPeak,g?.sneakPeakOffsetCenter,g?.sneakPeakOffsetForward,g?.sneakPeakType]),ee=r(()=>{let e=u(_,U),t=u(V,U,!1);return t&&Number(e??0)>k||!t&&Number(e??0)>=k},[_,U,V,k]),et=r(()=>{let e=u(B,U),t=u(j,U);return c&&e&&"none"!==t&&O&&!ee},[B,U,j,c,O,ee]),er=r(()=>{let e=Y();return e||g?.itemNumber},[Y,g?.itemNumber]),ei=i(e=>{let t="center"===u(g?.sneakPeakType,e)?2:1;return"number"==typeof u(er,e,4)?u(er,e,4)-t:void 0},[g?.sneakPeakType,er]),en=()=>{let e="auto"===u(_,U,1)?1:u(_,U,1);return e??1},ea=e=>{let t=e*en();return t>=A-en()&&(t=A-en()),t},el=e=>{let t="edit"===W?{[e]:!1}:g?.enableDrag;return u(t,e)};n(m,()=>({nextSlideInteraction:eu,previousSlideInteraction:ed,moveToSlideInteraction:ep,getSwiper:()=>c}));let es=e=>{c?.slideTo(e),S&&S(e)},eo=(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}=K(a,r);es(Number(e))}else es("next"===t?l-1:l+1);return}let s="specific"===t?Math.max(q.current,0):l;J(a,r,s.toString());let o="specific"===t?Number(i):"next"===t?l+1:l-1;es(o)},eu=e=>{eo(e,"next")},ed=e=>{eo(e,"previous")},ep=e=>{eo(e,"specific")},ef=en(),em=r(()=>!!A&&c&&u(g?.dot,U)&&!ee&&k>1,[A,c,g?.dot,U,ee,k]),ec=u(g?.vertical,U,!1)?"vertical":"horizontal",ek=e=>{let{swiperWidth:t,slidesPerView:r,itemNumberByDevice:i,centeredSlides:n}=e;if(!n||!i)return 0;let a=t/r,l=(Number(i)-2)/2-1;return-(a/2+l*a)},eh=r(()=>{let e=u(V,U,!1),t=c?.width??0,r={0:"mobile",768:"tablet",1025:"desktop"},i=Number(Object.entries(r).find(([,e])=>e===U)?.[0]??1025),n=Object.entries(r).reduce((e,[r,i])=>{if(!e)return;let n=Number(r),a=u(g?.sneakPeak,i,!1),l=a&&"center"===u(g?.sneakPeakType,i),s=u(g?.itemNumber,i),o=el(i),d=ek({swiperWidth:t,slidesPerView:ef,itemNumberByDevice:s,centeredSlides:l}),p=g?.initialSlide||y||0;return e[n]={allowTouchMove:o,slidesOffsetBefore:d,slidesOffsetAfter:d,initialSlide:p,centeredSlides:l},e},{}),a="center"===u(g?.sneakPeakType,U)&&"number"==typeof u(g?.itemNumber,U)&&Number(u(g?.itemNumber,U))>1;return{speed:P?.playSpeed??500,dir:g?.rtl?"rtl":"ltr",spaceBetween:u(P?.spacing,U)||0,loop:e,slidesPerView:"auto"===u(_,U,1)?"auto":ef,direction:ec,breakpoints:n,isSneakPeekCenter:a,slidesOffsetBefore:n?.[i]?.slidesOffsetBefore,thumbs:{slideThumbActiveClass:"gem-slider-item-active"},loopPreventsSliding:!1,autoplay:!!g?.autoplay&&{delay:(g?.autoplayTimeout??1)*1e3,pauseOnMouseEnter:g?.pauseOnHover,stopOnLastSlide:!e},...N&&{centerInsufficientSlides:!0}}},[P?.playSpeed,g?.rtl,P?.spacing,U,V,ef,g?.sneakPeakType,g?.pauseOnHover,g?.autoplayTimeout,c?.width,A]),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(!X||e<Number(i)||!O)return!1;let n=u(g?.sneakPeak,U,!1),a=n&&"center"===u(g?.sneakPeakType,U),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,X,O,g?.sneakPeak,g?.sneakPeakType,U]);return a(()=>{let e=`[data-id="${b?.uid}"]`;G({event:"gp:change-next-slide",selector:e,elementRef:$},e=>{let{data:t,isRollback:r,uniqueStorageKey:i}=e||{};eu({element:$.current,data:t,isRollback:r,key:i})}),G({event:"gp:change-previous-slide",selector:e,elementRef:$},e=>{let{data:t,isRollback:r,uniqueStorageKey:i}=e||{};ed({element:$.current,data:t,isRollback:r,key:i})}),G({event:"gp:change-image-step",selector:e,elementRef:$},e=>{let{data:t,isRollback:r,uniqueStorageKey:i}=e||{};ep({element:$.current,data:t,isRollback:r,key:i})}),G({event:"gp:change-index-slide",selector:e},t=>{let r=document.querySelector(e),{data:i,isRollback:n,uniqueStorageKey:a}=t||{};ep({element:r,data:i,isRollback:n,key:a})})},[]),a(()=>{D(k)},[k]),a(()=>{if("number"==typeof y){if(q.current=y,c?.params?.loop){c?.slideToLoop(y);return}c?.slideTo(y)}},[c,y,v]),a(()=>{if(!c)return;let e=()=>{D(c.slides.length)},t=()=>{C&&C(c.realIndex)},r=()=>{H(c.realIndex),I(c?.translate===0),z(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"===W?!!R&&g?.runPreview&&g?.autoplay:g?.autoplay;e?c.autoplay.start():c.autoplay.stop()}},[c,g?.autoplay,W,R,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,U)?"swiper-vertical":"swiper-horizontal";e?.classList?.add(t),c?.slides?.forEach(e=>{e.style.width="",e.style.height=""}),c?.update()},[U,g?.vertical,c,c?.params]),a(()=>{if(!c||!T)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);E(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:X,sliderSettings:eh,totalSlideItem:A,currentSlide:F,localRef:$,isRenderDots:em,showNavigation:et,isScrollToStart:L,isScrollToEnd:M,handleDotClick:(e,t)=>{let r=g?.sneakPeak?.[U]?e:t?e:ea(e);if(t){if(k<ef){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,U)&&"number"==typeof u(g?.itemNumber,U)&&Number(u(g?.itemNumber,U))%2==0;e?c?.slideToLoopCenterSneakPeek(r):c?.slideToLoop(r)}else c?.slideTo(r);q.current=r},getItemsPerPage:en,handleNextAndPrevSlide:e=>{"next"===e?c?.slideNext():c?.slidePrev(),x&&(h&&clearTimeout(h),h=setTimeout(()=>x&&x(),500))},dispatchEventSelectSlide:e=>{Q({event:"gp:rollback:select-slide",selector:`[data-id="${b?.uid}"]`,element:w?.current}),Q({event:"gp:select-slide",selector:`[data-id="${b?.uid}"]`,data:e,element:w?.current})},getNumberOfFullWidthShow:ei,setCurrentSlide:H,shouldDuplicateSlides:eb,setIsScrollToStart:I,setIsScrollToEnd:z,isHideNavigation:ee}};export{f as useCarousel};
1
+ import{useState as e,useRef as t,useMemo as r,useCallback as n,useImperativeHandle as i,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 m from"./useTrackPreviewPause.js";let p=(p,f,c,k)=>{let h;let{builderProps:b,moveToIdx:y,styles:P,setting:g,isHiddenArrowWhenDisabled:T=!0,elmRef:v,isEnableCheckHasScrollableContent:w,onClickArrow:N,onHandleChangeSlideByInteraction:x,onChangeActive:S}=p,[C,E]=e(!0),[O,L]=e(!0),[M,I]=e(!1),{loop:z,navigationEnable:V={desktop:!0},navigationStyle:B}=g??{},[D,j]=e(k),[A,F]=e(g?.defaultCurrentSlider??0),{isFirstPreviewClicked:H}=m(g?.runPreview),R=t(),$=t(y??0),q=l(),G=s(),{onListener:U,saveToElementInteractionData:W,getInteractionPreviousData:J,trigger:K}=o(),Q=r(()=>u(z,q,!1),[z,q]),X=n(()=>{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=n(()=>{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),n=r?"center"===u(g?.sneakPeakType,e)?u(g?.sneakPeakOffsetCenter,e)??0:u(g?.sneakPeakOffsetForward,e)??0:0,i="center"===u(g?.sneakPeakType,e)?-2:-1,a=u(g?.itemNumber,e);t[e]="number"==typeof a?a+n/100*i:"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=n(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]),en=()=>{let e="auto"===u(Z,q,1)?1:u(Z,q,1);return e??1},ei=e=>{let t=e*en();return t>=D-en()&&(t=D-en()),t},ea=e=>{let t="edit"===G?{[e]:!1}:g?.enableDrag;return u(t,e)};i(f,()=>({nextSlideInteraction:eo,previousSlideInteraction:eu,moveToSlideInteraction:ed,getSwiper:()=>c}));let el=e=>{c?.slideTo(e),x&&x(e)},es=(e,t)=>{let{key:r,data:n,isRollback:i,element:a}=e,l=Math.max(c?.activeIndex??0,0);if(i&&void 0===n)return;if(i){if("specific"===t){let{previousData:e}=J(a,r);el(Number(e))}else el("next"===t?l-1:l+1);return}let s="specific"===t?Math.max($.current,0):l;W(a,r,s.toString());let o="specific"===t?Number(n):"next"===t?l+1:l-1;el(o)},eo=e=>{es(e,"next")},eu=e=>{es(e,"previous")},ed=e=>{es(e,"specific")},em=en(),ep=r(()=>!!D&&c&&u(g?.dot,q)&&!_&&k>1,[D,c,g?.dot,q,_,k]),ef=u(g?.vertical,q,!1)?"vertical":"horizontal",ec=r(()=>"center"===u(g?.sneakPeakType,q)&&"number"==typeof u(g?.itemNumber,q)&&Number(u(g?.itemNumber,q))%2==0,[g?.sneakPeakType,g?.itemNumber,q]),ek=e=>{let{swiperWidth:t,slidesPerView:r,itemNumberByDevice:n,centeredSlides:i}=e;if(!i||!n)return 0;let a=t/r,l=(Number(n)-2)/2-1;return-(a/2+l*a)},eh=r(()=>{let e=u(z,q,!1),t=c?.width??0,r={0:"mobile",768:"tablet",1025:"desktop"},n=Number(Object.entries(r).find(([,e])=>e===q)?.[0]??1025),i=Object.entries(r).reduce((e,[r,n])=>{if(!e)return;let i=Number(r),a=u(g?.sneakPeak,n,!1),l=a&&"center"===u(g?.sneakPeakType,n),s=u(g?.itemNumber,n),o=ea(n),d=ek({swiperWidth:t,slidesPerView:em,itemNumberByDevice:s,centeredSlides:l}),m=g?.initialSlide||y||0,p={allowTouchMove:o,slidesOffsetBefore:d,slidesOffsetAfter:d,initialSlide:m,centeredSlides:l,...l&&{centerInsufficientSlides:!0}};return e[i]=p,e},{}),a="center"===u(g?.sneakPeakType,q)&&"number"==typeof u(g?.itemNumber,q)&&Number(u(g?.itemNumber,q))>1;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:ef,breakpoints:i,isSneakPeekCenter:a,slidesOffsetBefore:i?.[n]?.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,D]),eb=n(e=>{let t=c&&c.params?.slidesPerView,r=t?c?.slidesPerViewDynamic():1;if(e<=1)return!1;let n="auto"===eh.slidesPerView?r:eh.slidesPerView;if(!Q||e<Number(n)||!C)return!1;let i=u(g?.sneakPeak,q,!1),a=i&&"center"===u(g?.sneakPeakType,q),l=Number.isNaN(Number(n))?1:Math.ceil(Number(n));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}"]`;U({event:"gp:change-next-slide",selector:e,elementRef:R},e=>{let{data:t,isRollback:r,uniqueStorageKey:n}=e||{};eo({element:R.current,data:t,isRollback:r,key:n})}),U({event:"gp:change-previous-slide",selector:e,elementRef:R},e=>{let{data:t,isRollback:r,uniqueStorageKey:n}=e||{};eu({element:R.current,data:t,isRollback:r,key:n})}),U({event:"gp:change-image-step",selector:e,elementRef:R},e=>{let{data:t,isRollback:r,uniqueStorageKey:n}=e||{};ed({element:R.current,data:t,isRollback:r,key:n})}),U({event:"gp:change-index-slide",selector:e},t=>{let r=document.querySelector(e),{data:n,isRollback:i,uniqueStorageKey:a}=t||{};ed({element:r,data:n,isRollback:i,key:a})})},[]),a(()=>{j(k)},[k]),a(()=>{if("number"==typeof y){if($.current=y,c?.params?.loop){c?.slideToLoop(y);return}c?.slideTo(y)}},[c,y,T]);let ey=()=>{if(!c||!ec)return;let e=en(),t=c.slidesGrid.length||0,r=c.snapIndex>=Math.max(t-2*Math.floor(e/2),0);c.isEnd=r,c.allowSlideNext=!r};return a(()=>{if(!c)return;let e=()=>{j(c.slides.length),ey()},t=()=>{S&&S(c.realIndex)},r=()=>{F(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"===G?!!H&&g?.runPreview&&g?.autoplay:g?.autoplay;e?c.autoplay.start():c.autoplay.stop()}},[c,g?.autoplay,G,H,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||!w)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),n=e.reduce((e,t)=>e+t.offsetWidth,0)+t*(e.length-1),i=c.params?.direction==="horizontal"?n>(c.width||0):r>(c.height||0);E(i)};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:D,currentSlide:A,localRef:R,isRenderDots:ep,showNavigation:ee,isScrollToStart:O,isScrollToEnd:M,handleDotClick:(e,t)=>{let r=g?.sneakPeak?.[q]?e:t?e:ei(e);if(console.log("\uD83D\uDE80 ~ handleDotClick ~ index:",r),c&&(c.isEnd=!0),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);$.current=r},getItemsPerPage:en,handleNextAndPrevSlide:e=>{"next"===e?c?.slideNext():c?.slidePrev(),N&&(h&&clearTimeout(h),h=setTimeout(()=>N&&N(),500))},dispatchEventSelectSlide:e=>{K({event:"gp:rollback:select-slide",selector:`[data-id="${b?.uid}"]`,element:v?.current}),K({event:"gp:select-slide",selector:`[data-id="${b?.uid}"]`,data:e,element:v?.current})},getNumberOfFullWidthShow:er,setCurrentSlide:F,shouldDuplicateSlides:eb,setIsScrollToStart:L,setIsScrollToEnd:I,isHideNavigation:_}};export{p as useCarousel};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as e,Fragment as t,jsxs as o}from"react/jsx-runtime";import{cls as i,isEmptyChildren as r}from"@gem-sdk/core";import{useRef as n,useCallback as l,useEffect as p}from"react";import{createPortal as a}from"react-dom";import d from"../../grid/components/ChildrenDroppable.js";import c from"../hooks/useModalContainer.js";import g from"./ZoomButton.js";let s=({setting:s,styles:m,children:u,willUnmount:h,closeOnEscape:f,onKeypressEscape:w,keyCodeForClose:v,closeOnClickOutside:x,onClose:y,contentClass:C,wrapperContentClasses:b,disableIframeClickEvent:k,lockBodyScroll:L,zoomButton:N,closeButtonClassName:A})=>{let{open:M}=s??{},j=c(),Z=n(null),E=n(null),z=n(null),{isShowButton:B=!1,isZoomIn:J,onToggleZoom:O}=N??{},S=l(e=>{let t=e.code;v?.includes(t),f&&"Escape"===t&&w?.(e)},[f,v,w]);p(()=>(document.addEventListener("keydown",S,!1),()=>{document.removeEventListener("keydown",S,!1),h?.()}),[S,h]);let D=l(e=>{let t=e.target===Z.current,o=e.target===E.current;(x&&t||o)&&(window?.parent?.postMessage?.(JSON.stringify({type:"active-modal",value:!1}),"*"),y?.())},[x,y]);return(p(()=>{window?.parent?.postMessage?.(JSON.stringify({type:"active-modal",value:M}),"*")},[M]),p(()=>{if(!M||!L)return;let{style:e}=document.body;return z.current={overflow:e.overflow,touchAction:e.touchAction},e.overflow="hidden",e.touchAction="none",()=>{let t=z.current;t&&(e.overflow=t.overflow,e.touchAction=t.touchAction,z.current=null)}},[M,L]),j&&M)?a(e(t,{children:e("div",{className:"gp-fixed gp-inset-0 gp-z-50 gp-overflow-y-auto","data-disable-iframe-click-event":k||!1,children:o("div",{className:"gp-min-h-screen gp-px-4 gp-text-center",children:[e("div",{ref:Z,className:i("gp-fixed gp-inset-0 gp-bg-black/60 gp-backdrop-blur-sm gp-transition-all gp-duration-100",{"gp-opacity-100":M,"gp-opacity-0":!M}),onClick:D,"aria-hidden":!0}),e("span",{className:"gp-inline-block gp-h-screen gp-align-middle"}),o("div",{className:i("gp-relative gp-my-8 gp-inline-block gp-w-full gp-overflow-hidden gp-rounded gp-bg-white gp-p-6 gp-text-left gp-align-middle gp-shadow-xl gp-transition-all gp-duration-100",{"gp-max-w-2xl":!m?.width,"gp-scale-100 gp-opacity-100":M,"gp-scale-0 gp-opacity-0":!M},C),style:{width:m?.width},children:[e("div",{className:i("gp-absolute gp-right-[16px] gp-top-[16px] gp-z-10 gp-cursor-pointer",A??""),onClick:D,"aria-hidden":"true",children:e("svg",{ref:E,width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:e("path",{d:"M11.1758 12.0241C11.4101 12.2584 11.79 12.2584 12.0243 12.0241C12.2586 11.7898 12.2586 11.4099 12.0243 11.1755L8.84858 7.9998L12.0243 4.82407C12.2586 4.58975 12.2586 4.20986 12.0243 3.97554C11.79 3.74123 11.4101 3.74123 11.1758 3.97554L8.00005 7.15128L4.82431 3.97554C4.59 3.74123 4.2101 3.74123 3.97578 3.97554C3.74147 4.20986 3.74147 4.58975 3.97578 4.82407L7.15152 7.9998L3.97579 11.1755C3.74147 11.4099 3.74147 11.7898 3.97579 12.0241C4.2101 12.2584 4.59 12.2584 4.82431 12.0241L8.00005 8.84833L11.1758 12.0241Z",fill:"#676767"})})}),B&&e(g,{isZoomIn:J,onToggleZoom:O}),e("div",{className:b,children:r(u)?e(d,{}):u})]})]})})}),j):null};export{s as default};
2
+ import{jsx as e,Fragment as i,jsxs as t}from"react/jsx-runtime";import{useRef as p,useCallback as l,useEffect as r}from"react";import{cls as a,isEmptyChildren as n}from"@gem-sdk/core";import{createPortal as o}from"react-dom";import g from"../hooks/useModalContainer.js";import d from"../../grid/components/ChildrenDroppable.js";let s=({setting:s,styles:c,children:m,willUnmount:h,closeOnEscape:u,onKeypressEscape:w,keyCodeForClose:f,closeOnClickOutside:v,onClose:x,contentClass:y,disableIframeClickEvent:C})=>{let{open:k}=s??{},b=g(),L=p(null),N=p(null),M=l(e=>{let i=e.code;f?.includes(i),u&&"Escape"===i&&w?.(e)},[u,f,w]);r(()=>(document.addEventListener("keydown",M,!1),()=>{document.removeEventListener("keydown",M,!1),h?.()}),[M,h]);let j=l(e=>{let i=e.target===L.current,t=e.target===N.current;(v&&i||t)&&(window?.parent?.postMessage?.(JSON.stringify({type:"active-modal",value:!1}),"*"),x?.())},[v,x]);return(r(()=>{window?.parent?.postMessage?.(JSON.stringify({type:"active-modal",value:k}),"*")},[k]),b&&k)?o(e(i,{children:e("div",{className:"gp-fixed gp-inset-0 gp-z-50 gp-overflow-y-auto","data-disable-iframe-click-event":C||!1,children:t("div",{className:"gp-min-h-screen gp-px-4 gp-text-center",children:[e("div",{ref:L,className:a("gp-fixed gp-inset-0 gp-bg-black/60 gp-backdrop-blur-sm gp-transition-all gp-duration-100",{"gp-opacity-100":k,"gp-opacity-0":!k}),onClick:j,"aria-hidden":!0}),e("span",{className:"gp-inline-block gp-h-screen gp-align-middle"}),t("div",{className:a("gp-relative gp-my-8 gp-inline-block gp-w-full gp-overflow-hidden gp-rounded gp-bg-white gp-p-6 gp-text-left gp-align-middle gp-shadow-xl gp-transition-all gp-duration-100",{"gp-max-w-2xl":!c?.width,"gp-scale-100 gp-opacity-100":k,"gp-scale-0 gp-opacity-0":!k},y),style:{width:c?.width},children:[e("div",{className:"gp-absolute gp-right-[16px] gp-top-[16px] gp-z-10 gp-cursor-pointer",onClick:j,"aria-hidden":"true",children:e("svg",{ref:N,width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:e("path",{d:"M11.1758 12.0241C11.4101 12.2584 11.79 12.2584 12.0243 12.0241C12.2586 11.7898 12.2586 11.4099 12.0243 11.1755L8.84858 7.9998L12.0243 4.82407C12.2586 4.58975 12.2586 4.20986 12.0243 3.97554C11.79 3.74123 11.4101 3.74123 11.1758 3.97554L8.00005 7.15128L4.82431 3.97554C4.59 3.74123 4.2101 3.74123 3.97578 3.97554C3.74147 4.20986 3.74147 4.58975 3.97578 4.82407L7.15152 7.9998L3.97579 11.1755C3.74147 11.4099 3.74147 11.7898 3.97579 12.0241C4.2101 12.2584 4.59 12.2584 4.82431 12.0241L8.00005 8.84833L11.1758 12.0241Z",fill:"#676767"})})}),e("div",{children:n(m)?e(d,{}):m})]})]})})}),b):null};export{s as default};
@@ -1 +1 @@
1
- export{openConfirm}from"./components/confirm.js";import"react/jsx-runtime";import"@gem-sdk/core";import"react";import"react-dom";import o from"./settings/Modal.js";let t={Modal:o};export{t as modalSetting};
1
+ export{openConfirm}from"./components/confirm.js";import"react/jsx-runtime";import"react";import"@gem-sdk/core";import"react-dom";import o from"./settings/Modal.js";let t={Modal:o};export{t as modalSetting};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as e,jsxs as o,Fragment as p}from"react/jsx-runtime";import{useFeaturedImageGlobal as t}from"@gem-sdk/core";import{useState as l,useMemo as i,useEffect as g}from"react";import"../../../../../modal/components/confirm.js";import n from"../../../../../modal/components/Modal.js";import s from"./LightBoxCarousel.js";import r from"./LightBoxGalleryCarousel.js";import m from"./LightBoxImageZoom.js";let a=({builderPropUID:a,productImages:c,open:d,onHandleClose:x})=>{let f=t(),[u,h]=l(!1),[I,y]=l(0),w=i(()=>(c||[]).map((e,o)=>({...e,id:e.id||`gp-lightbox-${o}`,src:e.src||e.previewImage,alt:e.alt||"Product image"})),[c]),C=i(()=>!["VIDEO","EXTERNAL_VIDEO","MODEL_3D"].includes(w[I]?.contentType||""),[w,I]),b=i(()=>{let e=w.findIndex(e=>e.id===f?.id);return e&&e>0?e:0},[w,f]);g(()=>{d&&(h(!1),y(b))},[d]);let j=()=>{h(e=>!e)};return e(n,{setting:{open:d},styles:{width:"calc(100% + 2rem)"},closeOnClickOutside:!0,closeOnEscape:!0,onKeypressEscape:()=>x(),onClose:()=>{x()},lockBodyScroll:!0,disableIframeClickEvent:!0,contentClass:"!gp--mx-4 !gp-my-auto !gp-h-screen !gp-max-w-none !gp-rounded-none !gp-bg-[#0F0F10] !gp-px-0 !gp-py-0 !gp-text-white",zoomButton:{isShowButton:C,isZoomIn:u,onToggleZoom:j},closeButtonClassName:"gp-top-[34px] gp-text-[#AAAAAA] gp-scale-125",wrapperContentClasses:"gp-size-full",children:e("div",{className:"gp-flex gp-gap-2 gp-size-full gp-min-w-0 gp-flex-col gp-items-center gp-justify-center",children:u?e(m,{image:w[I],onExitZoom:j}):o(p,{children:[e("div",{className:"gp-flex gp-w-full gp-min-w-0 gp-flex-1 gp-items-center gp-justify-center gp-overflow-hidden gp-px-[52px] gp-mt-[52px] mobile:gp-px-0",children:e(s,{builderPropUID:a,displayImages:w,activeIndex:I,imageActiveIndex:b,onChangeSlide:y,onToggleZoom:j})}),e("div",{className:"gp-flex gp-justify-center gp-w-full gp-pb-2 mobile:gp-pb-5 gp-px-[52px] mobile:gp-px-0",children:e(r,{builderPropUID:a,displayImages:w,activeIndex:I,onChangeSlide:y})})]})})})};export{a as default};
2
+ import{jsx as e,jsxs as t,Fragment as o}from"react/jsx-runtime";import{useFeaturedImageGlobal as i,useEditorMode as l,cls as s}from"@gem-sdk/core";import d from"../../../../../carousel-v3/components/root/Carousel.js";import n from"../../../../../carousel-v3/components/item/CarouselItem.js";import r from"../../../../../image/components/NextImage.js";import"../../../../../modal/components/confirm.js";import p from"../../../../../modal/components/Modal.js";import{useMemo as m}from"react";import{isFeatureMedia as a}from"../../common/productFeaturedImage.js";import c from"../child/ProductFeatureVideo.js";import g from"../child/MediaIcon.js";let h=({builderPropUID:h,productImages:u,open:b,imageRatio:f,onHandleClose:k})=>{let y=i(),E=m(()=>{let e=u?.findIndex(e=>e.id===y?.id);return e&&e>0?e:0},[u,y]),I={desktop:u&&u.length>1,mobile:u&&u?.length>1,tablet:u&&u?.length>1},j=l(),C=e=>"edit"!==j&&["VIDEO","EXTERNAL_VIDEO"].includes(e?.contentType||"");return e(p,{setting:{open:b},styles:{width:"80%"},closeOnClickOutside:!0,onClose:()=>{k(),console.log("onHandleClose")},disableIframeClickEvent:!0,contentClass:"mobile:!gp-w-[100%] gp-px-2 gp-pb-10",children:e(d,{setting:{loop:{desktop:!1,mobile:!1,tablet:!1},slidesToShow:{desktop:1,tablet:1,mobile:1},defaultCurrentSlider:E,dot:{desktop:!0,mobile:!0,tablet:!0},dotStyle:{desktop:"outside",mobile:"outside",tablet:"outside"},dotColor:{desktop:"#E2E2E2",mobile:"#E2E2E2",tablet:"#E2E2E2"},dotActiveColor:{desktop:"#121212",mobile:"#121212",tablet:"#121212"},dotSize:{desktop:12},dotGapToCarousel:{desktop:12},navigationEnable:I,navigationStyle:{desktop:"outside"},arrowIconSize:{desktop:24},initialSlide:E},styles:{sizeSetting:{desktop:{height:"80vh"},tablet:{height:"80vh"},mobile:{height:"60vh"}},playSpeed:0},moveToIdx:E,hiddenDotWhenOnlyOne:!0,isHiddenArrowWhenDisabled:!0,isDisableResetSlide:!0,builderProps:{uid:h},fullHeight:!0,children:u?.map(i=>e(n,{className:`gem-slider-item gem-slider-item-${h} gp-flex gp-items-center gp-justify-center gp-px-4`,children:C(i)?e(c,{type:i?.contentType,url:i.src??"",aspectRatio:f}):t(o,{children:[e(r,{src:a(i?.contentType)?i?.previewImage:i?.src,width:i?.width,height:i?.height,alt:i?.alt,"content-type":i?.contentType,setting:{aspectRatio:f},className:s("gp-h-full gp-w-full gp-object-contain")},i?.id),e(g,{contentType:i?.contentType??""})]})},i?.id))})})};export{h as default};
@@ -1 +1 @@
1
- import{createClass as e}from"@gem-sdk/system";import{getWrapperClasses as s,getGalleryWrapperClasses as r,getGalleryGridWrapperClasses as a,getFtImageWithGalleryClasses as t,getImageGalleryWrapperClasses as l,getFeaturedImageCarouselClasses as g,getFeaturedImageGalleryClasses as o,getFeaturedImageClasses as m,getFeaturedCarouselItemClasses as p,getGalleryItemClasses as d}from"../common/classes.js";import{checkAddOverFlowClass as i,setDefaultWhenUndefineSetting as u}from"../common/common.js";let C=C=>{let{setting:c,style:x}=C,f=u(C),{builderProps:$,advanced:n}=f,y=n?.cssClass,w=e(s({extraClass:`${$?.uid} ${y??""} `,isAddOverFlowClass:i(x)})),b=e(r({})),h=e(a({})),v=e(t({extraClass:`gp-product-images-feature--${$?.uid}`})),I=e(l({extraClass:`gp-product-images-gallery-${$?.uid}`})),j=e(g({extraClass:`gp-product-images-gallery-${$?.uid}`})),F=e(o({settings:c})),A=e(m({setting:c,extraClass:`gp-flex gp-relative gp-product-images-gallery-${$?.uid} gp-overflow-hidden gp-flex gp-w-full gp-items-center gp-justify-center `}));return{wrapperClasses:w,productImagesGalleryClasses:b,galleryGridWrapperClasses:h,galleryItemClasses:s=>e(d({extraClass:`${s??""}`})),ftImageGalleryClasses:v,imageGalleryWrapperClasses:I,featuredImageCarouselClasses:j,featuredImageGalleryClasses:F,featureImageOnlyOneImageClasses:A,featuredCarouselItemClasses:s=>e(p({extraClass:`${s??""}`}))}},c=(s,r,a)=>e(d({extraClass:`${a} ${s===r?"gp-border-[#5EA2FF] gp-border-[3px]":"gp-border-white/20 hover:gp-border-white/60"}`}));export{c as galleryItemClasses,C as getProductImagesClassName};
1
+ import{createClass as e}from"@gem-sdk/system";import{getWrapperClasses as s,getGalleryWrapperClasses as a,getGalleryGridWrapperClasses as r,getFtImageWithGalleryClasses as t,getImageGalleryWrapperClasses as l,getFeaturedImageCarouselClasses as g,getFeaturedImageGalleryClasses as m,getFeaturedImageClasses as o,getFeaturedCarouselItemClasses as p,getGalleryItemClasses as i}from"../common/classes.js";import{checkAddOverFlowClass as d,setDefaultWhenUndefineSetting as u}from"../common/common.js";let C=C=>{let{setting:c,style:f}=C,x=u(C),{builderProps:n,advanced:$}=x,y=$?.cssClass,j=e(s({extraClass:`${n?.uid} ${y??""} `,isAddOverFlowClass:d(f)})),v=e(a({})),w=e(r({})),I=e(t({extraClass:`gp-product-images-feature--${n?.uid}`})),h=e(l({extraClass:`gp-product-images-gallery-${n?.uid}`})),k=e(g({extraClass:`gp-product-images-gallery-${n?.uid}`})),A=e(m({settings:c})),F=e(o({setting:c,extraClass:`gp-flex gp-relative gp-product-images-gallery-${n?.uid} gp-overflow-hidden gp-flex gp-w-full gp-items-center gp-justify-center `}));return{wrapperClasses:j,productImagesGalleryClasses:v,galleryGridWrapperClasses:w,galleryItemClasses:s=>e(i({extraClass:`${s??""}`})),ftImageGalleryClasses:I,imageGalleryWrapperClasses:h,featuredImageCarouselClasses:k,featuredImageGalleryClasses:A,featureImageOnlyOneImageClasses:F,featuredCarouselItemClasses:s=>e(p({extraClass:`${s??""}`}))}};export{C as getProductImagesClassName};
@@ -888,7 +888,6 @@ type CarouselProps$1 = BasePropsWrap<CarouselSettingProps$1, CarouselStyleProps$
888
888
  slidesClass?: string;
889
889
  conditionAppendJs?: string;
890
890
  isEnableCheckHasScrollableContent?: boolean;
891
- centerInsufficientSlides?: boolean;
892
891
  };
893
892
  type CarouselItemProps$1 = {
894
893
  parentStyle?: CarouselProps$1['styles'];
@@ -943,7 +942,6 @@ declare const Carousel$3: React.ForwardRefExoticComponent<_gem_sdk_core.BaseProp
943
942
  slidesClass?: string;
944
943
  conditionAppendJs?: string;
945
944
  isEnableCheckHasScrollableContent?: boolean;
946
- centerInsufficientSlides?: boolean;
947
945
  } & React.RefAttributes<CarouselRef$1>>;
948
946
 
949
947
  declare const CarouselItem$3: React.FC<CarouselItemProps$1>;
@@ -2379,17 +2377,9 @@ type ModalProps = BaseProps<ModalSettingProps, ModalStyleProps> & {
2379
2377
  onClose?: () => void;
2380
2378
  onKeypressEscape?: (e: KeyboardEvent) => void;
2381
2379
  unmount?: boolean;
2382
- lockBodyScroll?: boolean;
2383
2380
  children: React.ReactNode;
2384
2381
  disableIframeClickEvent?: boolean;
2385
2382
  contentClass?: string;
2386
- zoomButton?: {
2387
- isShowButton: boolean;
2388
- isZoomIn: boolean;
2389
- onToggleZoom: () => void;
2390
- };
2391
- closeButtonClassName?: string;
2392
- wrapperContentClasses?: string;
2393
2383
  };
2394
2384
  type ButtonConfig = {
2395
2385
  label?: string;
@@ -6423,7 +6413,6 @@ declare const _default$3: {
6423
6413
  slidesClass?: string;
6424
6414
  conditionAppendJs?: string;
6425
6415
  isEnableCheckHasScrollableContent?: boolean;
6426
- centerInsufficientSlides?: boolean;
6427
6416
  } & React.RefAttributes<CarouselRef$1>>;
6428
6417
  CarouselItemV3: React.ComponentType<CarouselItemProps$1>;
6429
6418
  Carousel: React.ComponentType<_gem_sdk_core.BaseProps<CarouselSettingProps, CarouselStyleProps, Record<string, any>> & {
@@ -7410,7 +7399,6 @@ declare const _default$2: {
7410
7399
  slidesClass?: string;
7411
7400
  conditionAppendJs?: string;
7412
7401
  isEnableCheckHasScrollableContent?: boolean;
7413
- centerInsufficientSlides?: boolean;
7414
7402
  } & React.RefAttributes<CarouselRef$1>>;
7415
7403
  CarouselItemV3: React.FC<CarouselItemProps$1>;
7416
7404
  Carousel: React.ForwardRefExoticComponent<_gem_sdk_core.BaseProps<CarouselSettingProps, CarouselStyleProps, Record<string, any>> & {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gem-sdk/components",
3
- "version": "17.0.0-dev.24",
3
+ "version": "17.0.0-dev.26",
4
4
  "license": "MIT",
5
5
  "sideEffects": false,
6
6
  "main": "dist/cjs/index.js",
@@ -41,7 +41,7 @@
41
41
  "dependencies": {
42
42
  "@gem-sdk/keen-slider": "^6.8.8",
43
43
  "node-html-parser": "^6.1.13",
44
- "@gem-sdk/swiper": "0.0.21-dev.1",
44
+ "@gem-sdk/swiper": "0.0.22-dev.1",
45
45
  "react-transition-group": "^4.4.5",
46
46
  "react-youtube": "10.1.0"
47
47
  },
@@ -1,2 +0,0 @@
1
- 'use client';
2
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),C=require("@gem-sdk/core");require("react"),exports.default=({isZoomIn:t,onToggleZoom:r})=>{let i=e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:e.jsx("path",{d:"M6.77246 0C10.5128 0 13.5448 3.03212 13.5449 6.77246C13.5449 8.41757 12.9568 9.9243 11.9814 11.0977L15.8115 14.9277C16.0556 15.1718 16.0555 15.5674 15.8115 15.8115C15.5674 16.0556 15.1718 16.0556 14.9277 15.8115L11.0977 11.9814C9.9243 12.9568 8.41757 13.5449 6.77246 13.5449C3.03212 13.5448 0 10.5128 0 6.77246C9.91359e-05 3.03218 3.03218 9.49436e-05 6.77246 0ZM6.77246 1.25C3.72254 1.25009 1.2501 3.72253 1.25 6.77246C1.25 9.82248 3.72247 12.2948 6.77246 12.2949C8.28607 12.2949 9.65677 11.6854 10.6543 10.6992C10.6614 10.6914 10.6673 10.6823 10.6748 10.6748C10.6824 10.6673 10.6914 10.6614 10.6992 10.6543C11.6854 9.65677 12.2949 8.28607 12.2949 6.77246C12.2948 3.72247 9.82247 1.25 6.77246 1.25ZM6.86328 3.40234C7.2082 3.40251 7.4881 3.68242 7.48828 4.02734V6.23828H9.69824C10.0433 6.23828 10.3231 6.51826 10.3232 6.86328C10.3231 7.20832 10.0433 7.48828 9.69824 7.48828H7.48828V9.69824C7.48828 10.0433 7.20832 10.3231 6.86328 10.3232C6.51822 10.3231 6.23828 10.0433 6.23828 9.69824V7.48828H4.02734C3.68238 7.48815 3.40251 7.20824 3.40234 6.86328C3.40252 6.51834 3.68239 6.23841 4.02734 6.23828H6.23828V4.02734C6.23846 3.6824 6.51833 3.40248 6.86328 3.40234Z",fill:"#AAAAAA"})}),l=e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:e.jsx("path",{d:"M8.77441 2C12.5157 2 15.5487 5.03247 15.5488 8.77344C15.5488 10.4191 14.9613 11.927 13.9854 13.1006L17.8164 16.9307C18.0602 17.1747 18.0603 17.5704 17.8164 17.8145C17.5724 18.0581 17.1766 18.0582 16.9326 17.8145L13.1016 13.9844C11.9279 14.9598 10.4199 15.5469 8.77441 15.5469C5.03309 15.5468 2 12.5145 2 8.77344C2.00009 5.0325 5.03314 2.00004 8.77441 2ZM8.77441 3.25C5.72333 3.25004 3.25009 5.72302 3.25 8.77344C3.25 11.8239 5.72327 14.2968 8.77441 14.2969C10.2896 14.2969 11.6611 13.6858 12.6592 12.6982C12.6655 12.6913 12.671 12.6835 12.6777 12.6768C12.6843 12.6702 12.6924 12.6644 12.6992 12.6582C13.6874 11.6603 14.2988 10.2887 14.2988 8.77344C14.2987 5.723 11.8255 3.25 8.77441 3.25ZM11.7012 8.23926C12.0463 8.23926 12.3262 8.51908 12.3262 8.86426C12.3259 9.20921 12.0462 9.48926 11.7012 9.48926H6.02832C5.68347 9.48906 5.40358 9.20909 5.40332 8.86426C5.40332 8.5192 5.68331 8.23945 6.02832 8.23926H11.7012Z",fill:"#AAAAAA"})});return e.jsx("button",{type:"button","aria-label":"Toggle zoom mode",className:C.cls("gp-absolute gp-top-[74px] gp-right-4 gp-z-20 gp-flex gp-items-center gp-justify-center gp-text-[#AAAAAA] gp-transition"),onClick:()=>{r?.()},children:t?l:i})};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),r=require("@gem-sdk/core"),s=require("../../../product-images-v2/components/child/ProductFeatureVideo.js"),i=require("../../common/productFeaturedImage.js"),o=require("../../../../../image/components/NextImage.js"),c=require("./MediaIcon.js"),n=require("../lightbox/constants.js");exports.default=({image:a,isZoomableMedia:u})=>{let{isEditMode:l}=r.useRenderMode(),d=t.useMemo(()=>!l&&["VIDEO","EXTERNAL_VIDEO"].includes(a?.contentType||""),[l,a?.contentType]),m=t.useMemo(()=>a?{...a,src:d?a.src:i.isFeatureMedia(a?.contentType)?a?.previewImage:a.src}:n.DEFAULT_LIGHTBOX_IMAGE_ONLY,[a,d]);return d?e.jsx(s.default,{type:m?.contentType,url:m.src??""}):e.jsxs(e.Fragment,{children:[e.jsx(o.default,{src:m.src,alt:m.alt,width:m.width,height:m.height,isDisableAspectStyle:!0,setting:{layout:{desktop:"contain",tablet:"contain",mobile:"contain"}},style:{width:"100%",height:"100%",maxWidth:"100%",maxHeight:"100%",display:"block",cursor:u?"zoom-in":"default",objectPosition:"center"},className:"gallery-carousel-image-only"}),e.jsx(c.default,{contentType:m?.contentType??""})]})};
@@ -1,2 +0,0 @@
1
- 'use client';
2
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),i=require("@gem-sdk/core"),r=require("react"),s=require("../../../../../carousel-v3/components/root/Carousel.js"),t=require("../../../../../carousel-v3/components/item/CarouselItem.js"),l=require("./constants.js"),o=require("../child/ProductImagesLightBoxPreview.js");exports.default=({builderPropUID:n,displayImages:u,activeIndex:d,imageActiveIndex:a,onChangeSlide:c,onToggleZoom:m})=>{let g=e=>!["VIDEO","EXTERNAL_VIDEO","MODEL_3D"].includes(e||""),p=r.useMemo(()=>({...l.LIGHTBOX_CAROUSEL_SETTING,initialSlide:d,defaultCurrentSlider:d}),[d]);return e.jsx("div",{className:i.cls(`gem-slider-item gem-slider-item-${n} gp-cursor-zoom-in gp-flex gp-size-full gp-min-w-0 gp-items-center gp-justify-center gp-overflow-hidden`),style:{maxWidth:"100%",maxHeight:"100%"},children:e.jsx(s.default,{setting:p,styles:l.LIGHTBOX_CAROUSEL_STYLES,builderProps:{uid:`${n}-lightbox-main`},rootClass:"gp-size-full gp-min-w-0 gp-overflow-hidden",moveToIdx:d,isDisableResetSlide:!0,onChangeActive:c,children:u.map(i=>e.jsx(t.default,{onClickItem:()=>{g(i.contentType)&&m?.()},className:"gp-flex gp-size-full gp-min-w-0 gp-overflow-hidden gp-items-center gp-justify-center gp-cursor-zoom-in",children:e.jsx(o.default,{image:i,isZoomableMedia:g(i.contentType)})},i.id))})})};
@@ -1,2 +0,0 @@
1
- 'use client';
2
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("@gem-sdk/core"),r=require("react"),s=require("../../../../../carousel-v3/components/root/Carousel.js"),a=require("../../../../../carousel-v3/components/item/CarouselItem.js"),i=require("../../../../../image/components/NextImage.js"),o=require("../../../product-images-v2/components/child/MediaIcon.js"),l=require("../../common/productFeaturedImage.js"),n=require("../../common/productGallery.js"),u=require("../../composables/getProductImagesAttr.js"),c=require("../../composables/getProductImagesStyles.js"),d=require("./constants.js"),g=require("../../composables/getProductImagesClassName.js");exports.default=({builderPropUID:m,displayImages:p,activeIndex:I,onChangeSlide:L})=>{let T=t.useCurrentDevice(),E=r.useRef(!1),[_,y]=r.useState(I);if(r.useEffect(()=>{E.current||(E.current=!0,y(I))},[I]),p.length<=1)return null;let{galleryCarouselStyle:G,galleryCarouselItemStyle:h}=c.getProductImagesStyles(d.LIGHTBOX_GALLERY_CAROUSEL_SETTING),{galleryCarouselSettingAttrs:j}=u.getProductImagesAttr(d.LIGHTBOX_GALLERY_CAROUSEL_SETTING),A=n.getEditorMinHeightClass(T,d.LIGHTBOX_GALLERY_CAROUSEL_SETTING.position,d.LIGHTBOX_GALLERY_CAROUSEL_SETTING.navigationPosition);return e.jsx(s.default,{setting:j,styles:{...G},slidesClass:A,builderProps:{uid:`${m}-carousel`},rootClass:"gp-flex gp-justify-center gp-w-fit",moveToIdx:_,isHiddenArrowWhenDisabled:!0,disableMarginAuto:!0,isEnableCheckHasScrollableContent:!0,centerInsufficientSlides:!0,onChangeActive:y,children:p.map((t,r)=>{let s=l.isFeatureMedia(t.contentType)?t.previewImage:t.src;return e.jsx(a.default,{"data-thumb-index":r,contentType:"productImage",className:g.galleryItemClasses(r,I,"gp-overflow-hidden gp-rounded-md gp-border gp-transition-all"),onClickItem:()=>L(r),style:h,"data-id":t.id,children:e.jsxs(e.Fragment,{children:[e.jsx(i.default,{draggable:"false",src:s,width:t.width,height:t.height,alt:t.alt,setting:{layout:d.LIGHTBOX_GALLERY_CAROUSEL_SETTING.layout,qualityPercent:d.LIGHTBOX_GALLERY_CAROUSEL_SETTING.qualityPercent,qualityType:d.LIGHTBOX_GALLERY_CAROUSEL_SETTING.qualityType},style:{width:"100%",aspectRatio:"1/1",objectPosition:"center",cursor:"pointer"},className:"product-images-lightbox-gallery-carousel-image"}),e.jsx(o.default,{contentType:t?.contentType??""})]})},t.id)})})};
@@ -1,2 +0,0 @@
1
- 'use client';
2
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("react"),t=require("../../../../../image/components/NextImage.js");exports.default=({image:n,onExitZoom:a})=>{let i=r.useRef(null),o=r.useRef({x:0,y:0,originX:0,originY:0}),l=r.useRef(!1),u=r.useRef(!1),[c,s]=r.useState({x:0,y:0});r.useEffect(()=>{s({x:0,y:0})},[n]);let g=(e,r)=>{let t=i.current?.getBoundingClientRect();if(!t)return{x:e,y:r};let n=1*t.width/2,a=1*t.height/2;return{x:Math.max(-n,Math.min(n,e)),y:Math.max(-a,Math.min(a,r))}},p=e=>{l.current&&(l.current=!1,e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId))};return n.src?e.jsx("div",{ref:i,className:"gp-h-full gp-w-full gp-overflow-hidden gp-cursor-grab active:gp-cursor-grabbing",role:"button",tabIndex:0,"aria-label":"Zoomed image area",onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),a?.())},onPointerDown:e=>{e.preventDefault(),e.stopPropagation(),l.current=!0,u.current=!1,o.current={x:e.clientX,y:e.clientY,originX:c.x,originY:c.y},e.currentTarget.setPointerCapture(e.pointerId)},onPointerMove:e=>{if(!l.current)return;let r=e.clientX-o.current.x,t=e.clientY-o.current.y;(Math.abs(r)>6||Math.abs(t)>6)&&(u.current=!0);let n=g(o.current.originX+r,o.current.originY+t);s(n)},onPointerUp:p,onPointerCancel:p,onPointerLeave:p,onClick:e=>{if(e.stopPropagation(),u.current){u.current=!1;return}a?.()},onDragStart:e=>e.preventDefault(),style:{touchAction:"none"},children:e.jsx("div",{className:"gp-h-full gp-w-full",style:{transform:`translate3d(${c.x}px, ${c.y}px, 0) scale(2)`,transformOrigin:"center center",willChange:"transform"},children:e.jsx(t.default,{src:n.src||"",alt:n.alt||"Product image",draggable:!1,className:"gp-h-full gp-w-full gp-pointer-events-none",style:{objectFit:"contain"}})})}):e.jsx("div",{className:"gp-h-full gp-w-full"})};
@@ -1 +0,0 @@
1
- "use strict";exports.DEFAULT_LIGHTBOX_IMAGE_ONLY={src:"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif",id:"noImageError",width:480,height:480,alt:"no image",contentType:"IMAGE"},exports.LIGHTBOX_CAROUSEL_SETTING={slidesToShow:{desktop:1},loop:{desktop:!1},dot:{desktop:!1},navigationEnable:{desktop:!1},speed:320,enableDrag:{desktop:!0},animationMode:"ease-out"},exports.LIGHTBOX_CAROUSEL_STYLES={spacing:{desktop:1},sizeSetting:{desktop:{width:"100%",height:"100%"}}},exports.LIGHTBOX_GALLERY_CAROUSEL_SETTING={loop:{desktop:!0},corner:{btrr:"8px",bblr:"8px",bbrr:"8px",btlr:"8px",radiusType:"rounded"},arrowNavRadius:{bblr:"99999px",bbrr:"99999px",btlr:"99999px",btrr:"99999px",radiusType:"circle"},arrowIconColor:"#AAAAAA",arrowNavColor:"#333333",arrowNavSize:{height:"Auto",padding:{bottom:"12px",left:"12px",right:"12px",top:"12px"},shape:"square",shapeLinked:!0,shapeValue:"1/1",width:"Auto"},shapeForBottom:{desktop:{shape:"square",height:"80px",shapeValue:"1/1",width:"80px",shapeLinked:!0,gap:""},tablet:{shape:"square",height:"80px",shapeValue:"1/1",width:"80px",shapeLinked:!0,gap:""},mobile:{shape:"square",height:"64px",shapeValue:"1/1",width:"64px",shapeLinked:!0,gap:""}},position:{desktop:"bottom-center"},navigationPosition:{desktop:"outside",tablet:"outside",mobile:"none"},layout:{desktop:"cover"},qualityPercent:{desktop:100},qualityType:{desktop:"high"},itemSpacing:{desktop:"8px"}};
@@ -1,2 +0,0 @@
1
- 'use client';
2
- import{jsx as C}from"react/jsx-runtime";import{cls as t}from"@gem-sdk/core";import"react";let e=({isZoomIn:e,onToggleZoom:o})=>{let i=C("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:C("path",{d:"M6.77246 0C10.5128 0 13.5448 3.03212 13.5449 6.77246C13.5449 8.41757 12.9568 9.9243 11.9814 11.0977L15.8115 14.9277C16.0556 15.1718 16.0555 15.5674 15.8115 15.8115C15.5674 16.0556 15.1718 16.0556 14.9277 15.8115L11.0977 11.9814C9.9243 12.9568 8.41757 13.5449 6.77246 13.5449C3.03212 13.5448 0 10.5128 0 6.77246C9.91359e-05 3.03218 3.03218 9.49436e-05 6.77246 0ZM6.77246 1.25C3.72254 1.25009 1.2501 3.72253 1.25 6.77246C1.25 9.82248 3.72247 12.2948 6.77246 12.2949C8.28607 12.2949 9.65677 11.6854 10.6543 10.6992C10.6614 10.6914 10.6673 10.6823 10.6748 10.6748C10.6824 10.6673 10.6914 10.6614 10.6992 10.6543C11.6854 9.65677 12.2949 8.28607 12.2949 6.77246C12.2948 3.72247 9.82247 1.25 6.77246 1.25ZM6.86328 3.40234C7.2082 3.40251 7.4881 3.68242 7.48828 4.02734V6.23828H9.69824C10.0433 6.23828 10.3231 6.51826 10.3232 6.86328C10.3231 7.20832 10.0433 7.48828 9.69824 7.48828H7.48828V9.69824C7.48828 10.0433 7.20832 10.3231 6.86328 10.3232C6.51822 10.3231 6.23828 10.0433 6.23828 9.69824V7.48828H4.02734C3.68238 7.48815 3.40251 7.20824 3.40234 6.86328C3.40252 6.51834 3.68239 6.23841 4.02734 6.23828H6.23828V4.02734C6.23846 3.6824 6.51833 3.40248 6.86328 3.40234Z",fill:"#AAAAAA"})}),l=C("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:C("path",{d:"M8.77441 2C12.5157 2 15.5487 5.03247 15.5488 8.77344C15.5488 10.4191 14.9613 11.927 13.9854 13.1006L17.8164 16.9307C18.0602 17.1747 18.0603 17.5704 17.8164 17.8145C17.5724 18.0581 17.1766 18.0582 16.9326 17.8145L13.1016 13.9844C11.9279 14.9598 10.4199 15.5469 8.77441 15.5469C5.03309 15.5468 2 12.5145 2 8.77344C2.00009 5.0325 5.03314 2.00004 8.77441 2ZM8.77441 3.25C5.72333 3.25004 3.25009 5.72302 3.25 8.77344C3.25 11.8239 5.72327 14.2968 8.77441 14.2969C10.2896 14.2969 11.6611 13.6858 12.6592 12.6982C12.6655 12.6913 12.671 12.6835 12.6777 12.6768C12.6843 12.6702 12.6924 12.6644 12.6992 12.6582C13.6874 11.6603 14.2988 10.2887 14.2988 8.77344C14.2987 5.723 11.8255 3.25 8.77441 3.25ZM11.7012 8.23926C12.0463 8.23926 12.3262 8.51908 12.3262 8.86426C12.3259 9.20921 12.0462 9.48926 11.7012 9.48926H6.02832C5.68347 9.48906 5.40358 9.20909 5.40332 8.86426C5.40332 8.5192 5.68331 8.23945 6.02832 8.23926H11.7012Z",fill:"#AAAAAA"})});return C("button",{type:"button","aria-label":"Toggle zoom mode",className:t("gp-absolute gp-top-[74px] gp-right-4 gp-z-20 gp-flex gp-items-center gp-justify-center gp-text-[#AAAAAA] gp-transition"),onClick:()=>{o?.()},children:e?l:i})};export{e as default};
@@ -1 +0,0 @@
1
- import{jsx as t,jsxs as e,Fragment as o}from"react/jsx-runtime";import{useMemo as r}from"react";import{useRenderMode as i}from"@gem-sdk/core";import c from"../../../product-images-v2/components/child/ProductFeatureVideo.js";import{isFeatureMedia as n}from"../../common/productFeaturedImage.js";import m from"../../../../../image/components/NextImage.js";import s from"./MediaIcon.js";import{DEFAULT_LIGHTBOX_IMAGE_ONLY as a}from"../lightbox/constants.js";let l=({image:l,isZoomableMedia:p})=>{let{isEditMode:d}=i(),g=r(()=>!d&&["VIDEO","EXTERNAL_VIDEO"].includes(l?.contentType||""),[d,l?.contentType]),h=r(()=>l?{...l,src:g?l.src:n(l?.contentType)?l?.previewImage:l.src}:a,[l,g]);return g?t(c,{type:h?.contentType,url:h.src??""}):e(o,{children:[t(m,{src:h.src,alt:h.alt,width:h.width,height:h.height,isDisableAspectStyle:!0,setting:{layout:{desktop:"contain",tablet:"contain",mobile:"contain"}},style:{width:"100%",height:"100%",maxWidth:"100%",maxHeight:"100%",display:"block",cursor:p?"zoom-in":"default",objectPosition:"center"},className:"gallery-carousel-image-only"}),t(s,{contentType:h?.contentType??""})]})};export{l as default};
@@ -1,2 +0,0 @@
1
- 'use client';
2
- import{jsx as e}from"react/jsx-runtime";import{cls as i}from"@gem-sdk/core";import{useMemo as o}from"react";import t from"../../../../../carousel-v3/components/root/Carousel.js";import r from"../../../../../carousel-v3/components/item/CarouselItem.js";import{LIGHTBOX_CAROUSEL_SETTING as s,LIGHTBOX_CAROUSEL_STYLES as m}from"./constants.js";import l from"../child/ProductImagesLightBoxPreview.js";let n=({builderPropUID:n,displayImages:p,activeIndex:g,imageActiveIndex:a,onChangeSlide:d,onToggleZoom:c})=>{let u=e=>!["VIDEO","EXTERNAL_VIDEO","MODEL_3D"].includes(e||""),f=o(()=>({...s,initialSlide:g,defaultCurrentSlider:g}),[g]);return e("div",{className:i(`gem-slider-item gem-slider-item-${n} gp-cursor-zoom-in gp-flex gp-size-full gp-min-w-0 gp-items-center gp-justify-center gp-overflow-hidden`),style:{maxWidth:"100%",maxHeight:"100%"},children:e(t,{setting:f,styles:m,builderProps:{uid:`${n}-lightbox-main`},rootClass:"gp-size-full gp-min-w-0 gp-overflow-hidden",moveToIdx:g,isDisableResetSlide:!0,onChangeActive:d,children:p.map(i=>e(r,{onClickItem:()=>{u(i.contentType)&&c?.()},className:"gp-flex gp-size-full gp-min-w-0 gp-overflow-hidden gp-items-center gp-justify-center gp-cursor-zoom-in",children:e(l,{image:i,isZoomableMedia:u(i.contentType)})},i.id))})})};export{n as default};
@@ -1,2 +0,0 @@
1
- 'use client';
2
- import{jsx as e,jsxs as t,Fragment as o}from"react/jsx-runtime";import{useCurrentDevice as r}from"@gem-sdk/core";import{useRef as s,useState as i,useEffect as a}from"react";import l from"../../../../../carousel-v3/components/root/Carousel.js";import n from"../../../../../carousel-v3/components/item/CarouselItem.js";import m from"../../../../../image/components/NextImage.js";import c from"../../../product-images-v2/components/child/MediaIcon.js";import{isFeatureMedia as p}from"../../common/productFeaturedImage.js";import{getEditorMinHeightClass as d}from"../../common/productGallery.js";import{getProductImagesAttr as u}from"../../composables/getProductImagesAttr.js";import{getProductImagesStyles as g}from"../../composables/getProductImagesStyles.js";import{LIGHTBOX_GALLERY_CAROUSEL_SETTING as f}from"./constants.js";import{galleryItemClasses as y}from"../../composables/getProductImagesClassName.js";let h=({builderPropUID:h,displayImages:b,activeIndex:j,onChangeSlide:I})=>{let C=r(),v=s(!1),[x,P]=i(j);if(a(()=>{v.current||(v.current=!0,P(j))},[j]),b.length<=1)return null;let{galleryCarouselStyle:w,galleryCarouselItemStyle:T}=g(f),{galleryCarouselSettingAttrs:q}=u(f),A=d(C,f.position,f.navigationPosition);return e(l,{setting:q,styles:{...w},slidesClass:A,builderProps:{uid:`${h}-carousel`},rootClass:"gp-flex gp-justify-center gp-w-fit",moveToIdx:x,isHiddenArrowWhenDisabled:!0,disableMarginAuto:!0,isEnableCheckHasScrollableContent:!0,centerInsufficientSlides:!0,onChangeActive:P,children:b.map((r,s)=>{let i=p(r.contentType)?r.previewImage:r.src;return e(n,{"data-thumb-index":s,contentType:"productImage",className:y(s,j,"gp-overflow-hidden gp-rounded-md gp-border gp-transition-all"),onClickItem:()=>I(s),style:T,"data-id":r.id,children:t(o,{children:[e(m,{draggable:"false",src:i,width:r.width,height:r.height,alt:r.alt,setting:{layout:f.layout,qualityPercent:f.qualityPercent,qualityType:f.qualityType},style:{width:"100%",aspectRatio:"1/1",objectPosition:"center",cursor:"pointer"},className:"product-images-lightbox-gallery-carousel-image"}),e(c,{contentType:r?.contentType??""})]})},r.id)})})};export{h as default};
@@ -1,2 +0,0 @@
1
- 'use client';
2
- import{jsx as e}from"react/jsx-runtime";import{useRef as r,useState as t,useEffect as n}from"react";import a from"../../../../../image/components/NextImage.js";let o=({image:o,onExitZoom:i})=>{let l=r(null),c=r({x:0,y:0,originX:0,originY:0}),u=r(!1),g=r(!1),[p,s]=t({x:0,y:0});n(()=>{s({x:0,y:0})},[o]);let m=(e,r)=>{let t=l.current?.getBoundingClientRect();if(!t)return{x:e,y:r};let n=1*t.width/2,a=1*t.height/2;return{x:Math.max(-n,Math.min(n,e)),y:Math.max(-a,Math.min(a,r))}},f=e=>{u.current&&(u.current=!1,e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId))};return o.src?e("div",{ref:l,className:"gp-h-full gp-w-full gp-overflow-hidden gp-cursor-grab active:gp-cursor-grabbing",role:"button",tabIndex:0,"aria-label":"Zoomed image area",onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),i?.())},onPointerDown:e=>{e.preventDefault(),e.stopPropagation(),u.current=!0,g.current=!1,c.current={x:e.clientX,y:e.clientY,originX:p.x,originY:p.y},e.currentTarget.setPointerCapture(e.pointerId)},onPointerMove:e=>{if(!u.current)return;let r=e.clientX-c.current.x,t=e.clientY-c.current.y;(Math.abs(r)>6||Math.abs(t)>6)&&(g.current=!0);let n=m(c.current.originX+r,c.current.originY+t);s(n)},onPointerUp:f,onPointerCancel:f,onPointerLeave:f,onClick:e=>{if(e.stopPropagation(),g.current){g.current=!1;return}i?.()},onDragStart:e=>e.preventDefault(),style:{touchAction:"none"},children:e("div",{className:"gp-h-full gp-w-full",style:{transform:`translate3d(${p.x}px, ${p.y}px, 0) scale(2)`,transformOrigin:"center center",willChange:"transform"},children:e(a,{src:o.src||"",alt:o.alt||"Product image",draggable:!1,className:"gp-h-full gp-w-full gp-pointer-events-none",style:{objectFit:"contain"}})})}):e("div",{className:"gp-h-full gp-w-full"})};export{o as default};
@@ -1 +0,0 @@
1
- let e={loop:{desktop:!0},corner:{btrr:"8px",bblr:"8px",bbrr:"8px",btlr:"8px",radiusType:"rounded"},arrowNavRadius:{bblr:"99999px",bbrr:"99999px",btlr:"99999px",btrr:"99999px",radiusType:"circle"},arrowIconColor:"#AAAAAA",arrowNavColor:"#333333",arrowNavSize:{height:"Auto",padding:{bottom:"12px",left:"12px",right:"12px",top:"12px"},shape:"square",shapeLinked:!0,shapeValue:"1/1",width:"Auto"},shapeForBottom:{desktop:{shape:"square",height:"80px",shapeValue:"1/1",width:"80px",shapeLinked:!0,gap:""},tablet:{shape:"square",height:"80px",shapeValue:"1/1",width:"80px",shapeLinked:!0,gap:""},mobile:{shape:"square",height:"64px",shapeValue:"1/1",width:"64px",shapeLinked:!0,gap:""}},position:{desktop:"bottom-center"},navigationPosition:{desktop:"outside",tablet:"outside",mobile:"none"},layout:{desktop:"cover"},qualityPercent:{desktop:100},qualityType:{desktop:"high"},itemSpacing:{desktop:"8px"}},t={src:"https://cdn.shopify.com/s/assets/no-image-2048-5e88c1b20e087fb7bbe9a3771824e743c244f437e4f8ba93bbf7b11b53f7824c_large.gif",id:"noImageError",width:480,height:480,alt:"no image",contentType:"IMAGE"},o={spacing:{desktop:1},sizeSetting:{desktop:{width:"100%",height:"100%"}}},p={slidesToShow:{desktop:1},loop:{desktop:!1},dot:{desktop:!1},navigationEnable:{desktop:!1},speed:320,enableDrag:{desktop:!0},animationMode:"ease-out"};export{t as DEFAULT_LIGHTBOX_IMAGE_ONLY,p as LIGHTBOX_CAROUSEL_SETTING,o as LIGHTBOX_CAROUSEL_STYLES,e as LIGHTBOX_GALLERY_CAROUSEL_SETTING};