siegel
Version:
Web application development ecosystem
1 lines • 1.06 kB
JavaScript
import e from"react";import t from"../../_internals/apply_classname.js";import l from"../../Swipe/index.js";let a=e=>e instanceof Function?void 0:e;export default function(s){let{switchSlide:i,curSlide:n,props:{withControls:r,theme:c,swipeDelta:o,slides:d}}=s,p=d.length,m=[];if(r)for(let l=0;l<p;l++){let a=t(c.control,[[c.control__active,l==n]]);m.push(e.createElement("div",{key:l,"data-page":l,className:a}))}let _=n-1;_<0&&(_=p-1);let f=n+1;f>=p&&(f=0);let v=[e.createElement("div",{key:`${_}p`,children:a(d[_]),className:t(c.slide,[[c.slide__prev,!0]])}),e.createElement("div",{key:n,children:d[n]instanceof Function?d[n](n):d[n],className:t(c.slide,[[c.slide__active,!0]])}),e.createElement("div",{key:`${f}n`,children:a(d[f]),className:t(c.slide,[[c.slide__next,!0]])})];return{pageControls:r&&e.createElement("div",{className:c.controls_wrapper,children:m,onMouseDown:e=>{let t=e.target.dataset.page;if(t){let e=+t;i(e,e>n,!0)}}}),slidePages:e.createElement(l,{children:v,className:c.slides_wrapper,xAxis:!0,deltaPos:o,onSwipe:e=>{i(e?n+1:n-1,e)}})}}