@gem-sdk/components 17.0.0-dev.77 → 17.0.0-dev.80
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"),r=require("react"),t=require("@gem-sdk/core"),o=require("../arrow/common/helpers.js"),i=require("../../hooks/useCarousel.js"),l=require("./common/helpers.js"),s=require("./common/classes.js"),n=require("./common/styles.js"),a=require("./common/attrs.js"),d=require("../arrow/Arrow.js"),u=require("../dot/Dots.js"),c=require("../swiper/Swiper.js");require("@gem-sdk/system");const p=r.forwardRef((p,m)=>{let{children:v,builderAttrs:C,builderProps:S,styles:h,isHiddenArrowWhenDisabled:k=!0,hiddenDotWhenOnlyOne:w,elmRef:y,isEnableCheckHasScrollableContent:g,onSwiperReady:j}=p,f=o.mappingNavigationCarousel(p.setting),b={...p,setting:f},q=r.Children.count(t.filterToolbarPreview(v))??0,[x,P]=r.useState(null),{arrowButtonSize:E,arrowBackgroundColor:O,arrowGapToEachSide:D="16",roundedArrow:T,arrowIconSize:A,arrowCustomColor:I,arrowBorder:N,arrowShadow:R,showWhenHover:z}=f??{},M=r.useRef({prevOrder:"",prevContent:"",version:0}),B=r.useMemo(()=>{let e=f?.childItem||[],r=e.join("|"),t=[...e].sort().join("|"),o=M.current;return o.prevOrder&&o.prevContent&&t===o.prevContent&&r!==o.prevOrder&&o.version++,o.prevOrder=r,o.prevContent=t,`reorder-${o.version}`},[f?.childItem]),{isInfinity:V,localRef:W,sliderSettings:$,
|
|
2
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("react"),t=require("@gem-sdk/core"),o=require("../arrow/common/helpers.js"),i=require("../../hooks/useCarousel.js"),l=require("./common/helpers.js"),s=require("./common/classes.js"),n=require("./common/styles.js"),a=require("./common/attrs.js"),d=require("../arrow/Arrow.js"),u=require("../dot/Dots.js"),c=require("../swiper/Swiper.js");require("@gem-sdk/system");const p=r.forwardRef((p,m)=>{let{children:v,builderAttrs:C,builderProps:S,styles:h,isHiddenArrowWhenDisabled:k=!0,hiddenDotWhenOnlyOne:w,elmRef:y,isEnableCheckHasScrollableContent:g,onSwiperReady:j}=p,f=o.mappingNavigationCarousel(p.setting),b={...p,setting:f},q=r.Children.count(t.filterToolbarPreview(v))??0,[x,P]=r.useState(null),{arrowButtonSize:E,arrowBackgroundColor:O,arrowGapToEachSide:D="16",roundedArrow:T,arrowIconSize:A,arrowCustomColor:I,arrowBorder:N,arrowShadow:R,showWhenHover:z}=f??{},M=r.useRef({prevOrder:"",prevContent:"",version:0}),B=r.useMemo(()=>{let e=f?.childItem||[],r=e.join("|"),t=[...e].sort().join("|"),o=M.current;return o.prevOrder&&o.prevContent&&t===o.prevContent&&r!==o.prevOrder&&o.version++,o.prevOrder=r,o.prevContent=t,`reorder-${o.version}`},[f?.childItem]),{isInfinity:V,localRef:W,sliderSettings:$,sneakPeak:H,totalSlideItem:F,currentSlide:G,isRenderDots:_,showNavigation:J,isScrollToStart:K,isScrollToEnd:U,handleDotClick:L,getItemsPerPage:Q,handleNextAndPrevSlide:X,dispatchEventSelectSlide:Y,getNumberOfFullWidthShow:Z,setCurrentSlide:ee,shouldDuplicateSlides:er,setIsScrollToStart:et,setIsScrollToEnd:eo}=i.useCarousel(b,m,x,q),{loopConfig:ei,arrowShowConfig:el}=l.getData(b),{rootClassRender:es,wrapperClassRender:en,wrapperInnerClass:ea,sliderClass:ed}=s.getClass(b),{rootStyleRender:eu,wrapperStyleRender:ec,wrapperInnerStyle:ep}=n.getStyle(b),{rootAttrRender:em,sliderAttr:ev}=a.getAttr(b),eC=t.useCurrentDevice(),eS=f?.sneakPeak?.[eC],eh=(r,t)=>{let o="next"===r;if(q<=1)return null;let i=!V&&(o?x?.isEnd:x?.isBeginning);return e.jsx(d.default,{uid:S?.uid,custom:f?.arrowCustom??"",showArrow:el,arrowButtonSize:E||{},arrowIconSize:A||{},arrowBackgroundColor:O||"",arrowCustomColor:I,gapToEachSize:D,showWhenHover:z,arrowBorder:N||{},arrowCorner:T||{},arrowShadow:R||{},onClick:e=>{e.stopPropagation(),X(r)},left:!o,disabled:g?o?!V&&U||!t:!V&&K||!t:i,vertical:f?.vertical,isHiddenWhenDisabled:k,rootId:p?.parentClass})},ek=r.useCallback(e=>{P(e),j?.(e)},[]),ew=r.useCallback(()=>{p?.isDisableResetSlide||(ee(0),et(!0),eo(!1))},[p?.isDisableResetSlide,ee,eo,et]),ey=r.Children.toArray(t.filterToolbarPreview(v)).filter(r.isValidElement),eg=er(q),ej=eg?2*q:q,ef=r.useMemo(()=>{if(!eg)return ey;let e=ey.map((e,t)=>{if(!r.isValidElement(e))return e;let o=e.key,i=o?`${o}-duplicate-${t}`:`duplicate-${t}`;return r.cloneElement(e,{...e.props||{},key:i})});return[...ey,...e]},[eg,ey]),eb=r.useMemo(()=>{let e=r.Children.toArray(v),t=e[0];return r.isValidElement(t)?t.key:""},[v]),eq=JSON.stringify($.autoplay),ex=r.useMemo(()=>{let e=[q,B,ef.length,eb,$.dir,$.loop,$.virtual,$.direction,$.isSneakPeekCenter,H,eq];return e.join("-")},[q,B,ef.length,eb,$.dir,$.loop,$.virtual,$.direction,$.isSneakPeekCenter,H,eq]);return e.jsx("div",{ref:y,...em,className:es,style:eu,children:e.jsxs("div",{ref:W,...C,className:en,style:ec,children:[e.jsxs("div",{className:ea,style:ep,children:[eh("prev",!!J),r.createElement(c.Swiper,{...ev,...$,sliderClass:ed,thumbsSwiper:p?.thumbsSwiper,onSwiperReady:ek,totalSlides:F,key:ex,sliderOrder:B,onSwiperReset:ew},t.isEmptyChildren(v)?e.jsx("div",{children:"No Slider"}):e.jsx(e.Fragment,{children:ef.map((e,t)=>{if(!r.isValidElement(e))return null;let o=e.props??{};return r.createElement(e.type,{...o,key:e.key,indexKey:t.toString(),parentSettings:f,parentStyle:h,background:f?.background,parentUid:S?.uid,dispatchEventSelectSlide:Y})})})),eh("next",!!J)]}),_&&e.jsx(u.default,{dotStyle:f?.dotStyle,dotGapToCarousel:f?.dotGapToCarousel,vertical:f?.vertical,showDots:f?.dot,slideItemsPerPage:Q(),enabledSneakPeak:eS,dotColor:f?.dotColor,dotActiveColor:f?.dotActiveColor,dotSize:f?.dotSize,sneakPeakType:f?.sneakPeakType,totalSlideItem:ej,hiddenWhenOnlyOne:w,currentSlide:G,loop:ei,numberOfFullWidthShow:Z(eC),onHandleClick:L,slideDuplicated:eg}),t.filterToolbarPreview(v,!0)]})})});exports.default=p;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("react"),t=require("@gem-sdk/core"),r=require("./useTrackPreviewPause.js");exports.useCarousel=(n,s,a,i)=>{let l;let{builderProps:u,moveToIdx:o,styles:c,setting:d,isHiddenArrowWhenDisabled:p=!0,elmRef:f,isEnableCheckHasScrollableContent:m,onClickArrow:y,onHandleChangeSlideByInteraction:v,onChangeActive:g}=n,[S,k]=e.useState(!0),[h,V]=e.useState(!0),[b,B]=e.useState(!1),{loop:R,navigationEnable:P={desktop:!0},navigationStyle:T}=d??{},[w,N]=e.useState(i),[E,x]=e.useState(d?.defaultCurrentSlider??0),{isFirstPreviewClicked:C}=r.default(d?.runPreview),M=e.useRef(),I=e.useRef(o??0),O=t.useCurrentDevice(),L=t.useEditorMode(),{onListener:D,saveToElementInteractionData:z,getInteractionPreviousData:q,trigger:A}=t.useInteraction(),H=e.useMemo(()=>t.getResponsiveValueByScreen(R,O,!1),[R,O]),j=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]),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:n:0}),e},[d?.slidesToShow]),$=e.useMemo(()=>{let e=F();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,a="center"===t.getResponsiveValueByScreen(d?.sneakPeakType,e)?-2:-1,i=t.getResponsiveValueByScreen(d?.itemNumber,e);r[e]="number"==typeof i?i+s/100*a:"auto"}),r},[F,d?.itemNumber,d?.sneakPeak,d?.sneakPeakOffsetCenter,d?.sneakPeakOffsetForward,d?.sneakPeakType]),U=e.useMemo(()=>{let e=t.getResponsiveValueByScreen($,O),r=t.getResponsiveValueByScreen(R,O,!1);return r&&Number(e??0)>i||!r&&Number(e??0)>=i},[$,O,R,i]),W=e.useMemo(()=>{let e=t.getResponsiveValueByScreen(P,O),r=t.getResponsiveValueByScreen(T,O);return a&&e&&"none"!==r&&S&&!U},[P,O,T,a,S,U]),G=e.useMemo(()=>{let e=j();return e||d?.itemNumber},[j,d?.itemNumber]),J=e.useCallback(e=>{let r="center"===t.getResponsiveValueByScreen(d?.sneakPeakType,e)?2:1;return"number"==typeof t.getResponsiveValueByScreen(G,e,4)?t.getResponsiveValueByScreen(G,e,4)-r:void 0},[d?.sneakPeakType,G]),K=()=>{let e="auto"===t.getResponsiveValueByScreen($,O,1)?1:t.getResponsiveValueByScreen($,O,1);return e??1},Q=e.useCallback(()=>{let e=t.getResponsiveValueByScreen($,O,1),r=J(O)??1,n=t.getResponsiveValueByScreen(d?.sneakPeak,O,!1);return Array.from({length:Math.max(H?i:n?i-r+1:"auto"===e?0:Math.ceil(i/Number(e)),0)},(e,t)=>t)},[i,$,O,J,d?.sneakPeak,H]),X=e=>{let t=e*K();return t>=w-K()&&(t=w-K()),t},Y=e=>{let r="edit"===L?{[e]:!1}:d?.enableDrag;return t.getResponsiveValueByScreen(r,e)};e.useImperativeHandle(s,()=>({nextSlideInteraction:ee,previousSlideInteraction:et,moveToSlideInteraction:er,getSwiper:()=>a}));let Z=e=>{a?.slideTo(e),v&&v(e)},_=(e,t)=>{let{key:r,data:n,isRollback:s,element:i}=e,l=Math.max(a?.activeIndex??0,0);if(s&&void 0===n)return;if(s){if("specific"===t){let{previousData:e}=q(i,r);Z(Number(e))}else Z("next"===t?l-1:l+1);return}let u="specific"===t?Math.max(I.current,0):l;z(i,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=K(),es=e.useMemo(()=>!!w&&a&&t.getResponsiveValueByScreen(d?.dot,O)&&!U&&i>1,[w,a,d?.dot,O,U,i]),ea=t.getResponsiveValueByScreen(d?.vertical,O,!1)?"vertical":"horizontal",ei=e.useMemo(()=>"center"===t.getResponsiveValueByScreen(d?.sneakPeakType,O)&&"number"==typeof t.getResponsiveValueByScreen(d?.itemNumber,O)&&Number(t.getResponsiveValueByScreen(d?.itemNumber,O))>1,[d?.sneakPeakType,d?.itemNumber,O]),el=e=>{let{swiperWidth:t,slidesPerView:r,itemNumberByDevice:n,centeredSlides:s}=e;if(!s||!n)return 0;let a=t/r,i=(Number(n)-2)/2-1;return-(a/2+i*a)},eu=e.useMemo(()=>{let e=t.getResponsiveValueByScreen(R,O,!1),r=a?.width??0,n={0:"mobile",768:"tablet",1025:"desktop"},s=Number(Object.entries(n).find(([,e])=>e===O)?.[0]??1025),i=Object.entries(n).reduce((e,[n,s])=>{if(!e)return;let a=Number(n),i=t.getResponsiveValueByScreen(d?.sneakPeak,s,!1),l=i&&"center"===t.getResponsiveValueByScreen(d?.sneakPeakType,s),u=t.getResponsiveValueByScreen(d?.itemNumber,s),c=Y(s),p=el({swiperWidth:r,slidesPerView:en,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,O)&&"number"==typeof t.getResponsiveValueByScreen(d?.itemNumber,O)&&Number(t.getResponsiveValueByScreen(d?.itemNumber,O))>1;return{speed:c?.playSpeed??500,dir:d?.rtl?"rtl":"ltr",spaceBetween:t.getResponsiveValueByScreen(c?.spacing,O)||0,loop:e,slidesPerView:"auto"===t.getResponsiveValueByScreen($,O,1)?"auto":en,direction:ea,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,O,R,en,d?.sneakPeakType,d?.pauseOnHover,d?.autoplayTimeout,a?.width,w]),eo=e.useCallback(e=>{let r=a&&a.params?.slidesPerView,n=r?a?.slidesPerViewDynamic():1;if(e<=1)return!1;let s="auto"===eu.slidesPerView?n:eu.slidesPerView;if(!H||e<Number(s)||!S)return!1;let i=t.getResponsiveValueByScreen(d?.sneakPeak,O,!1),l=i&&"center"===t.getResponsiveValueByScreen(d?.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},[a,eu.slidesPerView,H,S,d?.sneakPeak,d?.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:r,uniqueStorageKey:n}=e||{};ee({element:M.current,data:t,isRollback:r,key:n})}),D({event:"gp:change-previous-slide",selector:e,elementRef:M},e=>{let{data:t,isRollback:r,uniqueStorageKey:n}=e||{};et({element:M.current,data:t,isRollback:r,key:n})}),D({event:"gp:change-image-step",selector:e,elementRef:M},e=>{let{data:t,isRollback:r,uniqueStorageKey:n}=e||{};er({element:M.current,data:t,isRollback:r,key:n})}),D({event:"gp:change-index-slide",selector:e},t=>{let r=document.querySelector(e),{data:n,isRollback:s,uniqueStorageKey:a}=t||{};er({element:r,data:n,isRollback:s,key:a})})},[]),e.useEffect(()=>{N(i)},[i]),e.useEffect(()=>{if("number"==typeof o){if(I.current=o,a?.params?.loop){a?.slideToLoop(o);return}a?.slideTo(o)}},[a,o,p]);let
|
|
1
|
+
"use strict";var e=require("react"),t=require("@gem-sdk/core"),r=require("./useTrackPreviewPause.js");exports.useCarousel=(n,s,a,i)=>{let l;let{builderProps:u,moveToIdx:o,styles:c,setting:d,isHiddenArrowWhenDisabled:p=!0,elmRef:f,isEnableCheckHasScrollableContent:m,onClickArrow:y,onHandleChangeSlideByInteraction:v,onChangeActive:g}=n,[S,k]=e.useState(!0),[h,V]=e.useState(!0),[b,B]=e.useState(!1),{loop:R,navigationEnable:P={desktop:!0},navigationStyle:T}=d??{},[w,N]=e.useState(i),[E,x]=e.useState(d?.defaultCurrentSlider??0),{isFirstPreviewClicked:C}=r.default(d?.runPreview),M=e.useRef(),I=e.useRef(o??0),O=t.useCurrentDevice(),L=t.useEditorMode(),{onListener:D,saveToElementInteractionData:z,getInteractionPreviousData:q,trigger:A}=t.useInteraction(),H=e.useMemo(()=>t.getResponsiveValueByScreen(R,O,!1),[R,O]),j=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]),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:n:0}),e},[d?.slidesToShow]),$=e.useMemo(()=>{let e=F();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,a="center"===t.getResponsiveValueByScreen(d?.sneakPeakType,e)?-2:-1,i=t.getResponsiveValueByScreen(d?.itemNumber,e);r[e]="number"==typeof i?i+s/100*a:"auto"}),r},[F,d?.itemNumber,d?.sneakPeak,d?.sneakPeakOffsetCenter,d?.sneakPeakOffsetForward,d?.sneakPeakType]),U=e.useMemo(()=>{let e=t.getResponsiveValueByScreen($,O),r=t.getResponsiveValueByScreen(R,O,!1);return r&&Number(e??0)>i||!r&&Number(e??0)>=i},[$,O,R,i]),W=e.useMemo(()=>{let e=t.getResponsiveValueByScreen(P,O),r=t.getResponsiveValueByScreen(T,O);return a&&e&&"none"!==r&&S&&!U},[P,O,T,a,S,U]),G=e.useMemo(()=>{let e=j();return e||d?.itemNumber},[j,d?.itemNumber]),J=e.useCallback(e=>{let r="center"===t.getResponsiveValueByScreen(d?.sneakPeakType,e)?2:1;return"number"==typeof t.getResponsiveValueByScreen(G,e,4)?t.getResponsiveValueByScreen(G,e,4)-r:void 0},[d?.sneakPeakType,G]),K=()=>{let e="auto"===t.getResponsiveValueByScreen($,O,1)?1:t.getResponsiveValueByScreen($,O,1);return e??1},Q=e.useCallback(()=>{let e=t.getResponsiveValueByScreen($,O,1),r=J(O)??1,n=t.getResponsiveValueByScreen(d?.sneakPeak,O,!1);return Array.from({length:Math.max(H?i:n?i-r+1:"auto"===e?0:Math.ceil(i/Number(e)),0)},(e,t)=>t)},[i,$,O,J,d?.sneakPeak,H]),X=e=>{let t=e*K();return t>=w-K()&&(t=w-K()),t},Y=e=>{let r="edit"===L?{[e]:!1}:d?.enableDrag;return t.getResponsiveValueByScreen(r,e)};e.useImperativeHandle(s,()=>({nextSlideInteraction:ee,previousSlideInteraction:et,moveToSlideInteraction:er,getSwiper:()=>a}));let Z=e=>{a?.slideTo(e),v&&v(e)},_=(e,t)=>{let{key:r,data:n,isRollback:s,element:i}=e,l=Math.max(a?.activeIndex??0,0);if(s&&void 0===n)return;if(s){if("specific"===t){let{previousData:e}=q(i,r);Z(Number(e))}else Z("next"===t?l-1:l+1);return}let u="specific"===t?Math.max(I.current,0):l;z(i,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=K(),es=e.useMemo(()=>!!w&&a&&t.getResponsiveValueByScreen(d?.dot,O)&&!U&&i>1,[w,a,d?.dot,O,U,i]),ea=t.getResponsiveValueByScreen(d?.vertical,O,!1)?"vertical":"horizontal",ei=e.useMemo(()=>"center"===t.getResponsiveValueByScreen(d?.sneakPeakType,O)&&"number"==typeof t.getResponsiveValueByScreen(d?.itemNumber,O)&&Number(t.getResponsiveValueByScreen(d?.itemNumber,O))>1,[d?.sneakPeakType,d?.itemNumber,O]),el=e=>{let{swiperWidth:t,slidesPerView:r,itemNumberByDevice:n,centeredSlides:s}=e;if(!s||!n)return 0;let a=t/r,i=(Number(n)-2)/2-1;return-(a/2+i*a)},eu=e.useMemo(()=>{let e=t.getResponsiveValueByScreen(R,O,!1),r=a?.width??0,n={0:"mobile",768:"tablet",1025:"desktop"},s=Number(Object.entries(n).find(([,e])=>e===O)?.[0]??1025),i=Object.entries(n).reduce((e,[n,s])=>{if(!e)return;let a=Number(n),i=t.getResponsiveValueByScreen(d?.sneakPeak,s,!1),l=i&&"center"===t.getResponsiveValueByScreen(d?.sneakPeakType,s),u=t.getResponsiveValueByScreen(d?.itemNumber,s),c=Y(s),p=el({swiperWidth:r,slidesPerView:en,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,O)&&"number"==typeof t.getResponsiveValueByScreen(d?.itemNumber,O)&&Number(t.getResponsiveValueByScreen(d?.itemNumber,O))>1;return{speed:c?.playSpeed??500,dir:d?.rtl?"rtl":"ltr",spaceBetween:t.getResponsiveValueByScreen(c?.spacing,O)||0,loop:e,slidesPerView:"auto"===t.getResponsiveValueByScreen($,O,1)?"auto":en,direction:ea,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,O,R,en,d?.sneakPeakType,d?.pauseOnHover,d?.autoplayTimeout,a?.width,w]),eo=t.getResponsiveValueByScreen(d?.sneakPeak,O),ec=e.useCallback(e=>{let r=a&&a.params?.slidesPerView,n=r?a?.slidesPerViewDynamic():1;if(e<=1)return!1;let s="auto"===eu.slidesPerView?n:eu.slidesPerView;if(!H||e<Number(s)||!S)return!1;let i=t.getResponsiveValueByScreen(d?.sneakPeak,O,!1),l=i&&"center"===t.getResponsiveValueByScreen(d?.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},[a,eu.slidesPerView,H,S,d?.sneakPeak,d?.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:r,uniqueStorageKey:n}=e||{};ee({element:M.current,data:t,isRollback:r,key:n})}),D({event:"gp:change-previous-slide",selector:e,elementRef:M},e=>{let{data:t,isRollback:r,uniqueStorageKey:n}=e||{};et({element:M.current,data:t,isRollback:r,key:n})}),D({event:"gp:change-image-step",selector:e,elementRef:M},e=>{let{data:t,isRollback:r,uniqueStorageKey:n}=e||{};er({element:M.current,data:t,isRollback:r,key:n})}),D({event:"gp:change-index-slide",selector:e},t=>{let r=document.querySelector(e),{data:n,isRollback:s,uniqueStorageKey:a}=t||{};er({element:r,data:n,isRollback:s,key:a})})},[]),e.useEffect(()=>{N(i)},[i]),e.useEffect(()=>{if("number"==typeof o){if(I.current=o,a?.params?.loop){a?.slideToLoop(o);return}a?.slideTo(o)}},[a,o,p]);let ed=()=>{let e=t.getResponsiveValueByScreen(d?.loop,O,!1);if(!a||!ei||e)return;let r=Q().length;if(!r)return;let n=a.snapIndex>=r-1;a.isEnd=n,a.allowSlideNext=!n};return e.useEffect(()=>{if(!a)return;let e=()=>{N(a.slides.length),ed()},t=()=>{g&&g(a.realIndex)},r=()=>{x(a.realIndex),V(a?.translate===0),B(a?.translate<=a?.maxTranslate())};return a.on("transitionEnd",r),a.on("slideChange",e),a.on("slideChangeTransitionStart",t),()=>{a?.off("slideChange",e),a?.off("slideChangeTransitionStart",t),a?.off("transitionEnd",r)}},[eu.loop,a]),e.useEffect(()=>{a?.wrapperEl&&(a.wrapperEl.style.transitionTimingFunction=d?.animationMode??"ease")},[a,d?.animationMode]),e.useEffect(()=>{if(a&&a.autoplay){let e="edit"===L?!!C&&d?.runPreview&&d?.autoplay:d?.autoplay;e?a.autoplay.start():a.autoplay.stop()}},[a,d?.autoplay,L,C,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 r=t.getResponsiveValueByScreen(d?.vertical,O)?"swiper-vertical":"swiper-horizontal";e?.classList?.add(r),a?.slides?.forEach(e=>{e.style.width="",e.style.height=""}),a?.update()},[O,d?.vertical,a,a?.params]),e.useEffect(()=>{if(!a||!m)return;let e=()=>{let e=a?.slides?.slice(0,i)||[],t=Number(eu?.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=a.params?.direction==="horizontal"?n>(a.width||0):r>(a.height||0);k(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:H,sliderSettings:eu,totalSlideItem:w,currentSlide:E,localRef:M,isRenderDots:es,showNavigation:W,isScrollToStart:h,isScrollToEnd:b,handleDotClick:(e,r)=>{let n=d?.sneakPeak?.[O]?e:r?e:X(e);if(r){if(i<en){a?.slideTo(n);return}if(a?.realIndex===n)return;if(n===Number(a?.realIndex)+1||0===n&&a?.realIndex===i-1)return a?.slideNext();if(n===Number(a?.realIndex)-1||n===i-1&&a?.realIndex===0)return a?.slidePrev();let e="center"===t.getResponsiveValueByScreen(d?.sneakPeakType,O)&&"number"==typeof t.getResponsiveValueByScreen(d?.itemNumber,O)&&Number(t.getResponsiveValueByScreen(d?.itemNumber,O))%2==0;e?a?.slideToLoopCenterSneakPeek(n):a?.slideToLoop(n)}else a?.slideTo(n);I.current=n},getItemsPerPage:K,handleNextAndPrevSlide:e=>{"next"===e?a?.slideNext():a?.slidePrev(),y&&(l&&clearTimeout(l),l=setTimeout(()=>y&&y(),500))},dispatchEventSelectSlide:e=>{A({event:"gp:rollback:select-slide",selector:`[data-id="${u?.uid}"]`,element:f?.current}),A({event:"gp:select-slide",selector:`[data-id="${u?.uid}"]`,data:e,element:f?.current})},getNumberOfFullWidthShow:J,setCurrentSlide:x,shouldDuplicateSlides:ec,setIsScrollToStart:V,setIsScrollToEnd:B,isHideNavigation:U,sneakPeak:eo}};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import{jsx as e,jsxs as r,Fragment as o}from"react/jsx-runtime";import{forwardRef as t,Children as i,useState as n,useRef as l,useMemo as s,useCallback as a,isValidElement as d,cloneElement as p,createElement as m}from"react";import{filterToolbarPreview as u,useCurrentDevice as c,isEmptyChildren as S}from"@gem-sdk/core";import{mappingNavigationCarousel as h}from"../arrow/common/helpers.js";import{useCarousel as k}from"../../hooks/useCarousel.js";import{getData as v}from"./common/helpers.js";import{getClass as y}from"./common/classes.js";import{getStyle as f}from"./common/styles.js";import{getAttr as w}from"./common/attrs.js";import C from"../arrow/Arrow.js";import g from"../dot/Dots.js";import{Swiper as j}from"../swiper/Swiper.js";import"@gem-sdk/system";let b=t((t,b)=>{let{children:O,builderAttrs:P,builderProps:A,styles:D,isHiddenArrowWhenDisabled:I=!0,hiddenDotWhenOnlyOne:x,elmRef:z,isEnableCheckHasScrollableContent:N,onSwiperReady:T}=t,B=h(t.setting),R={...t,setting:B},W=i.count(u(O))??0,[$,E]=n(null),{arrowButtonSize:H,arrowBackgroundColor:G,arrowGapToEachSide:F="16",roundedArrow:J,arrowIconSize:K,arrowCustomColor:U,arrowBorder:q,arrowShadow:L,showWhenHover:M}=B??{},Q=l({prevOrder:"",prevContent:"",version:0}),V=s(()=>{let e=B?.childItem||[],r=e.join("|"),o=[...e].sort().join("|"),t=Q.current;return t.prevOrder&&t.prevContent&&o===t.prevContent&&r!==t.prevOrder&&t.version++,t.prevOrder=r,t.prevContent=o,`reorder-${t.version}`},[B?.childItem]),{isInfinity:X,localRef:Y,sliderSettings:Z,
|
|
2
|
+
import{jsx as e,jsxs as r,Fragment as o}from"react/jsx-runtime";import{forwardRef as t,Children as i,useState as n,useRef as l,useMemo as s,useCallback as a,isValidElement as d,cloneElement as p,createElement as m}from"react";import{filterToolbarPreview as u,useCurrentDevice as c,isEmptyChildren as S}from"@gem-sdk/core";import{mappingNavigationCarousel as h}from"../arrow/common/helpers.js";import{useCarousel as k}from"../../hooks/useCarousel.js";import{getData as v}from"./common/helpers.js";import{getClass as y}from"./common/classes.js";import{getStyle as f}from"./common/styles.js";import{getAttr as w}from"./common/attrs.js";import C from"../arrow/Arrow.js";import g from"../dot/Dots.js";import{Swiper as j}from"../swiper/Swiper.js";import"@gem-sdk/system";let b=t((t,b)=>{let{children:O,builderAttrs:P,builderProps:A,styles:D,isHiddenArrowWhenDisabled:I=!0,hiddenDotWhenOnlyOne:x,elmRef:z,isEnableCheckHasScrollableContent:N,onSwiperReady:T}=t,B=h(t.setting),R={...t,setting:B},W=i.count(u(O))??0,[$,E]=n(null),{arrowButtonSize:H,arrowBackgroundColor:G,arrowGapToEachSide:F="16",roundedArrow:J,arrowIconSize:K,arrowCustomColor:U,arrowBorder:q,arrowShadow:L,showWhenHover:M}=B??{},Q=l({prevOrder:"",prevContent:"",version:0}),V=s(()=>{let e=B?.childItem||[],r=e.join("|"),o=[...e].sort().join("|"),t=Q.current;return t.prevOrder&&t.prevContent&&o===t.prevContent&&r!==t.prevOrder&&t.version++,t.prevOrder=r,t.prevContent=o,`reorder-${t.version}`},[B?.childItem]),{isInfinity:X,localRef:Y,sliderSettings:Z,sneakPeak:_,totalSlideItem:ee,currentSlide:er,isRenderDots:eo,showNavigation:et,isScrollToStart:ei,isScrollToEnd:en,handleDotClick:el,getItemsPerPage:es,handleNextAndPrevSlide:ea,dispatchEventSelectSlide:ed,getNumberOfFullWidthShow:ep,setCurrentSlide:em,shouldDuplicateSlides:eu,setIsScrollToStart:ec,setIsScrollToEnd:eS}=k(R,b,$,W),{loopConfig:eh,arrowShowConfig:ek}=v(R),{rootClassRender:ev,wrapperClassRender:ey,wrapperInnerClass:ef,sliderClass:ew}=y(R),{rootStyleRender:eC,wrapperStyleRender:eg,wrapperInnerStyle:ej}=f(R),{rootAttrRender:eb,sliderAttr:eO}=w(R),eP=c(),eA=B?.sneakPeak?.[eP],eD=(r,o)=>{let i="next"===r;if(W<=1)return null;let n=!X&&(i?$?.isEnd:$?.isBeginning);return e(C,{uid:A?.uid,custom:B?.arrowCustom??"",showArrow:ek,arrowButtonSize:H||{},arrowIconSize:K||{},arrowBackgroundColor:G||"",arrowCustomColor:U,gapToEachSize:F,showWhenHover:M,arrowBorder:q||{},arrowCorner:J||{},arrowShadow:L||{},onClick:e=>{e.stopPropagation(),ea(r)},left:!i,disabled:N?i?!X&&en||!o:!X&&ei||!o:n,vertical:B?.vertical,isHiddenWhenDisabled:I,rootId:t?.parentClass})},eI=a(e=>{E(e),T?.(e)},[]),ex=a(()=>{t?.isDisableResetSlide||(em(0),ec(!0),eS(!1))},[t?.isDisableResetSlide,em,eS,ec]),ez=i.toArray(u(O)).filter(d),eN=eu(W),eT=eN?2*W:W,eB=s(()=>{if(!eN)return ez;let e=ez.map((e,r)=>{if(!d(e))return e;let o=e.key,t=o?`${o}-duplicate-${r}`:`duplicate-${r}`;return p(e,{...e.props||{},key:t})});return[...ez,...e]},[eN,ez]),eR=s(()=>{let e=i.toArray(O),r=e[0];return d(r)?r.key:""},[O]),eW=JSON.stringify(Z.autoplay),e$=s(()=>{let e=[W,V,eB.length,eR,Z.dir,Z.loop,Z.virtual,Z.direction,Z.isSneakPeekCenter,_,eW];return e.join("-")},[W,V,eB.length,eR,Z.dir,Z.loop,Z.virtual,Z.direction,Z.isSneakPeekCenter,_,eW]);return e("div",{ref:z,...eb,className:ev,style:eC,children:r("div",{ref:Y,...P,className:ey,style:eg,children:[r("div",{className:ef,style:ej,children:[eD("prev",!!et),m(j,{...eO,...Z,sliderClass:ew,thumbsSwiper:t?.thumbsSwiper,onSwiperReady:eI,totalSlides:ee,key:e$,sliderOrder:V,onSwiperReset:ex},S(O)?e("div",{children:"No Slider"}):e(o,{children:eB.map((e,r)=>{if(!d(e))return null;let o=e.props??{};return m(e.type,{...o,key:e.key,indexKey:r.toString(),parentSettings:B,parentStyle:D,background:B?.background,parentUid:A?.uid,dispatchEventSelectSlide:ed})})})),eD("next",!!et)]}),eo&&e(g,{dotStyle:B?.dotStyle,dotGapToCarousel:B?.dotGapToCarousel,vertical:B?.vertical,showDots:B?.dot,slideItemsPerPage:es(),enabledSneakPeak:eA,dotColor:B?.dotColor,dotActiveColor:B?.dotActiveColor,dotSize:B?.dotSize,sneakPeakType:B?.sneakPeakType,totalSlideItem:eT,hiddenWhenOnlyOne:x,currentSlide:er,loop:eh,numberOfFullWidthShow:ep(eP),onHandleClick:el,slideDuplicated:eN}),u(O,!0)]})})});export{b as default};
|
|
@@ -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:y,setting:g,isHiddenArrowWhenDisabled:T=!0,elmRef:v,isEnableCheckHasScrollableContent:w,onClickArrow:N,onHandleChangeSlideByInteraction:x,onChangeActive:S}=p,[C,O]=e(!0),[E,L]=e(!0),[M,I]=e(!1),{loop:z,navigationEnable:V={desktop:!0},navigationStyle:B}=g??{},[A,j]=e(k),[D,F]=e(g?.defaultCurrentSlider??0),{isFirstPreviewClicked:H}=m(g?.runPreview),R=t(),$=t(P??0),q=l(),U=s(),{onListener:W,saveToElementInteractionData:G,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=n(()=>{let e=u(Z,q,1),t=er(q)??1,r=u(g?.sneakPeak,q,!1);return Array.from({length:Math.max(Q?k:r?k-t+1:"auto"===e?0:Math.ceil(k/Number(e)),0)},(e,t)=>t)},[k,Z,q,er,g?.sneakPeak,Q]),ea=e=>{let t=e*en();return t>=A-en()&&(t=A-en()),t},el=e=>{let t="edit"===U?{[e]:!1}:g?.enableDrag;return u(t,e)};i(f,()=>({nextSlideInteraction:eu,previousSlideInteraction:ed,moveToSlideInteraction:em,getSwiper:()=>c}));let es=e=>{c?.slideTo(e),x&&x(e)},eo=(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);es(Number(e))}else es("next"===t?l-1:l+1);return}let s="specific"===t?Math.max($.current,0):l;G(a,r,s.toString());let o="specific"===t?Number(n):"next"===t?l+1:l-1;es(o)},eu=e=>{eo(e,"next")},ed=e=>{eo(e,"previous")},em=e=>{eo(e,"specific")},ep=en(),ef=r(()=>!!A&&c&&u(g?.dot,q)&&!_&&k>1,[A,c,g?.dot,q,_,k]),ec=u(g?.vertical,q,!1)?"vertical":"horizontal",ek=r(()=>"center"===u(g?.sneakPeakType,q)&&"number"==typeof u(g?.itemNumber,q)&&Number(u(g?.itemNumber,q))>1,[g?.sneakPeakType,g?.itemNumber,q]),eh=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)},eb=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=el(n),d=eh({swiperWidth:t,slidesPerView:ep,itemNumberByDevice:s,centeredSlides:l}),m=g?.initialSlide||P||0;return e[i]={allowTouchMove:o,slidesOffsetBefore:d,slidesOffsetAfter:d,initialSlide:m,centeredSlides:l},e},{}),a="center"===u(g?.sneakPeakType,q)&&"number"==typeof u(g?.itemNumber,q)&&Number(u(g?.itemNumber,q))>1;return{speed:y?.playSpeed??500,dir:g?.rtl?"rtl":"ltr",spaceBetween:u(y?.spacing,q)||0,loop:e,slidesPerView:"auto"===u(Z,q,1)?"auto":ep,direction:ec,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}}},[y?.playSpeed,g?.rtl,y?.spacing,q,z,ep,g?.sneakPeakType,g?.pauseOnHover,g?.autoplayTimeout,c?.width,A]),eP=n(e=>{let t=c&&c.params?.slidesPerView,r=t?c?.slidesPerViewDynamic():1;if(e<=1)return!1;let n="auto"===eb.slidesPerView?r:eb.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,eb.slidesPerView,Q,C,g?.sneakPeak,g?.sneakPeakType,q]);a(()=>{let e=`[data-id="${b?.uid}"]`;W({event:"gp:change-next-slide",selector:e,elementRef:R},e=>{let{data:t,isRollback:r,uniqueStorageKey:n}=e||{};eu({element:R.current,data:t,isRollback:r,key:n})}),W({event:"gp:change-previous-slide",selector:e,elementRef:R},e=>{let{data:t,isRollback:r,uniqueStorageKey:n}=e||{};ed({element:R.current,data:t,isRollback:r,key:n})}),W({event:"gp:change-image-step",selector:e,elementRef:R},e=>{let{data:t,isRollback:r,uniqueStorageKey:n}=e||{};em({element:R.current,data:t,isRollback:r,key:n})}),W({event:"gp:change-index-slide",selector:e},t=>{let r=document.querySelector(e),{data:n,isRollback:i,uniqueStorageKey:a}=t||{};em({element:r,data:n,isRollback:i,key:a})})},[]),a(()=>{j(k)},[k]),a(()=>{if("number"==typeof P){if($.current=P,c?.params?.loop){c?.slideToLoop(P);return}c?.slideTo(P)}},[c,P,T]);let
|
|
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:y,setting:g,isHiddenArrowWhenDisabled:T=!0,elmRef:v,isEnableCheckHasScrollableContent:w,onClickArrow:N,onHandleChangeSlideByInteraction:x,onChangeActive:S}=p,[C,O]=e(!0),[E,L]=e(!0),[M,I]=e(!1),{loop:z,navigationEnable:V={desktop:!0},navigationStyle:B}=g??{},[A,j]=e(k),[D,F]=e(g?.defaultCurrentSlider??0),{isFirstPreviewClicked:H}=m(g?.runPreview),R=t(),$=t(P??0),q=l(),U=s(),{onListener:W,saveToElementInteractionData:G,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=n(()=>{let e=u(Z,q,1),t=er(q)??1,r=u(g?.sneakPeak,q,!1);return Array.from({length:Math.max(Q?k:r?k-t+1:"auto"===e?0:Math.ceil(k/Number(e)),0)},(e,t)=>t)},[k,Z,q,er,g?.sneakPeak,Q]),ea=e=>{let t=e*en();return t>=A-en()&&(t=A-en()),t},el=e=>{let t="edit"===U?{[e]:!1}:g?.enableDrag;return u(t,e)};i(f,()=>({nextSlideInteraction:eu,previousSlideInteraction:ed,moveToSlideInteraction:em,getSwiper:()=>c}));let es=e=>{c?.slideTo(e),x&&x(e)},eo=(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);es(Number(e))}else es("next"===t?l-1:l+1);return}let s="specific"===t?Math.max($.current,0):l;G(a,r,s.toString());let o="specific"===t?Number(n):"next"===t?l+1:l-1;es(o)},eu=e=>{eo(e,"next")},ed=e=>{eo(e,"previous")},em=e=>{eo(e,"specific")},ep=en(),ef=r(()=>!!A&&c&&u(g?.dot,q)&&!_&&k>1,[A,c,g?.dot,q,_,k]),ec=u(g?.vertical,q,!1)?"vertical":"horizontal",ek=r(()=>"center"===u(g?.sneakPeakType,q)&&"number"==typeof u(g?.itemNumber,q)&&Number(u(g?.itemNumber,q))>1,[g?.sneakPeakType,g?.itemNumber,q]),eh=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)},eb=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=el(n),d=eh({swiperWidth:t,slidesPerView:ep,itemNumberByDevice:s,centeredSlides:l}),m=g?.initialSlide||P||0;return e[i]={allowTouchMove:o,slidesOffsetBefore:d,slidesOffsetAfter:d,initialSlide:m,centeredSlides:l},e},{}),a="center"===u(g?.sneakPeakType,q)&&"number"==typeof u(g?.itemNumber,q)&&Number(u(g?.itemNumber,q))>1;return{speed:y?.playSpeed??500,dir:g?.rtl?"rtl":"ltr",spaceBetween:u(y?.spacing,q)||0,loop:e,slidesPerView:"auto"===u(Z,q,1)?"auto":ep,direction:ec,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}}},[y?.playSpeed,g?.rtl,y?.spacing,q,z,ep,g?.sneakPeakType,g?.pauseOnHover,g?.autoplayTimeout,c?.width,A]),eP=u(g?.sneakPeak,q),ey=n(e=>{let t=c&&c.params?.slidesPerView,r=t?c?.slidesPerViewDynamic():1;if(e<=1)return!1;let n="auto"===eb.slidesPerView?r:eb.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,eb.slidesPerView,Q,C,g?.sneakPeak,g?.sneakPeakType,q]);a(()=>{let e=`[data-id="${b?.uid}"]`;W({event:"gp:change-next-slide",selector:e,elementRef:R},e=>{let{data:t,isRollback:r,uniqueStorageKey:n}=e||{};eu({element:R.current,data:t,isRollback:r,key:n})}),W({event:"gp:change-previous-slide",selector:e,elementRef:R},e=>{let{data:t,isRollback:r,uniqueStorageKey:n}=e||{};ed({element:R.current,data:t,isRollback:r,key:n})}),W({event:"gp:change-image-step",selector:e,elementRef:R},e=>{let{data:t,isRollback:r,uniqueStorageKey:n}=e||{};em({element:R.current,data:t,isRollback:r,key:n})}),W({event:"gp:change-index-slide",selector:e},t=>{let r=document.querySelector(e),{data:n,isRollback:i,uniqueStorageKey:a}=t||{};em({element:r,data:n,isRollback:i,key:a})})},[]),a(()=>{j(k)},[k]),a(()=>{if("number"==typeof P){if($.current=P,c?.params?.loop){c?.slideToLoop(P);return}c?.slideTo(P)}},[c,P,T]);let eg=()=>{let e=u(g?.loop,q,!1);if(!c||!ek||e)return;let t=ei().length;if(!t)return;let r=c.snapIndex>=t-1;c.isEnd=r,c.allowSlideNext=!r};return a(()=>{if(!c)return;let e=()=>{j(c.slides.length),eg()},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)}},[eb.loop,c]),a(()=>{c?.wrapperEl&&(c.wrapperEl.style.transitionTimingFunction=g?.animationMode??"ease")},[c,g?.animationMode]),a(()=>{if(c&&c.autoplay){let e="edit"===U?!!H&&g?.runPreview&&g?.autoplay:g?.autoplay;e?c.autoplay.start():c.autoplay.stop()}},[c,g?.autoplay,U,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(eb?.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:Q,sliderSettings:eb,totalSlideItem:A,currentSlide:D,localRef:R,isRenderDots:ef,showNavigation:ee,isScrollToStart:E,isScrollToEnd:M,handleDotClick:(e,t)=>{let r=g?.sneakPeak?.[q]?e:t?e:ea(e);if(t){if(k<ep){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:ey,setIsScrollToStart:L,setIsScrollToEnd:I,isHideNavigation:_,sneakPeak:eP}};export{p as useCarousel};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gem-sdk/components",
|
|
3
|
-
"version": "17.0.0-dev.
|
|
3
|
+
"version": "17.0.0-dev.80",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"main": "dist/cjs/index.js",
|
|
@@ -26,9 +26,9 @@
|
|
|
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.
|
|
30
|
-
"@gem-sdk/styles": "17.0.0-dev.
|
|
31
|
-
"@gem-sdk/system": "17.0.0-dev.
|
|
29
|
+
"@gem-sdk/core": "17.0.0-dev.80",
|
|
30
|
+
"@gem-sdk/styles": "17.0.0-dev.80",
|
|
31
|
+
"@gem-sdk/system": "17.0.0-dev.80",
|
|
32
32
|
"@types/react-transition-group": "^4.4.12",
|
|
33
33
|
"postcss-import": "16.1.1",
|
|
34
34
|
"@thedutchcoder/postcss-rem-to-px": "0.0.2",
|