@gem-sdk/components 17.0.0-dev.109 → 17.0.0-dev.111

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("@gem-sdk/core"),t=require("./common/helpers.js"),r=require("./common/classes.js"),l=require("./common/styles.js"),o=require("../../hooks/useDotsSetting.js"),a=require("@gem-sdk/system");exports.default=i=>{let{onHandleClick:n,dotSize:u,dotActiveColor:c,dotColor:g}=i,{isLoop:m,checkIsActive:d}=o.useDotsSetting(i),{checkHidden:p,getDotItems:j}=t.getData(i),y=j(m),{dotClass:q}=r.getDotClass(i),{dotStyle:v}=l.getDotStyle(i,"react");return e.jsx(e.Fragment,{children:a.If(!p(y),e.jsx("div",{className:q,style:v,children:e.jsx(e.Fragment,{children:y?.map(t=>{let r=d(t);return e.jsx("button",{"aria-label":"Dot",onClick:()=>{n&&n(t,m)},style:{...s.makeStyleResponsive("w",u,"px"),...r?s.getGlobalColorResponsiveStyle("bg",c):s.getGlobalColorResponsiveStyle("bg",g)},className:s.cls("gp-aspect-square gp-w-3 gp-rounded-full gp-shadow-md",{"gem-slider-dot-active":r,"gem-slider-dot-inactive":!r})},t)})})}))})};
2
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("@gem-sdk/core"),t=require("./common/helpers.js"),r=require("./common/classes.js"),l=require("./common/styles.js"),o=require("../../hooks/useDotsSetting.js"),a=require("@gem-sdk/system");exports.default=i=>{let{onHandleClick:n,dotSize:c,dotActiveColor:u,dotColor:g}=i,{isLoop:m,checkIsActive:d}=o.useDotsSetting(i),{checkHidden:p,getDotItems:j}=t.getData(i),y=j(m),{dotClass:q}=r.getDotClass(i),{dotStyle:v}=l.getDotStyle(i,"react");return e.jsx(e.Fragment,{children:a.If(!p(y),e.jsx("div",{className:q,style:v,children:e.jsx(e.Fragment,{children:y?.map(t=>{let r=d(t);return e.jsx("button",{"aria-label":"Dot",onClick:()=>{n&&n(t,m)},style:{...s.makeStyleResponsiveByScreen("w",c,"px"),...r?s.getGlobalColorResponsiveStyle("bg",u):s.getGlobalColorResponsiveStyle("bg",g)},className:s.cls("gp-aspect-square gp-w-3 gp-rounded-full gp-shadow-md",{"gem-slider-dot-active":r,"gem-slider-dot-inactive":!r})},t)})})}))})};
@@ -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("./common/helpers.js"),r=require("./common/classes.js"),l=require("./common/styles.js"),o=require("../../hooks/useDotsSetting.js"),a=require("@gem-sdk/system");exports.default=i=>{let{onHandleClick:n,dotSize:u,dotActiveColor:c,dotColor:g}=i,{isLoop:m,checkIsActive:d}=o.useDotsSetting(i),{checkHidden:p,getDotItems:j}=t.getData(i),y=j(m),{dotClass:q}=r.getDotClass(i),{dotStyle:v}=l.getDotStyle(i,"react");return e.jsx(e.Fragment,{children:a.If(!p(y),e.jsx("div",{className:q,style:v,children:e.jsx(e.Fragment,{children:y?.map(t=>{let r=d(t);return e.jsx("button",{"aria-label":"Dot",onClick:()=>{n&&n(t,m)},style:{...s.makeStyleResponsive("w",u,"px"),...r?s.getGlobalColorResponsiveStyle("bg",c):s.getGlobalColorResponsiveStyle("bg",g)},className:s.cls("gp-aspect-square gp-w-3 gp-rounded-full gp-shadow-md",{"gem-slider-dot-active":r,"gem-slider-dot-inactive":!r})},t)})})}))})};
2
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("@gem-sdk/core"),t=require("./common/helpers.js"),r=require("./common/classes.js"),l=require("./common/styles.js"),o=require("../../hooks/useDotsSetting.js"),a=require("@gem-sdk/system");exports.default=i=>{let{onHandleClick:n,dotSize:c,dotActiveColor:u,dotColor:g}=i,{isLoop:m,checkIsActive:d}=o.useDotsSetting(i),{checkHidden:p,getDotItems:j}=t.getData(i),y=j(m),{dotClass:q}=r.getDotClass(i),{dotStyle:v}=l.getDotStyle(i,"react");return e.jsx(e.Fragment,{children:a.If(!p(y),e.jsx("div",{className:q,style:v,children:e.jsx(e.Fragment,{children:y?.map(t=>{let r=d(t);return e.jsx("button",{"aria-label":"Dot",onClick:()=>{n&&n(t,m)},style:{...s.makeStyleResponsiveByScreen("w",c,"px"),...r?s.getGlobalColorResponsiveStyle("bg",u):s.getGlobalColorResponsiveStyle("bg",g)},className:s.cls("gp-aspect-square gp-w-3 gp-rounded-full gp-shadow-md",{"gem-slider-dot-active":r,"gem-slider-dot-inactive":!r})},t)})})}))})};
@@ -1 +1 @@
1
- "use strict";var e=require("@gem-sdk/core");exports.getData=e=>{let{hiddenWhenOnlyOne:t,slideDuplicated:r}=e;return{checkHidden:e=>t&&e?.length<2,getDotItems:t=>{let{enabledSneakPeak:n,totalSlideItem:l=0,numberOfFullWidthShow:o=0,slideItemsPerPage:s=0}=e;return Array.from({length:t?r?l/2:l:n?l-o+1:Math.ceil(l/s)},(e,t)=>t)}}},exports.getUpdatedDotStyle=(t,r)=>{let n={};return e.DEVICES.forEach(l=>{let o=e.getResponsiveValueByScreen(t,l),s=e.getResponsiveValueByScreen(r,l);n={...n,[l]:o?s:"none"}}),n};
1
+ "use strict";var e=require("@gem-sdk/core");exports.getData=e=>{let{hiddenWhenOnlyOne:t,slideDuplicated:r}=e;return{checkHidden:e=>t&&e?.length<2,getDotItems:t=>{let{enabledSneakPeak:n,totalSlideItem:a=0,numberOfFullWidthShow:l=0,slideItemsPerPage:o=0}=e;return Array.from({length:t?r?a/2:a:n?Math.min(a-l+1,a):Math.ceil(a/o)},(e,t)=>t)}}},exports.getUpdatedDotStyle=(t,r)=>{let n={};return e.DEVICES.forEach(a=>{let l=e.getResponsiveValueByScreen(t,a),o=e.getResponsiveValueByScreen(r,a);n={...n,[a]:l?o:"none"}}),n};
@@ -1 +1 @@
1
- "use strict";var e=require("react"),t=require("@gem-sdk/core"),n=require("./useTrackPreviewPause.js");exports.useCarousel=(r,s,a,i)=>{let l;let{builderProps:u,moveToIdx:o,styles:c,setting:d,isHiddenArrowWhenDisabled:p=!0,elmRef:f,isEnableCheckHasScrollableContent:m,isDisableResetSlide:g,onClickArrow:y,onHandleChangeSlideByInteraction:v,onChangeActive:S}=r,[k,h]=e.useState(!0),[V,b]=e.useState(!0),[B,R]=e.useState(!1),[P,T]=e.useState(!0),[w,N]=e.useState(!1),{loop:E,navigationEnable:x={desktop:!0},navigationStyle:C}=d??{},[M,I]=e.useState(i),[O,L]=e.useState(d?.defaultCurrentSlider??0),{isFirstPreviewClicked:D}=n.default(d?.runPreview),z=e.useRef(),q=e.useRef(o??0),A=t.useCurrentDevice(),H=t.useEditorMode(),{onListener:j,saveToElementInteractionData:F,getInteractionPreviousData:$,trigger:U}=t.useInteraction(),W=e.useMemo(()=>t.getResponsiveValueByScreen(E,A,!1),[E,A]),G=e.useCallback(()=>{if(!d?.slidesToShow)return null;let e={};return t.DEVICES.forEach(n=>{let r=t.getResponsiveValueByScreen(d?.slidesToShow,n);e[n]=r?"auto"===r?4:Math.floor(r):0}),e},[d?.slidesToShow]),J=e.useCallback(()=>{if(!d?.slidesToShow)return null;let e={};return t.DEVICES.forEach(n=>{let r=t.getResponsiveValueByScreen(d?.slidesToShow,n);e[n]=r?"auto"===r?4:r:0}),e},[d?.slidesToShow]),K=e.useMemo(()=>{let e=J();if(e)return e;let n={};return t.DEVICES.forEach(e=>{let r=t.getResponsiveValueByScreen(d?.sneakPeak,e),s=r?"center"===t.getResponsiveValueByScreen(d?.sneakPeakType,e)?t.getResponsiveValueByScreen(d?.sneakPeakOffsetCenter,e)??0:t.getResponsiveValueByScreen(d?.sneakPeakOffsetForward,e)??0:0,a="center"===t.getResponsiveValueByScreen(d?.sneakPeakType,e)?-2:-1,i=t.getResponsiveValueByScreen(d?.itemNumber,e);n[e]="number"==typeof i?i+s/100*a:"auto"}),n},[J,d?.itemNumber,d?.sneakPeak,d?.sneakPeakOffsetCenter,d?.sneakPeakOffsetForward,d?.sneakPeakType]),Q=e.useMemo(()=>{let e=t.getResponsiveValueByScreen(K,A),n=t.getResponsiveValueByScreen(E,A,!1);return n&&Number(e??0)>i||!n&&Number(e??0)>=i},[K,A,E,i]),X=e.useMemo(()=>{let e=t.getResponsiveValueByScreen(x,A),n=t.getResponsiveValueByScreen(C,A);return a&&e&&"none"!==n&&k&&!Q},[x,A,C,a,k,Q]),Y=e.useMemo(()=>{let e=G();return e||d?.itemNumber},[G,d?.itemNumber]),Z=e.useCallback(e=>{let n="center"===t.getResponsiveValueByScreen(d?.sneakPeakType,e)?2:1;return"number"==typeof t.getResponsiveValueByScreen(Y,e,4)?t.getResponsiveValueByScreen(Y,e,4)-n:void 0},[d?.sneakPeakType,Y]),_=()=>{let e="auto"===t.getResponsiveValueByScreen(K,A,1)?1:t.getResponsiveValueByScreen(K,A,1);return e??1},ee=e.useCallback(()=>{let e=t.getResponsiveValueByScreen(K,A,1),n=Z(A)??1,r=t.getResponsiveValueByScreen(d?.sneakPeak,A,!1);return Array.from({length:Math.max(W?i:r?i-n+1:"auto"===e?0:Math.ceil(i/Number(e)),0)},(e,t)=>t)},[i,K,A,Z,d?.sneakPeak,W]),et=e=>{let t=e*_();return t>=M-_()&&(t=M-_()),t},en=e=>{let n="edit"===H?{[e]:!1}:d?.enableDrag;return t.getResponsiveValueByScreen(n,e)};e.useImperativeHandle(s,()=>({nextSlideInteraction:ea,previousSlideInteraction:ei,moveToSlideInteraction:el,getSwiper:()=>a}));let er=e=>{a?.slideTo(e),v&&v(e)},es=(e,t)=>{let{key:n,data:r,isRollback:s,element:i}=e,l=Math.max(a?.activeIndex??0,0);if(s&&void 0===r)return;if(s){if("specific"===t){let{previousData:e}=$(i,n);er(Number(e))}else er("next"===t?l-1:l+1);return}let u="specific"===t?Math.max(q.current,0):l;F(i,n,u.toString());let o="specific"===t?Number(r):"next"===t?l+1:l-1;er(o)},ea=e=>{es(e,"next")},ei=e=>{es(e,"previous")},el=e=>{es(e,"specific")},eu=_(),eo=e.useMemo(()=>!!M&&a&&t.getResponsiveValueByScreen(d?.dot,A)&&!Q&&i>1,[M,a,d?.dot,A,Q,i]),ec=t.getResponsiveValueByScreen(d?.vertical,A,!1)?"vertical":"horizontal",ed=e.useMemo(()=>"center"===t.getResponsiveValueByScreen(d?.sneakPeakType,A)&&"number"==typeof t.getResponsiveValueByScreen(d?.itemNumber,A)&&Number(t.getResponsiveValueByScreen(d?.itemNumber,A))>1,[d?.sneakPeakType,d?.itemNumber,A]),ep=e=>{let{swiperWidth:t,slidesPerView:n,itemNumberByDevice:r,centeredSlides:s}=e;if(!s||!r)return 0;let a=t/n,i=(Number(r)-2)/2-1;return-(a/2+i*a)},ef=e.useMemo(()=>{let e=t.getResponsiveValueByScreen(E,A,!1),n=a?.width??0,r={0:"mobile",768:"tablet",1025:"desktop"},s=Number(Object.entries(r).find(([,e])=>e===A)?.[0]??1025),i=Object.entries(r).reduce((e,[r,s])=>{if(!e)return;let a=Number(r),i=t.getResponsiveValueByScreen(d?.sneakPeak,s,!1),l=i&&"center"===t.getResponsiveValueByScreen(d?.sneakPeakType,s),u=t.getResponsiveValueByScreen(d?.itemNumber,s),c=en(s),p=ep({swiperWidth:n,slidesPerView:eu,itemNumberByDevice:u,centeredSlides:l}),f=d?.initialSlide||o||0;return e[a]={allowTouchMove:c,slidesOffsetBefore:p,slidesOffsetAfter:p,initialSlide:f,centeredSlides:l},e},{}),l="center"===t.getResponsiveValueByScreen(d?.sneakPeakType,A)&&"number"==typeof t.getResponsiveValueByScreen(d?.itemNumber,A)&&Number(t.getResponsiveValueByScreen(d?.itemNumber,A))>1;return{speed:c?.playSpeed??500,dir:d?.rtl?"rtl":"ltr",spaceBetween:t.getResponsiveValueByScreen(c?.spacing,A)||0,loop:e,slidesPerView:"auto"===t.getResponsiveValueByScreen(K,A,1)?"auto":eu,direction:ec,breakpoints:i,isSneakPeekCenter:l,slidesOffsetBefore:i?.[s]?.slidesOffsetBefore,thumbs:{slideThumbActiveClass:"gem-slider-item-active"},loopPreventsSliding:!1,autoplay:{delay:(d?.autoplayTimeout??1)*1e3,pauseOnMouseEnter:d?.pauseOnHover,stopOnLastSlide:!e}}},[c?.playSpeed,d?.rtl,c?.spacing,A,E,eu,d?.sneakPeakType,d?.pauseOnHover,d?.autoplayTimeout,a?.width,M]),em=t.getResponsiveValueByScreen(d?.sneakPeak,A),eg=e.useCallback(e=>{let n=a&&a.params?.slidesPerView,r=n?a?.slidesPerViewDynamic():1;if(e<=1)return!1;let s="auto"===ef.slidesPerView?r:ef.slidesPerView;if(!W||e<Number(s)||!k)return!1;let i=t.getResponsiveValueByScreen(d?.sneakPeak,A,!1),l=i&&"center"===t.getResponsiveValueByScreen(d?.sneakPeakType,A),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},[a,ef.slidesPerView,W,k,d?.sneakPeak,d?.sneakPeakType,A]);e.useEffect(()=>{let e=`[data-id="${u?.uid}"]`;j({event:"gp:change-next-slide",selector:e,elementRef:z},e=>{let{data:t,isRollback:n,uniqueStorageKey:r}=e||{};ea({element:z.current,data:t,isRollback:n,key:r})}),j({event:"gp:change-previous-slide",selector:e,elementRef:z},e=>{let{data:t,isRollback:n,uniqueStorageKey:r}=e||{};ei({element:z.current,data:t,isRollback:n,key:r})}),j({event:"gp:change-image-step",selector:e,elementRef:z},e=>{let{data:t,isRollback:n,uniqueStorageKey:r}=e||{};el({element:z.current,data:t,isRollback:n,key:r})}),j({event:"gp:change-index-slide",selector:e},t=>{let n=document.querySelector(e),{data:r,isRollback:s,uniqueStorageKey:a}=t||{};el({element:n,data:r,isRollback:s,key:a})})},[]),e.useEffect(()=>{I(i)},[i]);let ey=e.useCallback(()=>{g||(L(0),b(!0),R(!1),T(!0),N(!1))},[g]);e.useEffect(()=>{if("number"==typeof o){if(q.current=o,a?.params?.loop){a?.slideToLoop(o);return}a?.slideTo(o)}},[a,o,p]);let ev=()=>{let e=t.getResponsiveValueByScreen(d?.loop,A,!1);if(!a||!ed||e)return;let n=ee().length;if(!n)return;let r=a.snapIndex>=n-1;a.isEnd=r,a.allowSlideNext=!r};return e.useEffect(()=>{if(!a)return;let e=()=>{I(a.slides.length),ev(),T(a.isBeginning),N(a.isEnd)},t=()=>{S&&S(a.realIndex)},n=()=>{L(a.realIndex),b(a?.translate===0),R(a?.translate<=a?.maxTranslate())};return a.on("transitionEnd",n),a.on("slideChange",e),a.on("slideChangeTransitionStart",t),()=>{a?.off("slideChange",e),a?.off("slideChangeTransitionStart",t),a?.off("transitionEnd",n)}},[ef.loop,a]),e.useEffect(()=>{a&&(ev(),T(a.isBeginning),N(a.isEnd))},[Q,a,K]),e.useEffect(()=>{a?.wrapperEl&&(a.wrapperEl.style.transitionTimingFunction=d?.animationMode??"ease")},[a,d?.animationMode]),e.useEffect(()=>{if(a&&a.autoplay){let e="edit"===H?!!D&&d?.runPreview&&d?.autoplay:d?.autoplay;e?a.autoplay.start():a.autoplay.stop()}},[a,d?.autoplay,H,D,d?.runPreview]),e.useEffect(()=>{let e=e=>{if(u?.uid!==e?.detail.componentUid)return;let t=e?.detail.index||0;a?.slideToLoop(t)};return window.addEventListener("move-to-idx",e),()=>window.removeEventListener("move-to-idx",e)},[a,u?.uid]),e.useEffect(()=>{if(!a)return;let e=a.el;e?.classList?.remove("swiper-horizontal","swiper-vertical");let n=t.getResponsiveValueByScreen(d?.vertical,A)?"swiper-vertical":"swiper-horizontal";e?.classList?.add(n),a?.slides?.forEach(e=>{e.style.width="",e.style.height=""}),a?.update()},[A,d?.vertical,a,a?.params]),e.useEffect(()=>{if(!a||!m)return;let e=()=>{let e=a?.slides?.slice(0,i)||[],t=Number(ef?.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=a.params?.direction==="horizontal"?r>(a.width||0):n>(a.height||0);h(s)};return e(),a.on("resize",e),a.on("update",e),a.on("slidesLengthChange",e),a.on("orientationchange",e),()=>{a.off("resize",e),a.off("update",e),a.off("slidesLengthChange",e),a.off("orientationchange",e)}},[a]),{isInfinity:W,sliderSettings:ef,totalSlideItem:M,currentSlide:O,localRef:z,isRenderDots:eo,showNavigation:X,isScrollToStart:V,isScrollToEnd:B,handleDotClick:(e,n)=>{let r=d?.sneakPeak?.[A]?e:n?e:et(e);if(n){if(i<eu){a?.slideTo(r);return}if(a?.realIndex===r)return;if(r===Number(a?.realIndex)+1||0===r&&a?.realIndex===i-1)return a?.slideNext();if(r===Number(a?.realIndex)-1||r===i-1&&a?.realIndex===0)return a?.slidePrev();let e="center"===t.getResponsiveValueByScreen(d?.sneakPeakType,A)&&"number"==typeof t.getResponsiveValueByScreen(d?.itemNumber,A)&&Number(t.getResponsiveValueByScreen(d?.itemNumber,A))%2==0;e?a?.slideToLoopCenterSneakPeek(r):a?.slideToLoop(r)}else a?.slideTo(r);q.current=r},getItemsPerPage:_,handleNextAndPrevSlide:e=>{"next"===e?a?.slideNext():a?.slidePrev(),y&&(l&&clearTimeout(l),l=setTimeout(()=>y&&y(),500))},dispatchEventSelectSlide:e=>{U({event:"gp:rollback:select-slide",selector:`[data-id="${u?.uid}"]`,element:f?.current}),U({event:"gp:select-slide",selector:`[data-id="${u?.uid}"]`,data:e,element:f?.current})},getNumberOfFullWidthShow:Z,shouldDuplicateSlides:eg,isHideNavigation:Q,sneakPeak:em,swiperIsBeginning:P,swiperIsEnd:w,handleSwiperReset:ey}};
1
+ "use strict";var e=require("react"),t=require("@gem-sdk/core"),n=require("./useTrackPreviewPause.js");exports.useCarousel=(r,s,a,i)=>{let l;let{builderProps:u,moveToIdx:o,styles:c,setting:d,isHiddenArrowWhenDisabled:p=!0,elmRef:f,isEnableCheckHasScrollableContent:m,isDisableResetSlide:g,onClickArrow:y,onHandleChangeSlideByInteraction:v,onChangeActive:S}=r,[k,h]=e.useState(!0),[V,b]=e.useState(!0),[B,R]=e.useState(!1),[P,T]=e.useState(!0),[w,N]=e.useState(!1),{loop:E,navigationEnable:x={desktop:!0},navigationStyle:C}=d??{},[M,I]=e.useState(i),[O,L]=e.useState(d?.defaultCurrentSlider??0),{isFirstPreviewClicked:D}=n.default(d?.runPreview),z=e.useRef(),q=e.useRef(o??0),A=t.useCurrentDevice(),H=t.useEditorMode(),{onListener:j,saveToElementInteractionData:F,getInteractionPreviousData:$,trigger:U}=t.useInteraction(),W=e.useMemo(()=>t.getResponsiveValueByScreen(E,A,!1),[E,A]),G=e.useCallback(()=>{if(!d?.slidesToShow)return null;let e={};return t.DEVICES.forEach(n=>{let r=t.getResponsiveValueByScreen(d?.slidesToShow,n);e[n]=r?"auto"===r?4:Math.floor(r):0}),e},[d?.slidesToShow]),J=e.useCallback(()=>{if(!d?.slidesToShow)return null;let e={};return t.DEVICES.forEach(n=>{let r=t.getResponsiveValueByScreen(d?.slidesToShow,n);e[n]=r?"auto"===r?4:r:0}),e},[d?.slidesToShow]),K=e.useMemo(()=>{let e=J();if(e)return e;let n={};return t.DEVICES.forEach(e=>{let r=t.getResponsiveValueByScreen(d?.sneakPeak,e),s=r?"center"===t.getResponsiveValueByScreen(d?.sneakPeakType,e)?t.getResponsiveValueByScreen(d?.sneakPeakOffsetCenter,e)??0:t.getResponsiveValueByScreen(d?.sneakPeakOffsetForward,e)??0:0,a="center"===t.getResponsiveValueByScreen(d?.sneakPeakType,e)?-2:-1,i=t.getResponsiveValueByScreen(d?.itemNumber,e);n[e]="number"==typeof i?i+s/100*a:"auto"}),n},[J,d?.itemNumber,d?.sneakPeak,d?.sneakPeakOffsetCenter,d?.sneakPeakOffsetForward,d?.sneakPeakType]),Q=e.useMemo(()=>{let e=t.getResponsiveValueByScreen(K,A),n=t.getResponsiveValueByScreen(E,A,!1);return n&&Number(e??0)>i||!n&&Number(e??0)>=i},[K,A,E,i]),X=e.useMemo(()=>{let e=t.getResponsiveValueByScreen(x,A),n=t.getResponsiveValueByScreen(C,A);return a&&e&&"none"!==n&&k&&!Q},[x,A,C,a,k,Q]),Y=e.useMemo(()=>{let e=G();return e||d?.itemNumber},[G,d?.itemNumber]),Z=e.useCallback(e=>{let n="center"===t.getResponsiveValueByScreen(d?.sneakPeakType,e)?2:1;return"number"==typeof t.getResponsiveValueByScreen(Y,e,4)?t.getResponsiveValueByScreen(Y,e,4)-n:void 0},[d?.sneakPeakType,Y]),_=()=>{let e="auto"===t.getResponsiveValueByScreen(K,A,1)?1:t.getResponsiveValueByScreen(K,A,1);return e??1},ee=e.useCallback(()=>{let e=t.getResponsiveValueByScreen(K,A,1),n=Z(A)??1,r=t.getResponsiveValueByScreen(d?.sneakPeak,A,!1);return Array.from({length:Math.max(W?i:r?Math.min(i-n+1,i):"auto"===e?0:Math.ceil(i/Number(e)),0)},(e,t)=>t)},[i,K,A,Z,d?.sneakPeak,W]),et=e=>{let t=e*_();return t>=M-_()&&(t=M-_()),t},en=e=>{let n="edit"===H?{[e]:!1}:d?.enableDrag;return t.getResponsiveValueByScreen(n,e)};e.useImperativeHandle(s,()=>({nextSlideInteraction:ea,previousSlideInteraction:ei,moveToSlideInteraction:el,getSwiper:()=>a}));let er=e=>{a?.slideTo(e),v&&v(e)},es=(e,t)=>{let{key:n,data:r,isRollback:s,element:i}=e,l=Math.max(a?.activeIndex??0,0);if(s&&void 0===r)return;if(s){if("specific"===t){let{previousData:e}=$(i,n);er(Number(e))}else er("next"===t?l-1:l+1);return}let u="specific"===t?Math.max(q.current,0):l;F(i,n,u.toString());let o="specific"===t?Number(r):"next"===t?l+1:l-1;er(o)},ea=e=>{es(e,"next")},ei=e=>{es(e,"previous")},el=e=>{es(e,"specific")},eu=_(),eo=e.useMemo(()=>!!M&&a&&t.getResponsiveValueByScreen(d?.dot,A)&&!Q&&i>1,[M,a,d?.dot,A,Q,i]),ec=t.getResponsiveValueByScreen(d?.vertical,A,!1)?"vertical":"horizontal",ed=e.useMemo(()=>"center"===t.getResponsiveValueByScreen(d?.sneakPeakType,A)&&"number"==typeof t.getResponsiveValueByScreen(d?.itemNumber,A)&&Number(t.getResponsiveValueByScreen(d?.itemNumber,A))>1,[d?.sneakPeakType,d?.itemNumber,A]),ep=e=>{let{swiperWidth:t,slidesPerView:n,itemNumberByDevice:r,centeredSlides:s}=e;if(!s||!r)return 0;let a=t/n,i=(Number(r)-2)/2-1;return-(a/2+i*a)},ef=e.useMemo(()=>{let e=t.getResponsiveValueByScreen(E,A,!1),n=a?.width??0,r={0:"mobile",768:"tablet",1025:"desktop"},s=Number(Object.entries(r).find(([,e])=>e===A)?.[0]??1025),i=Object.entries(r).reduce((e,[r,s])=>{if(!e)return;let a=Number(r),i=t.getResponsiveValueByScreen(d?.sneakPeak,s,!1),l=i&&"center"===t.getResponsiveValueByScreen(d?.sneakPeakType,s),u=t.getResponsiveValueByScreen(d?.itemNumber,s),c=en(s),p=ep({swiperWidth:n,slidesPerView:eu,itemNumberByDevice:u,centeredSlides:l}),f=d?.initialSlide||o||0;return e[a]={allowTouchMove:c,slidesOffsetBefore:p,slidesOffsetAfter:p,initialSlide:f,centeredSlides:l},e},{}),l="center"===t.getResponsiveValueByScreen(d?.sneakPeakType,A)&&"number"==typeof t.getResponsiveValueByScreen(d?.itemNumber,A)&&Number(t.getResponsiveValueByScreen(d?.itemNumber,A))>1;return{speed:c?.playSpeed??500,dir:d?.rtl?"rtl":"ltr",spaceBetween:t.getResponsiveValueByScreen(c?.spacing,A)||0,loop:e,slidesPerView:"auto"===t.getResponsiveValueByScreen(K,A,1)?"auto":eu,direction:ec,breakpoints:i,isSneakPeekCenter:l,slidesOffsetBefore:i?.[s]?.slidesOffsetBefore,thumbs:{slideThumbActiveClass:"gem-slider-item-active"},loopPreventsSliding:!1,autoplay:{delay:(d?.autoplayTimeout??1)*1e3,pauseOnMouseEnter:d?.pauseOnHover,stopOnLastSlide:!e}}},[c?.playSpeed,d?.rtl,c?.spacing,A,E,eu,d?.sneakPeakType,d?.pauseOnHover,d?.autoplayTimeout,a?.width,M]),em=t.getResponsiveValueByScreen(d?.sneakPeak,A),eg=e.useCallback(e=>{let n=a&&a.params?.slidesPerView,r=n?a?.slidesPerViewDynamic():1;if(e<=1)return!1;let s="auto"===ef.slidesPerView?r:ef.slidesPerView;if(!W||e<Number(s)||!k)return!1;let i=t.getResponsiveValueByScreen(d?.sneakPeak,A,!1),l=i&&"center"===t.getResponsiveValueByScreen(d?.sneakPeakType,A),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},[a,ef.slidesPerView,W,k,d?.sneakPeak,d?.sneakPeakType,A]);e.useEffect(()=>{let e=`[data-id="${u?.uid}"]`;j({event:"gp:change-next-slide",selector:e,elementRef:z},e=>{let{data:t,isRollback:n,uniqueStorageKey:r}=e||{};ea({element:z.current,data:t,isRollback:n,key:r})}),j({event:"gp:change-previous-slide",selector:e,elementRef:z},e=>{let{data:t,isRollback:n,uniqueStorageKey:r}=e||{};ei({element:z.current,data:t,isRollback:n,key:r})}),j({event:"gp:change-image-step",selector:e,elementRef:z},e=>{let{data:t,isRollback:n,uniqueStorageKey:r}=e||{};el({element:z.current,data:t,isRollback:n,key:r})}),j({event:"gp:change-index-slide",selector:e},t=>{let n=document.querySelector(e),{data:r,isRollback:s,uniqueStorageKey:a}=t||{};el({element:n,data:r,isRollback:s,key:a})})},[]),e.useEffect(()=>{I(i)},[i]);let ey=e.useCallback(()=>{g||(L(0),b(!0),R(!1),T(!0),N(!1))},[g]);e.useEffect(()=>{if("number"==typeof o){if(q.current=o,a?.params?.loop){a?.slideToLoop(o);return}a?.slideTo(o)}},[a,o,p]);let ev=e.useCallback(()=>{let e=t.getResponsiveValueByScreen(d?.loop,A,!1);if(!a||!ed||e)return;let n=ee().length;if(!n)return;let r=a.snapIndex>=n-1;a.isEnd=r,a.allowSlideNext=!r},[a,d?.loop,A,ed,ee]);return e.useEffect(()=>{if(!a)return;let e=()=>{I(a.slides.length),ev(),T(a.isBeginning),N(a.isEnd)},t=()=>{S&&S(a.realIndex)},n=()=>{L(a.realIndex),b(a?.translate===0),R(a?.translate<=a?.maxTranslate())};return a.on("transitionEnd",n),a.on("slideChange",e),a.on("slideChangeTransitionStart",t),()=>{a?.off("slideChange",e),a?.off("slideChangeTransitionStart",t),a?.off("transitionEnd",n)}},[ef.loop,a,ev]),e.useEffect(()=>{if(!a)return;let e=ed?ee().length:0;e>0&&a.snapIndex>=e&&a.slideTo(e-1,0),ev(),T(a.isBeginning),N(a.isEnd)},[Q,a,K]),e.useEffect(()=>{a?.wrapperEl&&(a.wrapperEl.style.transitionTimingFunction=d?.animationMode??"ease")},[a,d?.animationMode]),e.useEffect(()=>{if(a&&a.autoplay){let e="edit"===H?!!D&&d?.runPreview&&d?.autoplay:d?.autoplay;e?a.autoplay.start():a.autoplay.stop()}},[a,d?.autoplay,H,D,d?.runPreview]),e.useEffect(()=>{let e=e=>{if(u?.uid!==e?.detail.componentUid)return;let t=e?.detail.index||0;a?.slideToLoop(t)};return window.addEventListener("move-to-idx",e),()=>window.removeEventListener("move-to-idx",e)},[a,u?.uid]),e.useEffect(()=>{if(!a)return;let e=a.el;e?.classList?.remove("swiper-horizontal","swiper-vertical");let n=t.getResponsiveValueByScreen(d?.vertical,A)?"swiper-vertical":"swiper-horizontal";e?.classList?.add(n),a?.slides?.forEach(e=>{e.style.width="",e.style.height=""}),a?.update()},[A,d?.vertical,a,a?.params]),e.useEffect(()=>{if(!a||!m)return;let e=()=>{let e=a?.slides?.slice(0,i)||[],t=Number(ef?.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=a.params?.direction==="horizontal"?r>(a.width||0):n>(a.height||0);h(s)};return e(),a.on("resize",e),a.on("update",e),a.on("slidesLengthChange",e),a.on("orientationchange",e),()=>{a.off("resize",e),a.off("update",e),a.off("slidesLengthChange",e),a.off("orientationchange",e)}},[a]),{isInfinity:W,sliderSettings:ef,totalSlideItem:M,currentSlide:O,localRef:z,isRenderDots:eo,showNavigation:X,isScrollToStart:V,isScrollToEnd:B,handleDotClick:(e,n)=>{let r=d?.sneakPeak?.[A]?e:n?e:et(e);if(n){if(i<eu){a?.slideTo(r);return}if(a?.realIndex===r)return;if(r===Number(a?.realIndex)+1||0===r&&a?.realIndex===i-1)return a?.slideNext();if(r===Number(a?.realIndex)-1||r===i-1&&a?.realIndex===0)return a?.slidePrev();let e="center"===t.getResponsiveValueByScreen(d?.sneakPeakType,A)&&"number"==typeof t.getResponsiveValueByScreen(d?.itemNumber,A)&&Number(t.getResponsiveValueByScreen(d?.itemNumber,A))%2==0;e?a?.slideToLoopCenterSneakPeek(r):a?.slideToLoop(r)}else a?.slideTo(r);q.current=r},getItemsPerPage:_,handleNextAndPrevSlide:e=>{"next"===e?a?.slideNext():a?.slidePrev(),y&&(l&&clearTimeout(l),l=setTimeout(()=>y&&y(),500))},dispatchEventSelectSlide:e=>{U({event:"gp:rollback:select-slide",selector:`[data-id="${u?.uid}"]`,element:f?.current}),U({event:"gp:select-slide",selector:`[data-id="${u?.uid}"]`,data:e,element:f?.current})},getNumberOfFullWidthShow:Z,shouldDuplicateSlides:eg,isHideNavigation:Q,sneakPeak:em,swiperIsBeginning:P,swiperIsEnd:w,handleSwiperReset:ey}};
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./common/styles.js"),t=require("./common/helpers.js"),s=require("@gem-sdk/core"),r=require("@gem-sdk/system"),a=require("../../../helpers.js"),o=require("./helpers/getButtonDynamicSourceLocales.js"),i=require("./SoldOutButton.liquid.js"),n=require("./AddToCartButton.liquid.js");exports.default=l=>{let{setting:u,builderProps:c,style:p,styles:d,pageContext:g}=l,{wrapStyle:m,restStyle:y}=e.getSplitStyle(p),{outOfStockButtonLabel:S,unavailableButtonLabel:b,variantSelectionRequiredMessage:f,successMessage:q,errorMessage:v}=o.getButtonDynamicSourceLocales({setting:u,pageContext:g,builderProps:c}),{urlData:$}=a.getInsertLinkData("",u?.actionEffect==="open-cart-drawer"?{link:"/cart",target:"_self"}:u?.customURL),_=r.createStateOrContext(t.getGPProductButtonState({styles:d,setting:u})),h=t.escapeSingleQuoteForAttr(q??u?.successMessage),j=t.escapeSingleQuoteForAttr(v??u?.errorMessage);return s.template`
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./common/styles.js"),t=require("./common/helpers.js"),s=require("@gem-sdk/core"),r=require("@gem-sdk/system"),a=require("../../../helpers.js"),i=require("./helpers/getButtonDynamicSourceLocales.js"),o=require("./SoldOutButton.liquid.js"),n=require("./AddToCartButton.liquid.js");exports.default=l=>{let{setting:u,builderProps:c,style:p,styles:d,pageContext:g}=l,{wrapStyle:S,restStyle:m}=e.getSplitStyle(p),{outOfStockButtonLabel:y,unavailableButtonLabel:b,variantSelectionRequiredMessage:f,successMessage:q,errorMessage:v}=i.getButtonDynamicSourceLocales({setting:u,pageContext:g,builderProps:c}),{urlData:$}=a.getInsertLinkData("",u?.actionEffect==="open-cart-drawer"?{link:"/cart",target:"_self"}:u?.customURL),_=r.createStateOrContext(t.getGPProductButtonState({styles:d,setting:u})),h=t.escapeSingleQuoteForAttr(q??u?.successMessage),j=t.escapeSingleQuoteForAttr(v??u?.errorMessage),A=t.escapeSingleQuoteForAttr(f??u?.variantSelectionRequiredMessage);return s.template`
2
2
  ${r.Liquid("{%- assign total_combinations = 1 -%}")}
3
3
  ${r.LiquidFor("option in product.options_with_values","{%- assign total_combinations = total_combinations | times: option.values.size -%}")}
4
4
  {%- liquid
@@ -6,20 +6,20 @@
6
6
  assign is_in_stock = variant.available
7
7
  -%}
8
8
  <gp-product-button
9
- style="${m}"
9
+ style="${S}"
10
10
  gp-data-wrapper="true"
11
11
  gp-href="${$.href}"
12
12
  class="gp-product-button"
13
- gp-label-out-of-stock="${S}"
13
+ gp-label-out-of-stock="${y}"
14
14
  gp-label-unavailable="${b}"
15
15
  gp-data='${JSON.stringify(_)}'
16
- data-variant-selection-required-message="${f}"
16
+ data-variant-selection-required-message="${A}"
17
17
  gp-enable-third-partycart="{{shop.metafields.GEMPAGES.enableThirdPartyCart}}"
18
18
  gp-error-message="${j}"
19
19
  gp-success-message="${h}"
20
20
  >
21
- ${n.AddToCartButton({...l,style:y})}
22
- ${i.SoldOutButton({...l,style:y,label:S})}
21
+ ${n.AddToCartButton({...l,style:m})}
22
+ ${o.SoldOutButton({...l,style:m,label:y})}
23
23
  </gp-product-button>
24
24
  ${r.If(s.isLocalEnv,`<script ${a.getSettingPreloadData('class="gps-link" delay',"src")}="{{ 'gp-product-button-v7-5.js' | asset_url }}" defer="defer"></script>`,`<script ${a.getSettingPreloadData('class="gps-link" delay',"src")}="${s.baseAssetURL}/assets-v2/gp-product-button-v7-5.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
25
25
  `};
@@ -1 +1 @@
1
- "use strict";var i=require("./ui/ImageListNavigation.js"),o=require("./ui/FeatureNavigation.js"),e=require("./ui/FeatureDots.js");const t='((type == "slider" || position == "left" || position == "right") && position !== "one-col" && position != "two-col")',n='(["bottom-center", "left", "right", "only-feature", "inside-bottom", "inside-left", "inside-right"].includes(position))',l=[{label:"Layout",controls:[{layout:"vertical",setting:{id:"position"},options:{isComboLayout:!0},controls:[{label:"Ratio",type:"control",setting:{id:"ratioLayout"},layout:"vertical",conditionDisplay:'position == "left"'},{label:"Ratio",type:"control",setting:{id:"ratioLayoutRight"},layout:"vertical",conditionDisplay:'position == "right"'}]}]},{label:"Featured image",conditionDisplay:n,controls:[{setting:{id:"ftShape"},hiddenOnMobile:!0,layout:"vertical",controlChangeTrigger:{settings:[{condition:"ftShape.shape === 'original'",source:["ftShape"],action:{controlId:"ftLayout",newValue:"contain",groupType:"style",controlType:"style"}}],options:{noRecordHistory:!0}}},{conditionDisplay:"ftShape.shape !== 'original'",label:"Image scale",setting:{id:"ftLayout"}},{...e.FeatureDots,hiddenOnMobile:!0,conditionDisplay:`${n} && position === "only-feature"`},{...o.FeatureNavigation,hiddenOnMobile:!0,conditionDisplay:`${n}`}],moreSettings:{type:"collapse",controls:[{label:"Corner",setting:{id:"ftCorner"},hiddenOnMobile:!0},{type:"combo",label:"Hover action",conditionDisplay:n,iconName:"gp-trigger-action-hover",getValueFromSettingID:"hoverEffect",isShowSettingTitle:!0,defaultValueWhenClear:"none",compoDefaultValue:"zoom",hiddenOnMobile:!0,controls:[{label:"When hover",setting:{id:"hoverEffect"}},{label:"Zoom type",conditionDisplay:'hoverEffect == "zoom"',setting:{id:"zoomType"}},{label:"Zoom value",conditionDisplay:'hoverEffect == "zoom"',setting:{id:"zoom"}},{label:"Other image",conditionDisplay:'hoverEffect == "other"',setting:{id:"otherImage"}}]},{type:"combo",label:"Click action",hiddenOnMobile:!0,iconName:"gp-trigger-action-click",conditionDisplay:n,getValueFromSettingID:"ftClickOpenLightBox",isShowSettingTitle:!0,defaultValueWhenClear:"none",compoDefaultValue:"popup",controls:[{label:"After click",setting:{id:"ftClickOpenLightBox"}},{label:"Open new tab",setting:{id:"ftClickOpenNewTab"},conditionDisplay:'ftClickOpenLightBox === "product-link"'}]},{type:"control",label:"Slide speed",setting:{id:"ftAnimationSpeed"}},{type:"control",label:"Animation",setting:{id:"ftAnimationMode"}},{label:"Drag / swipe",setting:{id:"ftDragToScroll"}},{label:"Infinity loop",setting:{id:"ftLoop"}}]}},{label:"Image list",conditionDisplay:'(position !== "only-feature")',controls:[{label:"Display",hiddenOnMobile:!0,conditionDisplay:'position === "bottom-center" || position === "bottom-left" || position === "inside-bottom"',setting:{id:"type"}},{setting:{id:"shape"},hiddenOnMobile:!0,layout:"vertical",conditionDisplay:'["left", "right"].includes(position)'},{setting:{id:"shapeForBottom"},hiddenOnMobile:!0,layout:"vertical",conditionDisplay:'["bottom-left", "bottom-center"].includes(position)'},{setting:{id:"shapeForInsideBottom"},hiddenOnMobile:!0,layout:"vertical",conditionDisplay:'["inside-bottom"].includes(position)'},{setting:{id:"shapeForInside"},hiddenOnMobile:!0,layout:"vertical",conditionDisplay:'["inside-left", "inside-right"].includes(position)'},{setting:{id:"shapeForFtOnly"},hiddenOnMobile:!0,layout:"vertical",conditionDisplay:'position == "only-feature"'},{setting:{id:"shapeFor2Col"},hiddenOnMobile:!0,layout:"vertical",conditionDisplay:'position == "two-col"'},{setting:{id:"shapeFor1Col"},hiddenOnMobile:!0,layout:"vertical",conditionDisplay:'position == "one-col"'},{label:"Image gap",setting:{id:"itemSpacing"}},{conditionDisplay:"(position == 'one-col' && shapeFor1Col.shape !== 'original') || (position == 'two-col' && shapeFor2Col.shape !== 'original') || (position == 'only-feature' && shapeForFtOnly.shape !== 'original') || ([\"inside-left\", \"inside-right\"].includes(position) && shapeForInside.shape !== 'original') || ([\"inside-bottom\"].includes(position) && shapeForInsideBottom.shape !== 'original') || ([\"bottom-left\", \"bottom-center\"].includes(position) && shapeForBottom.shape !== 'original') || ([\"left\", \"right\"].includes(position) && shape.shape !== 'original')",label:"Image scale",setting:{id:"layout"}},{...i.ImageListNavigation,hiddenOnMobile:!0,conditionDisplay:t}],moreSettings:{type:"collapse",controls:[{label:"Corner",hiddenOnMobile:!0,setting:{id:"corner"}},{label:"Active border",hiddenOnMobile:!0,conditionDisplay:'!["one-col", "two-col"].includes(position)',setting:{id:"borderActive"}},{type:"combo",label:"Hover action",conditionDisplay:'(position == "one-col" || position == "two-col")',iconName:"gp-trigger-action-hover",getValueFromSettingID:"galleryHoverEffect",defaultValueWhenClear:"none",hiddenOnMobile:!0,compoDefaultValue:"zoom",controls:[{label:"When hover",setting:{id:"galleryHoverEffect"},conditionDisplay:'galleryHoverEffect == "none"'},{label:"Zoom type",conditionDisplay:'galleryHoverEffect == "zoom"',setting:{id:"galleryZoomType"}},{label:"Zoom value",conditionDisplay:'galleryHoverEffect == "zoom"',setting:{id:"galleryZoom"}},{label:"Other image",conditionDisplay:'galleryHoverEffect == "other"',setting:{id:"otherImage"}}]},{label:"Click action",setting:{id:"clickOpenLightBox"}},{conditionDisplay:t,label:"Drag / swipe",setting:{id:"dragToScroll"}},{conditionDisplay:t,label:"Infinity loop",setting:{id:"loop"}}]}},{label:"Item spacing",hiddenOnMobile:!0,conditionDisplay:'["bottom-center", "left", "right", "inside-bottom", "inside-left", "inside-right"].includes(position)',controls:[{label:"Gap",setting:{id:"spacing"}}]},{label:"Display condition",controls:[{conditionDisplay:'["bottom-center", "left", "right", "only-feature", "inside-bottom", "inside-left", "inside-right"].includes(position)',label:"Default item",setting:{id:"preDisplay"}},{label:"Image list",setting:{id:"filterByVariant"}}],messageConfig:{type:"info",message:'Image list can display based on the selected variants. <a class="text-white" target="_blank" href="https://gempages.co/display-selected-variant">How to setup</a>'}},{label:"Optimize LCP",conditionDisplay:'pageType !== "STATIC"',controls:[{label:"Preload",conditionDisplay:'["bottom-center", "left", "right", "only-feature", "inside-bottom", "inside-left", "inside-right"].includes(position)',setting:{id:"preload"}},{label:"Quality",setting:{id:"qualityType"},conditionDisplay:"preload === false"},{layout:"horizontal",label:"Quality",conditionDisplay:'qualityType == "custom" && preload === false',setting:{id:"qualityPercent"}}]},{hiddenOnMobile:!0,controls:[{label:"Align",setting:{id:"align"},options:{labelVariant:"primary"}}]}];exports.SettingUIV2=l;
1
+ "use strict";var i=require("./ui/ImageListNavigation.js"),e=require("./ui/FeatureNavigation.js"),o=require("./ui/FeatureDots.js");const t='((type == "slider" || position == "left" || position == "right") && position !== "one-col" && position != "two-col")',n='(["bottom-center", "left", "right", "only-feature", "inside-bottom", "inside-left", "inside-right"].includes(position))',l=[{label:"Layout",controls:[{layout:"vertical",setting:{id:"position"},options:{isComboLayout:!0},controls:[{label:"Ratio",type:"control",setting:{id:"ratioLayout"},layout:"vertical",conditionDisplay:'position == "left"'},{label:"Ratio",type:"control",setting:{id:"ratioLayoutRight"},layout:"vertical",conditionDisplay:'position == "right"'}]}]},{label:"Featured image",conditionDisplay:n,controls:[{setting:{id:"ftShape"},hiddenOnMobile:!0,layout:"vertical",controlChangeTrigger:{settings:[{condition:"ftShape.shape === 'original'",source:["ftShape"],action:{controlId:"ftLayout",newValue:"contain",groupType:"style",controlType:"style"}}],options:{noRecordHistory:!0}}},{conditionDisplay:"ftShape.shape !== 'original'",label:"Image scale",setting:{id:"ftLayout"}},{...o.FeatureDots,hiddenOnMobile:!0,conditionDisplay:`${n} && position === "only-feature"`},{...e.FeatureNavigation,hiddenOnMobile:!0,conditionDisplay:`${n}`}],moreSettings:{type:"collapse",controls:[{label:"Corner",setting:{id:"ftCorner"},hiddenOnMobile:!0},{type:"combo",label:"Hover action",conditionDisplay:n,iconName:"gp-trigger-action-hover",getValueFromSettingID:"hoverEffect",isShowSettingTitle:!0,defaultValueWhenClear:"none",compoDefaultValue:"zoom",hiddenOnMobile:!0,controls:[{label:"When hover",setting:{id:"hoverEffect"}},{label:"Zoom type",conditionDisplay:'hoverEffect == "zoom"',setting:{id:"zoomType"}},{label:"Zoom value",conditionDisplay:'hoverEffect == "zoom"',setting:{id:"zoom"}},{label:"Other image",conditionDisplay:'hoverEffect == "other"',setting:{id:"otherImage"}}]},{type:"combo",label:"Click action",hiddenOnMobile:!0,iconName:"gp-trigger-action-click",conditionDisplay:n,getValueFromSettingID:"ftClickOpenLightBox",isShowSettingTitle:!0,defaultValueWhenClear:"none",compoDefaultValue:"popup",controls:[{label:"After click",setting:{id:"ftClickOpenLightBox"}},{label:"Open new tab",setting:{id:"ftClickOpenNewTab"},conditionDisplay:'ftClickOpenLightBox === "product-link"'}]},{type:"control",label:"Slide speed",setting:{id:"ftAnimationSpeed"}},{type:"control",label:"Animation",setting:{id:"ftAnimationMode"}},{label:"Drag / swipe",setting:{id:"ftDragToScroll"}},{label:"Infinity loop",setting:{id:"ftLoop"}}]}},{label:"Image list",conditionDisplay:'(position !== "only-feature")',controls:[{label:"Display",hiddenOnMobile:!0,conditionDisplay:'position === "bottom-center" || position === "bottom-left" || position === "inside-bottom"',setting:{id:"type"}},{setting:{id:"shape"},hiddenOnMobile:!0,layout:"vertical",conditionDisplay:'["left", "right"].includes(position)'},{setting:{id:"shapeForBottom"},hiddenOnMobile:!0,layout:"vertical",conditionDisplay:'["bottom-left", "bottom-center"].includes(position)'},{setting:{id:"shapeForInsideBottom"},hiddenOnMobile:!0,layout:"vertical",conditionDisplay:'["inside-bottom"].includes(position)'},{setting:{id:"shapeForInside"},hiddenOnMobile:!0,layout:"vertical",conditionDisplay:'["inside-left", "inside-right"].includes(position)'},{setting:{id:"shapeForFtOnly"},hiddenOnMobile:!0,layout:"vertical",conditionDisplay:'position == "only-feature"'},{setting:{id:"shapeFor2Col"},hiddenOnMobile:!0,layout:"vertical",conditionDisplay:'position == "two-col"'},{setting:{id:"shapeFor1Col"},hiddenOnMobile:!0,layout:"vertical",conditionDisplay:'position == "one-col"'},{label:"Image gap",setting:{id:"itemSpacing"}},{conditionDisplay:"(position == 'one-col' && shapeFor1Col.shape !== 'original') || (position == 'two-col' && shapeFor2Col.shape !== 'original') || (position == 'only-feature' && shapeForFtOnly.shape !== 'original') || ([\"inside-left\", \"inside-right\"].includes(position) && shapeForInside.shape !== 'original') || ([\"inside-bottom\"].includes(position) && shapeForInsideBottom.shape !== 'original') || ([\"bottom-left\", \"bottom-center\"].includes(position) && shapeForBottom.shape !== 'original') || ([\"left\", \"right\"].includes(position) && shape.shape !== 'original')",label:"Image scale",setting:{id:"layout"}},{...i.ImageListNavigation,hiddenOnMobile:!0,conditionDisplay:t}],moreSettings:{type:"collapse",controls:[{label:"Corner",hiddenOnMobile:!0,setting:{id:"corner"}},{label:"Active border",hiddenOnMobile:!0,conditionDisplay:'!["one-col", "two-col"].includes(position)',setting:{id:"borderActive"}},{type:"combo",label:"Hover action",conditionDisplay:'(position == "one-col" || position == "two-col")',iconName:"gp-trigger-action-hover",getValueFromSettingID:"galleryHoverEffect",defaultValueWhenClear:"none",hiddenOnMobile:!0,compoDefaultValue:"zoom",controls:[{label:"When hover",setting:{id:"galleryHoverEffect"},conditionDisplay:'galleryHoverEffect == "none"'},{label:"Zoom type",conditionDisplay:'galleryHoverEffect == "zoom"',setting:{id:"galleryZoomType"}},{label:"Zoom value",conditionDisplay:'galleryHoverEffect == "zoom"',setting:{id:"galleryZoom"}},{label:"Other image",conditionDisplay:'galleryHoverEffect == "other"',setting:{id:"otherImage"}}]},{label:"Click action",setting:{id:"clickOpenLightBox"}},{conditionDisplay:t,label:"Drag / swipe",setting:{id:"dragToScroll"}},{conditionDisplay:t,label:"Infinity loop",setting:{id:"loop"}}]}},{label:"Item spacing",hiddenOnMobile:!0,conditionDisplay:'["bottom-center", "left", "right", "inside-bottom", "inside-left", "inside-right"].includes(position)',controls:[{label:"Gap",setting:{id:"spacing"}}]},{label:"Display condition",controls:[{conditionDisplay:'["bottom-center", "left", "right", "only-feature", "inside-bottom", "inside-left", "inside-right"].includes(position)',label:"Default item",setting:{id:"preDisplay"}},{label:"Image list",setting:{id:"filterByVariant"}}],messageConfig:{type:"info",message:'Image list can display based on the selected variants. <a class="text-white" target="_blank" href="https://gempages.co/display-selected-variant">How to setup</a>'}},{label:"Optimize LCP",conditionDisplay:'pageType !== "STATIC"',controls:[{label:"Preload",conditionDisplay:'["bottom-center", "left", "right", "only-feature", "inside-bottom", "inside-left", "inside-right"].includes(position)',setting:{id:"preload"}},{label:"Quality",setting:{id:"qualityType"},conditionDisplay:"preload === false"},{layout:"horizontal",label:"Quality",conditionDisplay:'qualityType == "custom" && preload === false',setting:{id:"qualityPercent"}}]},{hiddenOnMobile:!0,controls:[{label:"Align",conditionEnable:'!(parseInt(ftShape.width) >= 100 && ftShape.width?.includes("%"))',setting:{id:"align"},options:{labelVariant:"primary",disableMessage:"Horizontal alignment is disabled when the width is set to 100% or greater"}}]}];exports.SettingUIV2=l;
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as e,Fragment as o}from"react/jsx-runtime";import{cls as t,getGlobalColorResponsiveStyle as r,makeStyleResponsive as s}from"@gem-sdk/core";import{getData as m}from"./common/helpers.js";import{getDotClass as l}from"./common/classes.js";import{getDotStyle as i}from"./common/styles.js";import{useDotsSetting as a}from"../../hooks/useDotsSetting.js";import{If as c}from"@gem-sdk/system";let p=p=>{let{onHandleClick:d,dotSize:n,dotActiveColor:g,dotColor:f}=p,{isLoop:u,checkIsActive:h}=a(p),{checkHidden:j,getDotItems:b}=m(p),k=b(u),{dotClass:y}=l(p),{dotStyle:v}=i(p,"react");return e(o,{children:c(!j(k),e("div",{className:y,style:v,children:e(o,{children:k?.map(o=>{let m=h(o);return e("button",{"aria-label":"Dot",onClick:()=>{d&&d(o,u)},style:{...s("w",n,"px"),...m?r("bg",g):r("bg",f)},className:t("gp-aspect-square gp-w-3 gp-rounded-full gp-shadow-md",{"gem-slider-dot-active":m,"gem-slider-dot-inactive":!m})},o)})})}))})};export{p as default};
2
+ import{jsx as e,Fragment as o}from"react/jsx-runtime";import{cls as t,getGlobalColorResponsiveStyle as r,makeStyleResponsiveByScreen as s}from"@gem-sdk/core";import{getData as m}from"./common/helpers.js";import{getDotClass as l}from"./common/classes.js";import{getDotStyle as i}from"./common/styles.js";import{useDotsSetting as a}from"../../hooks/useDotsSetting.js";import{If as c}from"@gem-sdk/system";let p=p=>{let{onHandleClick:d,dotSize:n,dotActiveColor:g,dotColor:f}=p,{isLoop:u,checkIsActive:h}=a(p),{checkHidden:j,getDotItems:b}=m(p),k=b(u),{dotClass:y}=l(p),{dotStyle:v}=i(p,"react");return e(o,{children:c(!j(k),e("div",{className:y,style:v,children:e(o,{children:k?.map(o=>{let m=h(o);return e("button",{"aria-label":"Dot",onClick:()=>{d&&d(o,u)},style:{...s("w",n,"px"),...m?r("bg",g):r("bg",f)},className:t("gp-aspect-square gp-w-3 gp-rounded-full gp-shadow-md",{"gem-slider-dot-active":m,"gem-slider-dot-inactive":!m})},o)})})}))})};export{p as default};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{jsx as e,Fragment as o}from"react/jsx-runtime";import{cls as t,getGlobalColorResponsiveStyle as r,makeStyleResponsive as s}from"@gem-sdk/core";import{getData as m}from"./common/helpers.js";import{getDotClass as l}from"./common/classes.js";import{getDotStyle as i}from"./common/styles.js";import{useDotsSetting as a}from"../../hooks/useDotsSetting.js";import{If as c}from"@gem-sdk/system";let p=p=>{let{onHandleClick:d,dotSize:n,dotActiveColor:g,dotColor:f}=p,{isLoop:u,checkIsActive:h}=a(p),{checkHidden:j,getDotItems:b}=m(p),k=b(u),{dotClass:y}=l(p),{dotStyle:v}=i(p,"react");return e(o,{children:c(!j(k),e("div",{className:y,style:v,children:e(o,{children:k?.map(o=>{let m=h(o);return e("button",{"aria-label":"Dot",onClick:()=>{d&&d(o,u)},style:{...s("w",n,"px"),...m?r("bg",g):r("bg",f)},className:t("gp-aspect-square gp-w-3 gp-rounded-full gp-shadow-md",{"gem-slider-dot-active":m,"gem-slider-dot-inactive":!m})},o)})})}))})};export{p as default};
2
+ import{jsx as e,Fragment as o}from"react/jsx-runtime";import{cls as t,getGlobalColorResponsiveStyle as r,makeStyleResponsiveByScreen as s}from"@gem-sdk/core";import{getData as m}from"./common/helpers.js";import{getDotClass as l}from"./common/classes.js";import{getDotStyle as i}from"./common/styles.js";import{useDotsSetting as a}from"../../hooks/useDotsSetting.js";import{If as c}from"@gem-sdk/system";let p=p=>{let{onHandleClick:d,dotSize:n,dotActiveColor:g,dotColor:f}=p,{isLoop:u,checkIsActive:h}=a(p),{checkHidden:j,getDotItems:b}=m(p),k=b(u),{dotClass:y}=l(p),{dotStyle:v}=i(p,"react");return e(o,{children:c(!j(k),e("div",{className:y,style:v,children:e(o,{children:k?.map(o=>{let m=h(o);return e("button",{"aria-label":"Dot",onClick:()=>{d&&d(o,u)},style:{...s("w",n,"px"),...m?r("bg",g):r("bg",f)},className:t("gp-aspect-square gp-w-3 gp-rounded-full gp-shadow-md",{"gem-slider-dot-active":m,"gem-slider-dot-inactive":!m})},o)})})}))})};export{p as default};
@@ -1 +1 @@
1
- import{DEVICES as e,getResponsiveValueByScreen as t}from"@gem-sdk/core";let r=e=>{let{hiddenWhenOnlyOne:t,slideDuplicated:r}=e;return{checkHidden:e=>t&&e?.length<2,getDotItems:t=>{let{enabledSneakPeak:l,totalSlideItem:o=0,numberOfFullWidthShow:n=0,slideItemsPerPage:a=0}=e;return Array.from({length:t?r?o/2:o:l?o-n+1:Math.ceil(o/a)},(e,t)=>t)}}},l=(r,l)=>{let o={};return e.forEach(e=>{let n=t(r,e),a=t(l,e);o={...o,[e]:n?a:"none"}}),o};export{r as getData,l as getUpdatedDotStyle};
1
+ import{DEVICES as e,getResponsiveValueByScreen as t}from"@gem-sdk/core";let r=e=>{let{hiddenWhenOnlyOne:t,slideDuplicated:r}=e;return{checkHidden:e=>t&&e?.length<2,getDotItems:t=>{let{enabledSneakPeak:l,totalSlideItem:n=0,numberOfFullWidthShow:o=0,slideItemsPerPage:a=0}=e;return Array.from({length:t?r?n/2:n:l?Math.min(n-o+1,n):Math.ceil(n/a)},(e,t)=>t)}}},l=(r,l)=>{let n={};return e.forEach(e=>{let o=t(r,e),a=t(l,e);n={...n,[e]:o?a:"none"}}),n};export{r as getData,l as getUpdatedDotStyle};
@@ -1 +1 @@
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:P,styles:g,setting:y,isHiddenArrowWhenDisabled:T=!0,elmRef:v,isEnableCheckHasScrollableContent:w,isDisableResetSlide:N,onClickArrow:x,onHandleChangeSlideByInteraction:S,onChangeActive:E}=p,[C,O]=e(!0),[L,M]=e(!0),[I,B]=e(!1),[z,V]=e(!0),[A,j]=e(!1),{loop:D,navigationEnable:F={desktop:!0},navigationStyle:H}=y??{},[R,$]=e(k),[q,U]=e(y?.defaultCurrentSlider??0),{isFirstPreviewClicked:W}=m(y?.runPreview),G=t(),J=t(P??0),K=l(),Q=s(),{onListener:X,saveToElementInteractionData:Y,getInteractionPreviousData:Z,trigger:_}=o(),ee=r(()=>u(D,K,!1),[D,K]),et=n(()=>{if(!y?.slidesToShow)return null;let e={};return d.forEach(t=>{let r=u(y?.slidesToShow,t);e[t]=r?"auto"===r?4:Math.floor(r):0}),e},[y?.slidesToShow]),er=n(()=>{if(!y?.slidesToShow)return null;let e={};return d.forEach(t=>{let r=u(y?.slidesToShow,t);e[t]=r?"auto"===r?4:r:0}),e},[y?.slidesToShow]),en=r(()=>{let e=er();if(e)return e;let t={};return d.forEach(e=>{let r=u(y?.sneakPeak,e),n=r?"center"===u(y?.sneakPeakType,e)?u(y?.sneakPeakOffsetCenter,e)??0:u(y?.sneakPeakOffsetForward,e)??0:0,i="center"===u(y?.sneakPeakType,e)?-2:-1,a=u(y?.itemNumber,e);t[e]="number"==typeof a?a+n/100*i:"auto"}),t},[er,y?.itemNumber,y?.sneakPeak,y?.sneakPeakOffsetCenter,y?.sneakPeakOffsetForward,y?.sneakPeakType]),ei=r(()=>{let e=u(en,K),t=u(D,K,!1);return t&&Number(e??0)>k||!t&&Number(e??0)>=k},[en,K,D,k]),ea=r(()=>{let e=u(F,K),t=u(H,K);return c&&e&&"none"!==t&&C&&!ei},[F,K,H,c,C,ei]),el=r(()=>{let e=et();return e||y?.itemNumber},[et,y?.itemNumber]),es=n(e=>{let t="center"===u(y?.sneakPeakType,e)?2:1;return"number"==typeof u(el,e,4)?u(el,e,4)-t:void 0},[y?.sneakPeakType,el]),eo=()=>{let e="auto"===u(en,K,1)?1:u(en,K,1);return e??1},eu=n(()=>{let e=u(en,K,1),t=es(K)??1,r=u(y?.sneakPeak,K,!1);return Array.from({length:Math.max(ee?k:r?k-t+1:"auto"===e?0:Math.ceil(k/Number(e)),0)},(e,t)=>t)},[k,en,K,es,y?.sneakPeak,ee]),ed=e=>{let t=e*eo();return t>=R-eo()&&(t=R-eo()),t},em=e=>{let t="edit"===Q?{[e]:!1}:y?.enableDrag;return u(t,e)};i(f,()=>({nextSlideInteraction:ec,previousSlideInteraction:ek,moveToSlideInteraction:eh,getSwiper:()=>c}));let ep=e=>{c?.slideTo(e),S&&S(e)},ef=(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}=Z(a,r);ep(Number(e))}else ep("next"===t?l-1:l+1);return}let s="specific"===t?Math.max(J.current,0):l;Y(a,r,s.toString());let o="specific"===t?Number(n):"next"===t?l+1:l-1;ep(o)},ec=e=>{ef(e,"next")},ek=e=>{ef(e,"previous")},eh=e=>{ef(e,"specific")},eb=eo(),eP=r(()=>!!R&&c&&u(y?.dot,K)&&!ei&&k>1,[R,c,y?.dot,K,ei,k]),eg=u(y?.vertical,K,!1)?"vertical":"horizontal",ey=r(()=>"center"===u(y?.sneakPeakType,K)&&"number"==typeof u(y?.itemNumber,K)&&Number(u(y?.itemNumber,K))>1,[y?.sneakPeakType,y?.itemNumber,K]),eT=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)},ev=r(()=>{let e=u(D,K,!1),t=c?.width??0,r={0:"mobile",768:"tablet",1025:"desktop"},n=Number(Object.entries(r).find(([,e])=>e===K)?.[0]??1025),i=Object.entries(r).reduce((e,[r,n])=>{if(!e)return;let i=Number(r),a=u(y?.sneakPeak,n,!1),l=a&&"center"===u(y?.sneakPeakType,n),s=u(y?.itemNumber,n),o=em(n),d=eT({swiperWidth:t,slidesPerView:eb,itemNumberByDevice:s,centeredSlides:l}),m=y?.initialSlide||P||0;return e[i]={allowTouchMove:o,slidesOffsetBefore:d,slidesOffsetAfter:d,initialSlide:m,centeredSlides:l},e},{}),a="center"===u(y?.sneakPeakType,K)&&"number"==typeof u(y?.itemNumber,K)&&Number(u(y?.itemNumber,K))>1;return{speed:g?.playSpeed??500,dir:y?.rtl?"rtl":"ltr",spaceBetween:u(g?.spacing,K)||0,loop:e,slidesPerView:"auto"===u(en,K,1)?"auto":eb,direction:eg,breakpoints:i,isSneakPeekCenter:a,slidesOffsetBefore:i?.[n]?.slidesOffsetBefore,thumbs:{slideThumbActiveClass:"gem-slider-item-active"},loopPreventsSliding:!1,autoplay:{delay:(y?.autoplayTimeout??1)*1e3,pauseOnMouseEnter:y?.pauseOnHover,stopOnLastSlide:!e}}},[g?.playSpeed,y?.rtl,g?.spacing,K,D,eb,y?.sneakPeakType,y?.pauseOnHover,y?.autoplayTimeout,c?.width,R]),ew=u(y?.sneakPeak,K),eN=n(e=>{let t=c&&c.params?.slidesPerView,r=t?c?.slidesPerViewDynamic():1;if(e<=1)return!1;let n="auto"===ev.slidesPerView?r:ev.slidesPerView;if(!ee||e<Number(n)||!C)return!1;let i=u(y?.sneakPeak,K,!1),a=i&&"center"===u(y?.sneakPeakType,K),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,ev.slidesPerView,ee,C,y?.sneakPeak,y?.sneakPeakType,K]);a(()=>{let e=`[data-id="${b?.uid}"]`;X({event:"gp:change-next-slide",selector:e,elementRef:G},e=>{let{data:t,isRollback:r,uniqueStorageKey:n}=e||{};ec({element:G.current,data:t,isRollback:r,key:n})}),X({event:"gp:change-previous-slide",selector:e,elementRef:G},e=>{let{data:t,isRollback:r,uniqueStorageKey:n}=e||{};ek({element:G.current,data:t,isRollback:r,key:n})}),X({event:"gp:change-image-step",selector:e,elementRef:G},e=>{let{data:t,isRollback:r,uniqueStorageKey:n}=e||{};eh({element:G.current,data:t,isRollback:r,key:n})}),X({event:"gp:change-index-slide",selector:e},t=>{let r=document.querySelector(e),{data:n,isRollback:i,uniqueStorageKey:a}=t||{};eh({element:r,data:n,isRollback:i,key:a})})},[]),a(()=>{$(k)},[k]);let ex=n(()=>{N||(U(0),M(!0),B(!1),V(!0),j(!1))},[N]);a(()=>{if("number"==typeof P){if(J.current=P,c?.params?.loop){c?.slideToLoop(P);return}c?.slideTo(P)}},[c,P,T]);let eS=()=>{let e=u(y?.loop,K,!1);if(!c||!ey||e)return;let t=eu().length;if(!t)return;let r=c.snapIndex>=t-1;c.isEnd=r,c.allowSlideNext=!r};return a(()=>{if(!c)return;let e=()=>{$(c.slides.length),eS(),V(c.isBeginning),j(c.isEnd)},t=()=>{E&&E(c.realIndex)},r=()=>{U(c.realIndex),M(c?.translate===0),B(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)}},[ev.loop,c]),a(()=>{c&&(eS(),V(c.isBeginning),j(c.isEnd))},[ei,c,en]),a(()=>{c?.wrapperEl&&(c.wrapperEl.style.transitionTimingFunction=y?.animationMode??"ease")},[c,y?.animationMode]),a(()=>{if(c&&c.autoplay){let e="edit"===Q?!!W&&y?.runPreview&&y?.autoplay:y?.autoplay;e?c.autoplay.start():c.autoplay.stop()}},[c,y?.autoplay,Q,W,y?.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(y?.vertical,K)?"swiper-vertical":"swiper-horizontal";e?.classList?.add(t),c?.slides?.forEach(e=>{e.style.width="",e.style.height=""}),c?.update()},[K,y?.vertical,c,c?.params]),a(()=>{if(!c||!w)return;let e=()=>{let e=c?.slides?.slice(0,k)||[],t=Number(ev?.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);O(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:ee,sliderSettings:ev,totalSlideItem:R,currentSlide:q,localRef:G,isRenderDots:eP,showNavigation:ea,isScrollToStart:L,isScrollToEnd:I,handleDotClick:(e,t)=>{let r=y?.sneakPeak?.[K]?e:t?e:ed(e);if(t){if(k<eb){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(y?.sneakPeakType,K)&&"number"==typeof u(y?.itemNumber,K)&&Number(u(y?.itemNumber,K))%2==0;e?c?.slideToLoopCenterSneakPeek(r):c?.slideToLoop(r)}else c?.slideTo(r);J.current=r},getItemsPerPage:eo,handleNextAndPrevSlide:e=>{"next"===e?c?.slideNext():c?.slidePrev(),x&&(h&&clearTimeout(h),h=setTimeout(()=>x&&x(),500))},dispatchEventSelectSlide:e=>{_({event:"gp:rollback:select-slide",selector:`[data-id="${b?.uid}"]`,element:v?.current}),_({event:"gp:select-slide",selector:`[data-id="${b?.uid}"]`,data:e,element:v?.current})},getNumberOfFullWidthShow:es,shouldDuplicateSlides:eN,isHideNavigation:ei,sneakPeak:ew,swiperIsBeginning:z,swiperIsEnd:A,handleSwiperReset:ex}};export{p 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:g,styles:P,setting:y,isHiddenArrowWhenDisabled:T=!0,elmRef:v,isEnableCheckHasScrollableContent:w,isDisableResetSlide:N,onClickArrow:x,onHandleChangeSlideByInteraction:S,onChangeActive:E}=p,[C,O]=e(!0),[M,L]=e(!0),[I,B]=e(!1),[z,V]=e(!0),[A,j]=e(!1),{loop:D,navigationEnable:F={desktop:!0},navigationStyle:H}=y??{},[R,$]=e(k),[q,U]=e(y?.defaultCurrentSlider??0),{isFirstPreviewClicked:W}=m(y?.runPreview),G=t(),J=t(g??0),K=l(),Q=s(),{onListener:X,saveToElementInteractionData:Y,getInteractionPreviousData:Z,trigger:_}=o(),ee=r(()=>u(D,K,!1),[D,K]),et=n(()=>{if(!y?.slidesToShow)return null;let e={};return d.forEach(t=>{let r=u(y?.slidesToShow,t);e[t]=r?"auto"===r?4:Math.floor(r):0}),e},[y?.slidesToShow]),er=n(()=>{if(!y?.slidesToShow)return null;let e={};return d.forEach(t=>{let r=u(y?.slidesToShow,t);e[t]=r?"auto"===r?4:r:0}),e},[y?.slidesToShow]),en=r(()=>{let e=er();if(e)return e;let t={};return d.forEach(e=>{let r=u(y?.sneakPeak,e),n=r?"center"===u(y?.sneakPeakType,e)?u(y?.sneakPeakOffsetCenter,e)??0:u(y?.sneakPeakOffsetForward,e)??0:0,i="center"===u(y?.sneakPeakType,e)?-2:-1,a=u(y?.itemNumber,e);t[e]="number"==typeof a?a+n/100*i:"auto"}),t},[er,y?.itemNumber,y?.sneakPeak,y?.sneakPeakOffsetCenter,y?.sneakPeakOffsetForward,y?.sneakPeakType]),ei=r(()=>{let e=u(en,K),t=u(D,K,!1);return t&&Number(e??0)>k||!t&&Number(e??0)>=k},[en,K,D,k]),ea=r(()=>{let e=u(F,K),t=u(H,K);return c&&e&&"none"!==t&&C&&!ei},[F,K,H,c,C,ei]),el=r(()=>{let e=et();return e||y?.itemNumber},[et,y?.itemNumber]),es=n(e=>{let t="center"===u(y?.sneakPeakType,e)?2:1;return"number"==typeof u(el,e,4)?u(el,e,4)-t:void 0},[y?.sneakPeakType,el]),eo=()=>{let e="auto"===u(en,K,1)?1:u(en,K,1);return e??1},eu=n(()=>{let e=u(en,K,1),t=es(K)??1,r=u(y?.sneakPeak,K,!1);return Array.from({length:Math.max(ee?k:r?Math.min(k-t+1,k):"auto"===e?0:Math.ceil(k/Number(e)),0)},(e,t)=>t)},[k,en,K,es,y?.sneakPeak,ee]),ed=e=>{let t=e*eo();return t>=R-eo()&&(t=R-eo()),t},em=e=>{let t="edit"===Q?{[e]:!1}:y?.enableDrag;return u(t,e)};i(f,()=>({nextSlideInteraction:ec,previousSlideInteraction:ek,moveToSlideInteraction:eh,getSwiper:()=>c}));let ep=e=>{c?.slideTo(e),S&&S(e)},ef=(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}=Z(a,r);ep(Number(e))}else ep("next"===t?l-1:l+1);return}let s="specific"===t?Math.max(J.current,0):l;Y(a,r,s.toString());let o="specific"===t?Number(n):"next"===t?l+1:l-1;ep(o)},ec=e=>{ef(e,"next")},ek=e=>{ef(e,"previous")},eh=e=>{ef(e,"specific")},eb=eo(),eg=r(()=>!!R&&c&&u(y?.dot,K)&&!ei&&k>1,[R,c,y?.dot,K,ei,k]),eP=u(y?.vertical,K,!1)?"vertical":"horizontal",ey=r(()=>"center"===u(y?.sneakPeakType,K)&&"number"==typeof u(y?.itemNumber,K)&&Number(u(y?.itemNumber,K))>1,[y?.sneakPeakType,y?.itemNumber,K]),eT=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)},ev=r(()=>{let e=u(D,K,!1),t=c?.width??0,r={0:"mobile",768:"tablet",1025:"desktop"},n=Number(Object.entries(r).find(([,e])=>e===K)?.[0]??1025),i=Object.entries(r).reduce((e,[r,n])=>{if(!e)return;let i=Number(r),a=u(y?.sneakPeak,n,!1),l=a&&"center"===u(y?.sneakPeakType,n),s=u(y?.itemNumber,n),o=em(n),d=eT({swiperWidth:t,slidesPerView:eb,itemNumberByDevice:s,centeredSlides:l}),m=y?.initialSlide||g||0;return e[i]={allowTouchMove:o,slidesOffsetBefore:d,slidesOffsetAfter:d,initialSlide:m,centeredSlides:l},e},{}),a="center"===u(y?.sneakPeakType,K)&&"number"==typeof u(y?.itemNumber,K)&&Number(u(y?.itemNumber,K))>1;return{speed:P?.playSpeed??500,dir:y?.rtl?"rtl":"ltr",spaceBetween:u(P?.spacing,K)||0,loop:e,slidesPerView:"auto"===u(en,K,1)?"auto":eb,direction:eP,breakpoints:i,isSneakPeekCenter:a,slidesOffsetBefore:i?.[n]?.slidesOffsetBefore,thumbs:{slideThumbActiveClass:"gem-slider-item-active"},loopPreventsSliding:!1,autoplay:{delay:(y?.autoplayTimeout??1)*1e3,pauseOnMouseEnter:y?.pauseOnHover,stopOnLastSlide:!e}}},[P?.playSpeed,y?.rtl,P?.spacing,K,D,eb,y?.sneakPeakType,y?.pauseOnHover,y?.autoplayTimeout,c?.width,R]),ew=u(y?.sneakPeak,K),eN=n(e=>{let t=c&&c.params?.slidesPerView,r=t?c?.slidesPerViewDynamic():1;if(e<=1)return!1;let n="auto"===ev.slidesPerView?r:ev.slidesPerView;if(!ee||e<Number(n)||!C)return!1;let i=u(y?.sneakPeak,K,!1),a=i&&"center"===u(y?.sneakPeakType,K),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,ev.slidesPerView,ee,C,y?.sneakPeak,y?.sneakPeakType,K]);a(()=>{let e=`[data-id="${b?.uid}"]`;X({event:"gp:change-next-slide",selector:e,elementRef:G},e=>{let{data:t,isRollback:r,uniqueStorageKey:n}=e||{};ec({element:G.current,data:t,isRollback:r,key:n})}),X({event:"gp:change-previous-slide",selector:e,elementRef:G},e=>{let{data:t,isRollback:r,uniqueStorageKey:n}=e||{};ek({element:G.current,data:t,isRollback:r,key:n})}),X({event:"gp:change-image-step",selector:e,elementRef:G},e=>{let{data:t,isRollback:r,uniqueStorageKey:n}=e||{};eh({element:G.current,data:t,isRollback:r,key:n})}),X({event:"gp:change-index-slide",selector:e},t=>{let r=document.querySelector(e),{data:n,isRollback:i,uniqueStorageKey:a}=t||{};eh({element:r,data:n,isRollback:i,key:a})})},[]),a(()=>{$(k)},[k]);let ex=n(()=>{N||(U(0),L(!0),B(!1),V(!0),j(!1))},[N]);a(()=>{if("number"==typeof g){if(J.current=g,c?.params?.loop){c?.slideToLoop(g);return}c?.slideTo(g)}},[c,g,T]);let eS=n(()=>{let e=u(y?.loop,K,!1);if(!c||!ey||e)return;let t=eu().length;if(!t)return;let r=c.snapIndex>=t-1;c.isEnd=r,c.allowSlideNext=!r},[c,y?.loop,K,ey,eu]);return a(()=>{if(!c)return;let e=()=>{$(c.slides.length),eS(),V(c.isBeginning),j(c.isEnd)},t=()=>{E&&E(c.realIndex)},r=()=>{U(c.realIndex),L(c?.translate===0),B(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)}},[ev.loop,c,eS]),a(()=>{if(!c)return;let e=ey?eu().length:0;e>0&&c.snapIndex>=e&&c.slideTo(e-1,0),eS(),V(c.isBeginning),j(c.isEnd)},[ei,c,en]),a(()=>{c?.wrapperEl&&(c.wrapperEl.style.transitionTimingFunction=y?.animationMode??"ease")},[c,y?.animationMode]),a(()=>{if(c&&c.autoplay){let e="edit"===Q?!!W&&y?.runPreview&&y?.autoplay:y?.autoplay;e?c.autoplay.start():c.autoplay.stop()}},[c,y?.autoplay,Q,W,y?.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(y?.vertical,K)?"swiper-vertical":"swiper-horizontal";e?.classList?.add(t),c?.slides?.forEach(e=>{e.style.width="",e.style.height=""}),c?.update()},[K,y?.vertical,c,c?.params]),a(()=>{if(!c||!w)return;let e=()=>{let e=c?.slides?.slice(0,k)||[],t=Number(ev?.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);O(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:ee,sliderSettings:ev,totalSlideItem:R,currentSlide:q,localRef:G,isRenderDots:eg,showNavigation:ea,isScrollToStart:M,isScrollToEnd:I,handleDotClick:(e,t)=>{let r=y?.sneakPeak?.[K]?e:t?e:ed(e);if(t){if(k<eb){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(y?.sneakPeakType,K)&&"number"==typeof u(y?.itemNumber,K)&&Number(u(y?.itemNumber,K))%2==0;e?c?.slideToLoopCenterSneakPeek(r):c?.slideToLoop(r)}else c?.slideTo(r);J.current=r},getItemsPerPage:eo,handleNextAndPrevSlide:e=>{"next"===e?c?.slideNext():c?.slidePrev(),x&&(h&&clearTimeout(h),h=setTimeout(()=>x&&x(),500))},dispatchEventSelectSlide:e=>{_({event:"gp:rollback:select-slide",selector:`[data-id="${b?.uid}"]`,element:v?.current}),_({event:"gp:select-slide",selector:`[data-id="${b?.uid}"]`,data:e,element:v?.current})},getNumberOfFullWidthShow:es,shouldDuplicateSlides:eN,isHideNavigation:ei,sneakPeak:ew,swiperIsBeginning:z,swiperIsEnd:A,handleSwiperReset:ex}};export{p as useCarousel};
@@ -1,4 +1,4 @@
1
- import{getSplitStyle as t}from"./common/styles.js";import{getGPProductButtonState as s,escapeSingleQuoteForAttr as e}from"./common/helpers.js";import{template as r,isLocalEnv as o,baseAssetURL as a}from"@gem-sdk/core";import{createStateOrContext as i,Liquid as n,LiquidFor as l,If as p}from"@gem-sdk/system";import{getInsertLinkData as c,getSettingPreloadData as u}from"../../../helpers.js";import{getButtonDynamicSourceLocales as m}from"./helpers/getButtonDynamicSourceLocales.js";import{SoldOutButton as d}from"./SoldOutButton.liquid.js";import{AddToCartButton as g}from"./AddToCartButton.liquid.js";let f=f=>{let{setting:$,builderProps:b,style:y,styles:v,pageContext:_}=f,{wrapStyle:h,restStyle:S}=t(y),{outOfStockButtonLabel:j,unavailableButtonLabel:k,variantSelectionRequiredMessage:E,successMessage:q,errorMessage:A}=m({setting:$,pageContext:_,builderProps:b}),{urlData:B}=c("",$?.actionEffect==="open-cart-drawer"?{link:"/cart",target:"_self"}:$?.customURL),G=i(s({styles:v,setting:$})),M=e(q??$?.successMessage),P=e(A??$?.errorMessage);return r`
1
+ import{getSplitStyle as t}from"./common/styles.js";import{getGPProductButtonState as e,escapeSingleQuoteForAttr as s}from"./common/helpers.js";import{template as r,isLocalEnv as o,baseAssetURL as a}from"@gem-sdk/core";import{createStateOrContext as i,Liquid as n,LiquidFor as l,If as p}from"@gem-sdk/system";import{getInsertLinkData as c,getSettingPreloadData as u}from"../../../helpers.js";import{getButtonDynamicSourceLocales as m}from"./helpers/getButtonDynamicSourceLocales.js";import{SoldOutButton as d}from"./SoldOutButton.liquid.js";import{AddToCartButton as g}from"./AddToCartButton.liquid.js";let f=f=>{let{setting:$,builderProps:b,style:y,styles:v,pageContext:_}=f,{wrapStyle:h,restStyle:S}=t(y),{outOfStockButtonLabel:j,unavailableButtonLabel:k,variantSelectionRequiredMessage:q,successMessage:E,errorMessage:M}=m({setting:$,pageContext:_,builderProps:b}),{urlData:A}=c("",$?.actionEffect==="open-cart-drawer"?{link:"/cart",target:"_self"}:$?.customURL),B=i(e({styles:v,setting:$})),G=s(E??$?.successMessage),P=s(M??$?.errorMessage),w=s(q??$?.variantSelectionRequiredMessage);return r`
2
2
  ${n("{%- assign total_combinations = 1 -%}")}
3
3
  ${l("option in product.options_with_values","{%- assign total_combinations = total_combinations | times: option.values.size -%}")}
4
4
  {%- liquid
@@ -8,15 +8,15 @@ import{getSplitStyle as t}from"./common/styles.js";import{getGPProductButtonStat
8
8
  <gp-product-button
9
9
  style="${h}"
10
10
  gp-data-wrapper="true"
11
- gp-href="${B.href}"
11
+ gp-href="${A.href}"
12
12
  class="gp-product-button"
13
13
  gp-label-out-of-stock="${j}"
14
14
  gp-label-unavailable="${k}"
15
- gp-data='${JSON.stringify(G)}'
16
- data-variant-selection-required-message="${E}"
15
+ gp-data='${JSON.stringify(B)}'
16
+ data-variant-selection-required-message="${w}"
17
17
  gp-enable-third-partycart="{{shop.metafields.GEMPAGES.enableThirdPartyCart}}"
18
18
  gp-error-message="${P}"
19
- gp-success-message="${M}"
19
+ gp-success-message="${G}"
20
20
  >
21
21
  ${g({...f,style:S})}
22
22
  ${d({...f,style:S,label:j})}
@@ -1 +1 @@
1
- import{ImageListNavigation as i}from"./ui/ImageListNavigation.js";import{FeatureNavigation as o}from"./ui/FeatureNavigation.js";import{FeatureDots as t}from"./ui/FeatureDots.js";let e='((type == "slider" || position == "left" || position == "right") && position !== "one-col" && position != "two-col")',n='(["bottom-center", "left", "right", "only-feature", "inside-bottom", "inside-left", "inside-right"].includes(position))',l=[{label:"Layout",controls:[{layout:"vertical",setting:{id:"position"},options:{isComboLayout:!0},controls:[{label:"Ratio",type:"control",setting:{id:"ratioLayout"},layout:"vertical",conditionDisplay:'position == "left"'},{label:"Ratio",type:"control",setting:{id:"ratioLayoutRight"},layout:"vertical",conditionDisplay:'position == "right"'}]}]},{label:"Featured image",conditionDisplay:n,controls:[{setting:{id:"ftShape"},hiddenOnMobile:!0,layout:"vertical",controlChangeTrigger:{settings:[{condition:"ftShape.shape === 'original'",source:["ftShape"],action:{controlId:"ftLayout",newValue:"contain",groupType:"style",controlType:"style"}}],options:{noRecordHistory:!0}}},{conditionDisplay:"ftShape.shape !== 'original'",label:"Image scale",setting:{id:"ftLayout"}},{...t,hiddenOnMobile:!0,conditionDisplay:`${n} && position === "only-feature"`},{...o,hiddenOnMobile:!0,conditionDisplay:`${n}`}],moreSettings:{type:"collapse",controls:[{label:"Corner",setting:{id:"ftCorner"},hiddenOnMobile:!0},{type:"combo",label:"Hover action",conditionDisplay:n,iconName:"gp-trigger-action-hover",getValueFromSettingID:"hoverEffect",isShowSettingTitle:!0,defaultValueWhenClear:"none",compoDefaultValue:"zoom",hiddenOnMobile:!0,controls:[{label:"When hover",setting:{id:"hoverEffect"}},{label:"Zoom type",conditionDisplay:'hoverEffect == "zoom"',setting:{id:"zoomType"}},{label:"Zoom value",conditionDisplay:'hoverEffect == "zoom"',setting:{id:"zoom"}},{label:"Other image",conditionDisplay:'hoverEffect == "other"',setting:{id:"otherImage"}}]},{type:"combo",label:"Click action",hiddenOnMobile:!0,iconName:"gp-trigger-action-click",conditionDisplay:n,getValueFromSettingID:"ftClickOpenLightBox",isShowSettingTitle:!0,defaultValueWhenClear:"none",compoDefaultValue:"popup",controls:[{label:"After click",setting:{id:"ftClickOpenLightBox"}},{label:"Open new tab",setting:{id:"ftClickOpenNewTab"},conditionDisplay:'ftClickOpenLightBox === "product-link"'}]},{type:"control",label:"Slide speed",setting:{id:"ftAnimationSpeed"}},{type:"control",label:"Animation",setting:{id:"ftAnimationMode"}},{label:"Drag / swipe",setting:{id:"ftDragToScroll"}},{label:"Infinity loop",setting:{id:"ftLoop"}}]}},{label:"Image list",conditionDisplay:'(position !== "only-feature")',controls:[{label:"Display",hiddenOnMobile:!0,conditionDisplay:'position === "bottom-center" || position === "bottom-left" || position === "inside-bottom"',setting:{id:"type"}},{setting:{id:"shape"},hiddenOnMobile:!0,layout:"vertical",conditionDisplay:'["left", "right"].includes(position)'},{setting:{id:"shapeForBottom"},hiddenOnMobile:!0,layout:"vertical",conditionDisplay:'["bottom-left", "bottom-center"].includes(position)'},{setting:{id:"shapeForInsideBottom"},hiddenOnMobile:!0,layout:"vertical",conditionDisplay:'["inside-bottom"].includes(position)'},{setting:{id:"shapeForInside"},hiddenOnMobile:!0,layout:"vertical",conditionDisplay:'["inside-left", "inside-right"].includes(position)'},{setting:{id:"shapeForFtOnly"},hiddenOnMobile:!0,layout:"vertical",conditionDisplay:'position == "only-feature"'},{setting:{id:"shapeFor2Col"},hiddenOnMobile:!0,layout:"vertical",conditionDisplay:'position == "two-col"'},{setting:{id:"shapeFor1Col"},hiddenOnMobile:!0,layout:"vertical",conditionDisplay:'position == "one-col"'},{label:"Image gap",setting:{id:"itemSpacing"}},{conditionDisplay:"(position == 'one-col' && shapeFor1Col.shape !== 'original') || (position == 'two-col' && shapeFor2Col.shape !== 'original') || (position == 'only-feature' && shapeForFtOnly.shape !== 'original') || ([\"inside-left\", \"inside-right\"].includes(position) && shapeForInside.shape !== 'original') || ([\"inside-bottom\"].includes(position) && shapeForInsideBottom.shape !== 'original') || ([\"bottom-left\", \"bottom-center\"].includes(position) && shapeForBottom.shape !== 'original') || ([\"left\", \"right\"].includes(position) && shape.shape !== 'original')",label:"Image scale",setting:{id:"layout"}},{...i,hiddenOnMobile:!0,conditionDisplay:e}],moreSettings:{type:"collapse",controls:[{label:"Corner",hiddenOnMobile:!0,setting:{id:"corner"}},{label:"Active border",hiddenOnMobile:!0,conditionDisplay:'!["one-col", "two-col"].includes(position)',setting:{id:"borderActive"}},{type:"combo",label:"Hover action",conditionDisplay:'(position == "one-col" || position == "two-col")',iconName:"gp-trigger-action-hover",getValueFromSettingID:"galleryHoverEffect",defaultValueWhenClear:"none",hiddenOnMobile:!0,compoDefaultValue:"zoom",controls:[{label:"When hover",setting:{id:"galleryHoverEffect"},conditionDisplay:'galleryHoverEffect == "none"'},{label:"Zoom type",conditionDisplay:'galleryHoverEffect == "zoom"',setting:{id:"galleryZoomType"}},{label:"Zoom value",conditionDisplay:'galleryHoverEffect == "zoom"',setting:{id:"galleryZoom"}},{label:"Other image",conditionDisplay:'galleryHoverEffect == "other"',setting:{id:"otherImage"}}]},{label:"Click action",setting:{id:"clickOpenLightBox"}},{conditionDisplay:e,label:"Drag / swipe",setting:{id:"dragToScroll"}},{conditionDisplay:e,label:"Infinity loop",setting:{id:"loop"}}]}},{label:"Item spacing",hiddenOnMobile:!0,conditionDisplay:'["bottom-center", "left", "right", "inside-bottom", "inside-left", "inside-right"].includes(position)',controls:[{label:"Gap",setting:{id:"spacing"}}]},{label:"Display condition",controls:[{conditionDisplay:'["bottom-center", "left", "right", "only-feature", "inside-bottom", "inside-left", "inside-right"].includes(position)',label:"Default item",setting:{id:"preDisplay"}},{label:"Image list",setting:{id:"filterByVariant"}}],messageConfig:{type:"info",message:'Image list can display based on the selected variants. <a class="text-white" target="_blank" href="https://gempages.co/display-selected-variant">How to setup</a>'}},{label:"Optimize LCP",conditionDisplay:'pageType !== "STATIC"',controls:[{label:"Preload",conditionDisplay:'["bottom-center", "left", "right", "only-feature", "inside-bottom", "inside-left", "inside-right"].includes(position)',setting:{id:"preload"}},{label:"Quality",setting:{id:"qualityType"},conditionDisplay:"preload === false"},{layout:"horizontal",label:"Quality",conditionDisplay:'qualityType == "custom" && preload === false',setting:{id:"qualityPercent"}}]},{hiddenOnMobile:!0,controls:[{label:"Align",setting:{id:"align"},options:{labelVariant:"primary"}}]}];export{l as SettingUIV2};
1
+ import{ImageListNavigation as i}from"./ui/ImageListNavigation.js";import{FeatureNavigation as o}from"./ui/FeatureNavigation.js";import{FeatureDots as e}from"./ui/FeatureDots.js";let t='((type == "slider" || position == "left" || position == "right") && position !== "one-col" && position != "two-col")',n='(["bottom-center", "left", "right", "only-feature", "inside-bottom", "inside-left", "inside-right"].includes(position))',l=[{label:"Layout",controls:[{layout:"vertical",setting:{id:"position"},options:{isComboLayout:!0},controls:[{label:"Ratio",type:"control",setting:{id:"ratioLayout"},layout:"vertical",conditionDisplay:'position == "left"'},{label:"Ratio",type:"control",setting:{id:"ratioLayoutRight"},layout:"vertical",conditionDisplay:'position == "right"'}]}]},{label:"Featured image",conditionDisplay:n,controls:[{setting:{id:"ftShape"},hiddenOnMobile:!0,layout:"vertical",controlChangeTrigger:{settings:[{condition:"ftShape.shape === 'original'",source:["ftShape"],action:{controlId:"ftLayout",newValue:"contain",groupType:"style",controlType:"style"}}],options:{noRecordHistory:!0}}},{conditionDisplay:"ftShape.shape !== 'original'",label:"Image scale",setting:{id:"ftLayout"}},{...e,hiddenOnMobile:!0,conditionDisplay:`${n} && position === "only-feature"`},{...o,hiddenOnMobile:!0,conditionDisplay:`${n}`}],moreSettings:{type:"collapse",controls:[{label:"Corner",setting:{id:"ftCorner"},hiddenOnMobile:!0},{type:"combo",label:"Hover action",conditionDisplay:n,iconName:"gp-trigger-action-hover",getValueFromSettingID:"hoverEffect",isShowSettingTitle:!0,defaultValueWhenClear:"none",compoDefaultValue:"zoom",hiddenOnMobile:!0,controls:[{label:"When hover",setting:{id:"hoverEffect"}},{label:"Zoom type",conditionDisplay:'hoverEffect == "zoom"',setting:{id:"zoomType"}},{label:"Zoom value",conditionDisplay:'hoverEffect == "zoom"',setting:{id:"zoom"}},{label:"Other image",conditionDisplay:'hoverEffect == "other"',setting:{id:"otherImage"}}]},{type:"combo",label:"Click action",hiddenOnMobile:!0,iconName:"gp-trigger-action-click",conditionDisplay:n,getValueFromSettingID:"ftClickOpenLightBox",isShowSettingTitle:!0,defaultValueWhenClear:"none",compoDefaultValue:"popup",controls:[{label:"After click",setting:{id:"ftClickOpenLightBox"}},{label:"Open new tab",setting:{id:"ftClickOpenNewTab"},conditionDisplay:'ftClickOpenLightBox === "product-link"'}]},{type:"control",label:"Slide speed",setting:{id:"ftAnimationSpeed"}},{type:"control",label:"Animation",setting:{id:"ftAnimationMode"}},{label:"Drag / swipe",setting:{id:"ftDragToScroll"}},{label:"Infinity loop",setting:{id:"ftLoop"}}]}},{label:"Image list",conditionDisplay:'(position !== "only-feature")',controls:[{label:"Display",hiddenOnMobile:!0,conditionDisplay:'position === "bottom-center" || position === "bottom-left" || position === "inside-bottom"',setting:{id:"type"}},{setting:{id:"shape"},hiddenOnMobile:!0,layout:"vertical",conditionDisplay:'["left", "right"].includes(position)'},{setting:{id:"shapeForBottom"},hiddenOnMobile:!0,layout:"vertical",conditionDisplay:'["bottom-left", "bottom-center"].includes(position)'},{setting:{id:"shapeForInsideBottom"},hiddenOnMobile:!0,layout:"vertical",conditionDisplay:'["inside-bottom"].includes(position)'},{setting:{id:"shapeForInside"},hiddenOnMobile:!0,layout:"vertical",conditionDisplay:'["inside-left", "inside-right"].includes(position)'},{setting:{id:"shapeForFtOnly"},hiddenOnMobile:!0,layout:"vertical",conditionDisplay:'position == "only-feature"'},{setting:{id:"shapeFor2Col"},hiddenOnMobile:!0,layout:"vertical",conditionDisplay:'position == "two-col"'},{setting:{id:"shapeFor1Col"},hiddenOnMobile:!0,layout:"vertical",conditionDisplay:'position == "one-col"'},{label:"Image gap",setting:{id:"itemSpacing"}},{conditionDisplay:"(position == 'one-col' && shapeFor1Col.shape !== 'original') || (position == 'two-col' && shapeFor2Col.shape !== 'original') || (position == 'only-feature' && shapeForFtOnly.shape !== 'original') || ([\"inside-left\", \"inside-right\"].includes(position) && shapeForInside.shape !== 'original') || ([\"inside-bottom\"].includes(position) && shapeForInsideBottom.shape !== 'original') || ([\"bottom-left\", \"bottom-center\"].includes(position) && shapeForBottom.shape !== 'original') || ([\"left\", \"right\"].includes(position) && shape.shape !== 'original')",label:"Image scale",setting:{id:"layout"}},{...i,hiddenOnMobile:!0,conditionDisplay:t}],moreSettings:{type:"collapse",controls:[{label:"Corner",hiddenOnMobile:!0,setting:{id:"corner"}},{label:"Active border",hiddenOnMobile:!0,conditionDisplay:'!["one-col", "two-col"].includes(position)',setting:{id:"borderActive"}},{type:"combo",label:"Hover action",conditionDisplay:'(position == "one-col" || position == "two-col")',iconName:"gp-trigger-action-hover",getValueFromSettingID:"galleryHoverEffect",defaultValueWhenClear:"none",hiddenOnMobile:!0,compoDefaultValue:"zoom",controls:[{label:"When hover",setting:{id:"galleryHoverEffect"},conditionDisplay:'galleryHoverEffect == "none"'},{label:"Zoom type",conditionDisplay:'galleryHoverEffect == "zoom"',setting:{id:"galleryZoomType"}},{label:"Zoom value",conditionDisplay:'galleryHoverEffect == "zoom"',setting:{id:"galleryZoom"}},{label:"Other image",conditionDisplay:'galleryHoverEffect == "other"',setting:{id:"otherImage"}}]},{label:"Click action",setting:{id:"clickOpenLightBox"}},{conditionDisplay:t,label:"Drag / swipe",setting:{id:"dragToScroll"}},{conditionDisplay:t,label:"Infinity loop",setting:{id:"loop"}}]}},{label:"Item spacing",hiddenOnMobile:!0,conditionDisplay:'["bottom-center", "left", "right", "inside-bottom", "inside-left", "inside-right"].includes(position)',controls:[{label:"Gap",setting:{id:"spacing"}}]},{label:"Display condition",controls:[{conditionDisplay:'["bottom-center", "left", "right", "only-feature", "inside-bottom", "inside-left", "inside-right"].includes(position)',label:"Default item",setting:{id:"preDisplay"}},{label:"Image list",setting:{id:"filterByVariant"}}],messageConfig:{type:"info",message:'Image list can display based on the selected variants. <a class="text-white" target="_blank" href="https://gempages.co/display-selected-variant">How to setup</a>'}},{label:"Optimize LCP",conditionDisplay:'pageType !== "STATIC"',controls:[{label:"Preload",conditionDisplay:'["bottom-center", "left", "right", "only-feature", "inside-bottom", "inside-left", "inside-right"].includes(position)',setting:{id:"preload"}},{label:"Quality",setting:{id:"qualityType"},conditionDisplay:"preload === false"},{layout:"horizontal",label:"Quality",conditionDisplay:'qualityType == "custom" && preload === false',setting:{id:"qualityPercent"}}]},{hiddenOnMobile:!0,controls:[{label:"Align",conditionEnable:'!(parseInt(ftShape.width) >= 100 && ftShape.width?.includes("%"))',setting:{id:"align"},options:{labelVariant:"primary",disableMessage:"Horizontal alignment is disabled when the width is set to 100% or greater"}}]}];export{l as SettingUIV2};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gem-sdk/components",
3
- "version": "17.0.0-dev.109",
3
+ "version": "17.0.0-dev.111",
4
4
  "license": "MIT",
5
5
  "sideEffects": false,
6
6
  "main": "dist/cjs/index.js",
@@ -26,7 +26,7 @@
26
26
  "i18n:extract": "rollup -c ./scripts/rollup.config.settings.mjs && node ./scripts/translate/extract-texts-to-locales.js && node ./scripts/translate/en-keys-usage.js"
27
27
  },
28
28
  "devDependencies": {
29
- "@gem-sdk/core": "17.0.0-dev.106",
29
+ "@gem-sdk/core": "17.0.0-dev.111",
30
30
  "@gem-sdk/styles": "17.0.0-dev.108",
31
31
  "@gem-sdk/system": "17.0.0-dev.93",
32
32
  "@types/react-transition-group": "^4.4.12",