UNPKG

siegel

Version:

Web application development ecosystem

1 lines 1.25 kB
import e,{useState as r,useLayoutEffect as t}from"react";import i from"../../../common/is/exists/index.js";import s from"../_internals/apply_classname.js";import o from"../_internals/component.js";import l from"../_internals/children.js";import{getRootProps as d,getVisualElements as a}from"./helpers/index.js";let n,c="-ui-slider",m=o(c,{theme:{root:n,children:n,slides_wrapper:n,slide:n,slide__active:n,slide__prev:n,slide__next:n,controls_wrapper:n,control:n,control__active:n,_slided_forward:n,_slided_backward:n},swipeDelta:30},o=>{let{store:c,theme:m,autoslideInterval:_,loop:p,withControls:f,children:w,slides:h,onChange:u}=o,[x,j]=c||r(0),v=r({isLastDirectionForward:n})[0],{isLastDirectionForward:D}=v,N=d(o);N.className=s(N.className,[[D?m._slided_forward:m._slided_backward,i(D)]]),t(()=>{let e=N.ref.current;e.style.setProperty("--slide_width",e.childNodes[+!!f].childNodes[0].offsetWidth+"px")},[]),_&&t(()=>{let e=setTimeout(()=>{y(x+1,!0)},_);return()=>{clearTimeout(e)}},[x]);let y=(e,r,t)=>{v.isLastDirectionForward=r;let i=h.length-1,s=t?e:e>i?p?0:i:e<0?p?i:0:e;j(s),u?.(s,x)},{pageControls:b,slidePages:k}=a({props:o,switchSlide:y,curSlide:x});return e.createElement("div",{...N},b,k,l(w,m))});export default m;export{c as componentID};