UNPKG

@nicecaroujs/react

Version:

A simple and customizable carousel library for React. This component allows you to display items dynamically with flexible configuration options.

2 lines (1 loc) 35.7 kB
import e,{forwardRef as n,useLayoutEffect as t}from"react";function i(e,n){var t={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&n.indexOf(i)<0&&(t[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var l=0;for(i=Object.getOwnPropertySymbols(e);l<i.length;l++)n.indexOf(i[l])<0&&Object.prototype.propertyIsEnumerable.call(e,i[l])&&(t[i[l]]=e[i[l]])}return t}"function"==typeof SuppressedError&&SuppressedError;const l=e=>{e&&(e.setAttribute("aria-label","dots"),e.setAttribute("role","tablist"))},o=e=>{if(!e)return;const n={init:()=>{const{childrens:n,trackContainer:t,paginationBtnArray:i,container:o,paginationContainer:a,arrowsContainer:r}=e.domElements;var d,s,u;n&&t&&i&&o&&a&&r&&((d=n).forEach(((e,n)=>{e.setAttribute("role","tabpanel"),e.setAttribute("aria-roledescription","slide"),e.setAttribute("aria-label",`${n+1} sur ${d.length}`)})),null==(s=t)||s.setAttribute("aria-live","polite"),(e=>{const n=e=>{e.forEach(((e,n)=>{e.setAttribute("role","tab");const t=e.classList.contains("isActive");e.setAttribute("aria-selected",t?"true":"false"),e.setAttribute("tabindex",t?"0":"-1")}))};return{initAcsDots:()=>{const t=Array.from(e);n(t)},updateAcsDots:()=>{const t=Array.from(e);n(t)}}})(i).initAcsDots(),l(a),(e=>{e&&(null==e||e.setAttribute("role","region"))})(o),null==(u=r)||u.setAttribute("role","tablist"),(e=>{const n=null==e?void 0:e.querySelectorAll("img");null==n||n.forEach(((e,n)=>{e.getAttribute("alt")||e.setAttribute("alt",`image number ${n} in carousel`)}))})(o),l(a))}};return n},a="left",r="right",d=640,s=768,u=1024,v="classic",p="progress",c={inside:{left:"1rem",right:"1rem"},outside:{left:"-2.5rem",right:"-2.5rem"},center:{left:"-1rem",right:"-1rem"}},m={outside:"1rem",inside:"-1.6rem"},y={arrow:'<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" height="20" width="20">\n <path stroke-linecap="round" stroke-linejoin="round" d="M10.5 19.5 3 12m0 0 7.5-7.5M3 12h18" />\n</svg>\n\n',chevron:'<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="black" height="20" width="20">\n <path stroke-linecap="round" stroke-linejoin="round" d="M15.75 19.5 8.25 12l7.5-7.5" />\n</svg>\n'},g={arrow:'<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" height="20" width="20">\n <path stroke-linecap="round" stroke-linejoin="round" d="M13.5 4.5 21 12m0 0-7.5 7.5M21 12H3" />\n</svg>\n',chevron:'<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="black" height="20" width="20">\n <path stroke-linecap="round" stroke-linejoin="round" d="m8.25 4.5 7.5 7.5-7.5 7.5" />\n</svg>\n\n'},h={light:{primary:"#FFFFFF",secondary:"#3C3C43",third:"#3C3C43"},dark:{primary:"#1C1C1E",secondary:"#EBEBF5",third:"#1C1C1E"},lightAppl:{primary:"#FFFFFF",secondary:"#007AFF",third:"#007AFF"}},f={drag:!0,bgGradientAnimated:!1,autoplay:{delay:3e3,enabled:!1,type:"timer",fillProgressbar:!1,pauseOnHover:!1,isPlaying:!1},pagination:{defaultDotsStyle:!0,enabled:!1,type:"classic",position:"outside",wrap:!1,currentIndex:0,numberDots:0,specialWrap:{enabled:!1,left:"0rem",top:"0rem",justifyContent:"flex-end",alignItems:"flex-end",orientation:"horizontal"},gap:"0.5rem",sizeButton:"0.3rem"},arrows:{specialDisplay:{enabled:!1,justifyContent:"space-between",alignItems:"center",gap:"0.4rem",prevButton:{left:"0rem",top:"0rem"},nextButton:{left:"0rem",top:"0rem"}},enabled:!0,position:"inside",shake:!1,type:"arrow",sizeButton:"1.8rem",arrowRadius:"50rem",hideArrowIsInactive:!1},customTheme:{primary:"",secondary:" ",third:""},enabledLoader:!1,slideRadius:"0rem",ease:"",paddingY:"0rem",containerRadius:" 0rem",itemsPerPage:1,itemsPerSlide:1,height:"100%",width:"100%",applytransparentMaskOnBorder:!1,breakpoints:{phone:{},tablet:{},laptop:{},desktop:{}},gap:"0.4rem"},b=(e,n)=>{var t,i,l,o,a;let r=null!==(i=null===(t=n.pagination)||void 0===t?void 0:t.numberDots)&&void 0!==i?i:0,d=null!==(o=null===(l=n.pagination)||void 0===l?void 0:l.currentIndex)&&void 0!==o?o:0;if(0!==d&&d+1!==r){if(!(null===(a=n.arrows)||void 0===a?void 0:a.shake))return;(e=>{e&&(setTimeout((()=>{e.classList.add("shake-button")}),1e3),setTimeout((()=>{e.classList.remove("shake-button")}),1500))})(e)}},w=(e,n)=>{e&&n&&(e.style.height=n,e.style.width=n)},E=(e,n)=>{e&&n&&(e.style.borderRadius=`${n}`)},k=(e,n)=>typeof e===n,C=e=>k(e,"string"),P=e=>k(e,"number"),A=e=>document.querySelector(e),I=e=>document.querySelectorAll(e);let L;const x=e=>{e.autoplay&&e.autoplay.enabled?(e.autoplay.isPlaying=!1,clearTimeout(L),L=setTimeout((()=>{}),e.autoplay.delay?e.autoplay.delay+2e3:3e3)):clearTimeout(L)},B=e=>{const n=parseFloat(getComputedStyle(document.documentElement).fontSize);if(e.endsWith("rem"))return parseFloat(e)*n;if(e.endsWith("px"))return parseFloat(e);{const n=parseFloat(e);return isNaN(n)?0:n}},M=({childrens:e,itemWidth:n})=>{if(t=Array.from(e),!Array.isArray(t)||0===e.length)return;var t;const i=`${n}`;for(const n of e)n.style.width=i};const S=(e,n,t,i,l)=>{const o=function(e,n){const t=e.match(/(\d+(\.\d+)?)%/);return t?parseFloat(t[1])/100*n:0}(t,i);return-e*(o+B(l))*n},D=(e,n)=>{e instanceof HTMLElement&&P(n)&&(e.style.transform=`translate3d(${n}px,0,0)`)},$=(e,n)=>(null!=e?e:0)<n-1,W=e=>e>0,j=e=>{e.pagination&&e.pagination.currentIndex&&(e.pagination.currentIndex=0)},O=e=>{e&&(e.style.transform="translate3d(0,0,0)")},F=(e,n)=>{n&&(null==n||n.forEach(((n,t)=>{n.classList.toggle("isActive",t===e),n.classList.toggle("inActive",t!==e)})))},T=(e,n,t)=>{let i=null!=e?e:0;if(!P(i)||"function"!=typeof n)return;const l=q("paginationBtn",{"id-slide":i+1});if(l.addEventListener("click",(()=>{n(i)})),"progress"===t){const e=document.createElement("span");e.classList.add("progressbar"),l.appendChild(e)}if("group"===t){const e=document.createElement("span");e.classList.add("progressbar"),l.appendChild(e)}return l.classList.add(t),l.setAttribute("type","button"),l.setAttribute("aria-label",`this dot show slide ${i+1}`),l},R=(e,n,t)=>{if(!e)return;const i=q("timerBtn",{"id-slide":e+1});i.style.width=t+"px";const l=document.createElement("div");return l.classList.add("line"),i.appendChild(l),i.addEventListener("click",(()=>n(e))),i},z=(e,n,t)=>{if(t){let t=document.createElement("div");if(t.classList.add("wrapper-dots"),n.forEach((e=>{t.appendChild(e)})),!e)return;e.appendChild(t)}else{if(!e)return;n.forEach((n=>{e.appendChild(n)}))}},q=(e,n={})=>{const t=document.createElement("button");return t.classList.add(e),Object.entries(n).forEach((([e,n])=>{t.setAttribute(e,n)})),t},H=e=>{e.autoplay&&(e.autoplay.isPlaying=!1)},N=null===document||void 0===document?void 0:document.documentElement,G=(e,n,t)=>((e,n,t)=>{const i=[];if(e){for(let l=0;l<e;l++){const e=T(l,n,t);if(!e)return;i.push(e)}return i}})(e,n,t===p?t:v),Y=e=>{var n,t;if(!e)return;const{domElements:i}=e,{arrowsContainer:l}=i;if(!l||!e.arrows)return;const o=l.querySelector(".prev"),a=l.querySelector(".next");if(o&&a&&e.arrows.enabled)if(e.arrows.hideArrowIsInactive){if(o.style.visibility="visible",a.style.visibility="visible",!e.pagination)return;0===e.pagination.currentIndex&&(o.style.visibility="hidden"),e.pagination.currentIndex===(null!==(n=e.pagination.numberDots)&&void 0!==n?n:0)-1&&(a.style.visibility="hidden")}else{if(o.style.opacity="1",a.style.opacity="1",!e.pagination)return;0===e.pagination.currentIndex?(o.style.opacity="0.5",o.setAttribute("disabled","true")):o.removeAttribute("disabled"),e.pagination.currentIndex===(null!==(t=e.pagination.numberDots)&&void 0!==t?t:0)-1?(a.style.opacity="0.5",a.setAttribute("disabled","true")):a.removeAttribute("disabled")}},X=(e,n)=>{let t;return function(...i){clearTimeout(t),t=setTimeout((()=>e.apply(this,i)),n)}},J=(e,n,t)=>{const{domElements:i,arrows:l}=e,{arrowsContainer:o}=i;if(!l)return;const{arrowRadius:d,sizeButton:s,position:u,specialDisplay:v,type:p}=l,m=i=>{var l,o,d,s;i===a?null==n||n.prevSlide():i===r&&(null==n||n.nextSlide()),Y(e),x(e),(null===(l=e.domElements)||void 0===l?void 0:l.paginationBtnArray)&&(null==t||t.managerStateDots(null!==(d=null===(o=e.pagination)||void 0===o?void 0:o.currentIndex)&&void 0!==d?d:0,null===(s=e.domElements)||void 0===s?void 0:s.paginationBtnArray))},h=e=>{if(!p||!y||!g)return;const n=(e=>{if(!C(e))return;const n=document.createElement("button");return n.innerHTML=e,n})(e===a?y[p]||y.arrow:g[p]||g.arrow);return n?(((e,n,t)=>{e.setAttribute("type","button"),e.setAttribute("aria-label",n),e.setAttribute("role","tab"),e.classList.add(t)})(n,`Move to ${e===a?"previous":"next"} slide`,e===a?"prev":"next"),((e,n,t)=>{if(!(e instanceof HTMLElement)||"string"!=typeof n||"function"!=typeof t)return;const i=()=>{n&&t(n)};e.addEventListener("click",i)})(n,e,m),n):void 0},f=()=>{const n=h(a),t=h(r);n&&t&&(((e,n,t)=>{if(!(t instanceof HTMLElement&&e&&n))return;const i=e=>null!==t.querySelector(`.${e}`);i("prev")||t.appendChild(e),i("next")||t.appendChild(n)})(n,t,o),Y(e),((e,n,t,i)=>{var l,o,a,r,d,s;const u=c[t];u&&!i?(e.style.left=null!==(l=u.left)&&void 0!==l?l:"0rem",n.style.right=null!==(o=u.right)&&void 0!==o?o:"0rem"):(e.style.left=null!==(r=null===(a=c.center)||void 0===a?void 0:a.left)&&void 0!==r?r:"0",n.style.right=null!==(s=null===(d=c.center)||void 0===d?void 0:d.right)&&void 0!==s?s:"0")})(n,t,u,null==v?void 0:v.enabled),w(n,s),w(t,s),(({elements:e,specialDisplay:n,prevButton:t,nextButton:i,justifyContent:l,alignItems:o,gap:a})=>{var r,d;n&&e&&(e[1].style.left=`${null!==(r=null==t?void 0:t.left)&&void 0!==r?r:"0%"}`,e[2].style.left=`${null!==(d=null==i?void 0:i.left)&&void 0!==d?d:"0%"}`,e[1].style.top=`${null==t?void 0:t.top}`,e[2].style.top=`${null==i?void 0:i.top}`,e[0].style.justifyContent=`${l}`,e[0].style.alignItems=`${o}`,e[0].style.gap=`${a}`)})({elements:[o,n,t],specialDisplay:null==v?void 0:v.enabled,prevButton:null==v?void 0:v.prevButton,nextButton:null==v?void 0:v.nextButton,justifyContent:null==v?void 0:v.justifyContent,alignItems:null==v?void 0:v.alignItems,gap:null==v?void 0:v.gap}),E(n,d),E(t,d))};return{init:()=>{var n,t;o&&((null===(n=e.arrows)||void 0===n?void 0:n.enabled)&&(o.innerHTML="",f()),!(null===(t=e.arrows)||void 0===t?void 0:t.enabled)&&o&&(o.innerHTML=""))}}};let K=null;const Q=(e,n)=>{var t;if(!(null===(t=e.autoplay)||void 0===t?void 0:t.enabled))return;const{autoplay:i}=e,{childrens:l,container:o,trackContainer:a}=e.domElements,r=null==l?void 0:l.length,{navigatePagination:d}=n||{};let s=null,u=!1;const v=()=>{s&&(clearInterval(s),s=null)};let p=((e,n)=>(K=new IntersectionObserver((t=>{t.forEach((t=>{var i;t.isIntersecting?e.autoplay&&!(null===(i=e.autoplay)||void 0===i?void 0:i.isPlaying)&&(e.autoplay.isPlaying=!0):(H(e),n())}))}),{threshold:.2}),document.addEventListener("visibilitychange",(()=>{if(document.hidden)H(e);else{if(!e.autoplay)return;e.autoplay.isPlaying=!0}})),{check:e=>{e&&K&&K.observe(e)},stopObserving:e=>{e&&K&&K.unobserve(e)},cleanupObservers:()=>{K&&(K.disconnect(),K=null)}}))(e,v);const c=()=>{var n,t,i,l,s;if(o&&d&&(p.check(o),null===(n=e.autoplay)||void 0===n?void 0:n.isPlaying)){const n=(()=>{var n,t;return((null!==(t=null===(n=e.pagination)||void 0===n?void 0:n.currentIndex)&&void 0!==t?t:0)+1)%(null!=r?r:0)})();(null!==(i=null===(t=e.pagination)||void 0===t?void 0:t.currentIndex)&&void 0!==i?i:0)<(null!==(s=null===(l=e.pagination)||void 0===l?void 0:l.numberDots)&&void 0!==s?s:0)-1?d(n):(j(e),O(a),d(0))}};return{startAutoplay:()=>{!u&&(()=>{var n;return null===(n=e.autoplay)||void 0===n?void 0:n.enabled})()&&(u=!0,v(),"progressbar"!==i.type&&(s=setInterval(c,i.delay)))},stopAutoplay:()=>{u=!1,v()},getIsPlaying:()=>u}},U=(e,n)=>W(e),V=(e,n)=>{var t,i;return $(e,null!==(i=null===(t=n.pagination)||void 0===t?void 0:t.numberDots)&&void 0!==i?i:0)},Z=(e,n)=>{var t,i,l,o,a;const r=null===(t=n.pagination)||void 0===t?void 0:t.currentIndex,d=((e,n)=>(null!=e?e:0)+(null!=n?n:0))(r,e);n.domElements.trackContainer&&n.pagination&&((e,n,t)=>{var i,l;if(!(null===(i=t.pagination)||void 0===i?void 0:i.numberDots))return;const o=1===n;return o&&$(e,null===(l=t.pagination)||void 0===l?void 0:l.numberDots)||!o&&W(e)})(null!=r?r:0,e,n)&&(n.isPlaying=!0,n.pagination.currentIndex=null!=d?d:0,D(n.domElements.trackContainer,S(null!=d?d:0,null!==(i=n.layout.itemsPerSlide)&&void 0!==i?i:0,null!==(l=n.layout.itemWidth)&&void 0!==l?l:"0%",parseInt(getComputedStyle(null===(o=n.domElements)||void 0===o?void 0:o.container).width,10),null!==(a=n.layout.gap)&&void 0!==a?a:"0rem")),(e=>{e&&e.autoplay&&(e.autoplay.isPlaying=!1,setTimeout((()=>{e.isPlaying=!1}),4e3))})(n))},_=(e,...n)=>{const t=t=>{var i,l,o;const a=null===(i=e.pagination)||void 0===i?void 0:i.currentIndex,r=null===(l=e.domElements.arrowsContainer)||void 0===l?void 0:l.querySelector(".next"),d=null===(o=e.domElements.arrowsContainer)||void 0===o?void 0:o.querySelector(".prev");if(1===t?V(null!=a?a:0,e):U(null!=a?a:0)){Z(t,e);((e,n,t)=>{n.forEach((n=>{n&&"function"==typeof n&&n(e,t)}))})(1===t?r:d,n,e)}},i={nextSlide:()=>{t(1)},navigatePagination:n=>{((e,n)=>{var t,i,l,o;n.pagination&&(n.pagination.currentIndex=e,Y(n),n.domElements.trackContainer&&(D(n.domElements.trackContainer,S(e,null!==(t=n.layout.itemsPerSlide)&&void 0!==t?t:0,null!==(i=n.layout.itemWidth)&&void 0!==i?i:"0%",parseInt(getComputedStyle(null===(l=n.domElements)||void 0===l?void 0:l.container).width,10),null!==(o=n.layout.gap)&&void 0!==o?o:"0rem")),F(e,n.domElements.paginationBtnArray)))})(n,e),e.isPlaying=!1},prevSlide:()=>{t(-1)},canClickLeft:U,canClickRight:V};return i},ee=(e,n)=>{var t,i;const{navigatePagination:l}=_(e)||{},{trackContainer:o}=e.domElements;let a=Array(n.length).fill(0),r=!1,d=null;const s=e=>{e.forEach((e=>{a[e]=0,n[e].style.width="0%"}))},u=()=>{var t;const i=null===(t=e.pagination)||void 0===t?void 0:t.currentIndex;if(n[i]&&e.pagination&&(n[i].style.width="0%",a[i]=0,e.pagination.currentIndex=(i+1)%n.length,0===e.pagination.currentIndex&&s([...Array(n.length).keys()]),l&&(l(e.pagination.currentIndex),0===e.pagination.currentIndex))){if(!o)return;j(e),O(o),s([...Array(n.length).keys()])}},v=t=>{if(!r){if(r=!0,!e.pagination||!e.autoplay||!e.autoplay.delay)return;e.pagination.currentIndex=t,d||(d=setInterval((()=>{if(r)(()=>{var t,i;const l=null===(t=e.pagination)||void 0===t?void 0:t.currentIndex;n[l]&&(a[l]<100?(a[l]+=1,n[l].style.width=`${a[l]}%`,l>0&&(a[l-1]=(null===(i=e.autoplay)||void 0===i?void 0:i.fillProgressbar)?100:0,n[l-1].style.width=`${a[l-1]}%`),l<n.length-1&&(a[l+1]=0,n[l+1].style.width=`${a[l+1]}%`)):u())})();else{if(!d)return;clearInterval(d),d=null}}),e.autoplay.delay/30))}};if(null===(t=null==e?void 0:e.pagination)||void 0===t?void 0:t.currentIndex)return v(null===(i=null==e?void 0:e.pagination)||void 0===i?void 0:i.currentIndex),{start:v,stop:()=>{d&&(clearInterval(d),r=!1,d=null)},isRunning:()=>r}},ne=e=>{const n=_(e);if(!n)return;const{navigatePagination:t}=n;if(!t)return;return{init:()=>{var n,i,l,o;if(!e.domElements.paginationContainer||!(null===(n=e.pagination)||void 0===n?void 0:n.enabled)||!e.domElements)return;const a=parseInt(getComputedStyle(e.domElements.container).width,10)/3/(null!==(i=e.pagination.numberDots)&&void 0!==i?i:0);let r=((e,n,t)=>{const i=[];if(i){for(let l=0;l<e;l++){const e=R(l,n,t);if(!e)return;i.push(e)}return i}})(null!==(l=e.pagination.numberDots)&&void 0!==l?l:0,t,a);if(!r||!e.pagination)return;z(e.domElements.paginationContainer,r||[],null!==(o=e.pagination.wrap)&&void 0!==o&&o),e.domElements.paginationBtnArray=r;if(!r)return;const d=(e=>{let n=[];return e.forEach((e=>{const t=e.querySelector("div");t&&n.push(t)})),n})(r);ee(e,d)}}},te=e=>{var n;if(!e||!(null===(n=e.pagination)||void 0===n?void 0:n.enabled))return;const{navigatePagination:t}=_(e)||{};if(!t)return;const i=(e,n)=>{F(e,n)},l={init:()=>{var n,l,o,a,r,d,s,u,v,p,c,y,g,h,f,b,w,E,k,C,P,A,I,L,x,B,M,S,D,$;if(null===(n=e.pagination)||void 0===n?void 0:n.enabled){if(e.autoplay&&"progressbar"===e.autoplay.type)null===(l=ne(e))||void 0===l||l.init(),i(e.pagination.currentIndex,e.domElements.paginationBtnArray);else{let n=G(null!==(a=null===(o=e.pagination)||void 0===o?void 0:o.numberDots)&&void 0!==a?a:0,t,null!==(d=null===(r=e.pagination)||void 0===r?void 0:r.type)&&void 0!==d?d:"classic");(O=null===(s=e.domElements)||void 0===s?void 0:s.paginationContainer)&&(O.innerHTML=""),j=0,(W=null!=n?n:[])&&W.forEach(((e,n)=>{e.classList.toggle("isActive",n===j)})),z(e.domElements.paginationContainer,null!=n?n:[],null!==(u=e.pagination.wrap)&&void 0!==u&&u),e.domElements.paginationBtnArray=n,i(e.pagination.currentIndex,e.domElements.paginationBtnArray)}var W,j,O,F,T;((e,n)=>{const t=m[e];t&&!n?N.style.setProperty("--nc-dots-y",t):N.style.setProperty("--nc-dots-y",m.inside)})(null!==(p=null===(v=e.pagination)||void 0===v?void 0:v.position)&&void 0!==p?p:"classic",null!==(y=null===(c=e.pagination.specialWrap)||void 0===c?void 0:c.enabled)&&void 0!==y&&y),F=null===(g=e.pagination)||void 0===g?void 0:g.gap,N.style.setProperty("--nc-dots-gap",`${F}`),T=null===(h=e.pagination)||void 0===h?void 0:h.sizeButton,N.style.setProperty("--nc-dots-size",`${T}`),e.domElements.paginationContainer&&(({isWithWrap:e,elements:n,specialWrap:t,left:i,top:l,justifyContent:o,alignItems:a,orientation:r})=>{if(t&&e&&n){let e=n[0];const t=null==e?void 0:e.querySelector(".wrapper-dots");if(e.style.padding="0rem 2rem",N.style.setProperty("--nc-third-color","white"),e.style.justifyContent=`${o}`,e.style.alignItems=`${a}`,!t)return;t.style.transform=`rotate(${"vertical"===r?"90deg":"0deg"})`,t.style.top=`${l}`,t.style.left=`${i}`}})({isWithWrap:null!==(b=null===(f=e.pagination)||void 0===f?void 0:f.wrap)&&void 0!==b&&b,elements:[e.domElements.paginationContainer],specialWrap:null!==(k=null===(E=null===(w=e.pagination)||void 0===w?void 0:w.specialWrap)||void 0===E?void 0:E.enabled)&&void 0!==k&&k,left:null===(P=null===(C=e.pagination)||void 0===C?void 0:C.specialWrap)||void 0===P?void 0:P.left,top:null===(I=null===(A=e.pagination)||void 0===A?void 0:A.specialWrap)||void 0===I?void 0:I.top,justifyContent:null===(x=null===(L=e.pagination)||void 0===L?void 0:L.specialWrap)||void 0===x?void 0:x.justifyContent,alignItems:null===(M=null===(B=e.pagination)||void 0===B?void 0:B.specialWrap)||void 0===M?void 0:M.alignItems,orientation:null!==($=null===(D=null===(S=e.pagination)||void 0===S?void 0:S.specialWrap)||void 0===D?void 0:D.orientation)&&void 0!==$?$:"horizontal"})}},managerStateDots:i};return l};const ie=e=>{const{childrens:n}=e.domElements,t=[];var i;n&&(n.forEach((n=>{var i;const l=n.querySelector("img");if(l&&(null===(i=e.arrows)||void 0===i?void 0:i.sizeButton)&&(t.push(l.src),e.enabledLoader)){const t=n.querySelector(".nc-loader");let i;t?i=t:(i=document.createElement("div"),i.classList.add("nc-loader"),o=i,a=e.arrows.sizeButton,o&&a&&(o.style.height=a,o.style.width=a),n.appendChild(i),i.style.display="block",l.style.display="none");const r=()=>{i.style.display="none",l.style.display="block",l.removeEventListener("load",r),l.removeEventListener("error",d)},d=()=>{i.style.display="none",l.style.display="none",l.removeEventListener("load",r),l.removeEventListener("error",d)};l.addEventListener("load",r),l.addEventListener("error",d),l.complete&&r()}var o,a})),t.length>0&&(i=t,i?Promise.allSettled(i.map((e=>new Promise(((n,t)=>{const i=new Image;i.src=e,i.onload=()=>n(e),i.onerror=()=>t(e)}))))):Promise.resolve([])).then((e=>{e.forEach((e=>{e.status}))})))},le=({breakpoints:e,width:n,state:t})=>{if("number"==typeof n&&t&&"object"==typeof t&&e){const i=((e,n)=>e<d?n.phone:e<s?n.tablet:e<u?n.laptop:n.desktop)(n,Object.assign(Object.assign({},e),t.layout.breakpoints));((e,n)=>{var t,i,l,o,a,r,d,s,u,v,p;n&&(e.layout.itemsPerPage=null!==(t=n.itemsPerPage)&&void 0!==t?t:e.layout.itemsPerPage,e.layout.itemsPerSlide=null!==(i=n.itemsPerSlide)&&void 0!==i?i:e.layout.itemsPerSlide,e.pagination&&(e.pagination.enabled=null!==(o=null===(l=n.pagination)||void 0===l?void 0:l.enabled)&&void 0!==o?o:null===(a=e.pagination)||void 0===a?void 0:a.enabled,e.arrows&&(e.arrows.position=null!==(d=null===(r=n.arrows)||void 0===r?void 0:r.position)&&void 0!==d?d:null===(s=e.arrows)||void 0===s?void 0:s.position,e.arrows.enabled=null!==(v=null===(u=n.arrows)||void 0===u?void 0:u.enabled)&&void 0!==v?v:null===(p=e.arrows)||void 0===p?void 0:p.enabled)))})(t,i)}},oe=({primary:e,secondary:n,third:t})=>{N.style.setProperty("--nc-primary-color",e),N.style.setProperty("--nc-secondary-color",n),N.style.setProperty("--nc-third-color",t)},ae=e=>{var n;e.customTheme&&!e.theme&&"primary"in e.customTheme&&"object"==typeof(n=e.customTheme)&&oe({primary:null==n?void 0:n.primary,secondary:null==n?void 0:n.secondary,third:null==n?void 0:n.third}),e.theme&&(e=>{let n=h[e];if("string"==typeof e&&n)oe(n);else{let e=h.light;e&&oe(e)}})(e.theme)},re=e=>{var n,t;const{containerRadius:i,height:l,slideRadius:o,bgGradientAnimated:a,paddingY:r,pagination:d,width:s,ease:u,applytransparentMaskOnBorder:v,layout:{gap:p},domElements:{container:c,wrapper:m,childrens:y,trackContainer:g,paginationContainer:h}}=e;if(c&&y){var f,b,w;if(g&&((e,n)=>{n.length>0?e.style.transition=`transform 0.6s ${n}`:e.style.transition="transform 0.6s ease"})(g,null!=u?u:"ease"),l&&((e,n)=>{e&&n&&(e.style.height=n)})(c,l),s&&s.length>0&&((e,n)=>{e&&n&&n.length>0&&(e.style.width=`${n}`)})(c,s),g&&r&&r.length>0&&((e,n)=>{e.style.padding=`${n} 0`})(g,r),p&&e.layout.gap&&e.layout.gap.length>0&&(f=y,b="marginRight",w=e.layout.gap,C(b)&&C(w)&&f.forEach(((e,n,t)=>{n!==t.length-1&&(e.style[b]=`${w}`)}))),v?((e,n)=>{e&&n&&(e.style.webkitMask="linear-gradient(90deg,#0000,#000 10% 90%,#0000)",e.style.setProperty("-webkit-mask","linear-gradient(90deg,#0000,#000 10% 90%,#0000)","important"))})(m,v):(e=>{e&&(e.style.webkitMask="",e.style.setProperty("-webkit-mask","","important"))})(m),(e=>{const{wrapper:n}=e.domElements;if(n&&e.autoplay&&e.autoplay.pauseOnHover){const t=()=>{e.autoplay&&(e.autoplay.isPlaying=!1)},i=()=>{e.autoplay&&(e.autoplay.isPlaying=!0)};n.removeEventListener("mousemove",t),n.removeEventListener("mouseleave",i),n.addEventListener("mousemove",t),n.addEventListener("mouseleave",i)}})(e),((e,n)=>{e.forEach((e=>{e.style.borderRadius=n}))})(y,null!=o?o:"0rem"),(e=>{e&&(e.style.opacity="1")})(c),h){((e,n,t)=>{!n&&t?e.classList.add("notdefaultButtons"):e.classList.remove("notdefaultButtons")})(h,null===(n=null==d?void 0:d.defaultDotsStyle)||void 0===n||n,null!==(t=null==d?void 0:d.enabled)&&void 0!==t&&t)}m&&((e,n)=>{e&&(n?(e.style.background="linear-gradient(-45deg, var(--nc-primary-color), var(--nc-secondary-color), var(--nc-third-color))",e.style.backgroundSize="400% 400% !important"):e.style.background="transparent")})(m,null!=a&&a),i&&((e,n)=>{n&&e&&(e.style.borderRadius=`${n}`)})(m,i)}},de=(e,n)=>{if(!e)return;const{wrapper:t}=e.domElements,{nextSlide:i,prevSlide:l}=n||{};if(!i||!l)return;let o=!1,a=0,r=null;function d(e){e.preventDefault(),e.stopPropagation(),o=!0,a=e.clientX||e.touches[0].clientX,r=null}function s(n){if(n.preventDefault(),n.stopPropagation(),!o)return;const t=(n.clientX||n.touches[0].clientX)-a;e.domElements.trackContainer&&(e.domElements.trackContainer.style.pointerEvents="none",Math.abs(t)>50&&(r=t>0?1:-1))}function u(n){var t,a;if(n.preventDefault(),n.stopPropagation(),o&&null!==r){if(!i||!l)return;if(-1===r?(i(),x(e)):1===r&&(l(),x(e)),!e.domElements.trackContainer)return;e.domElements.trackContainer.style.pointerEvents="auto",F(null===(t=e.pagination)||void 0===t?void 0:t.currentIndex,null===(a=e.domElements)||void 0===a?void 0:a.paginationBtnArray),Y(e)}o=!1,r=null}const v=()=>{null==t||t.removeEventListener("mousedown",d),null==t||t.removeEventListener("mousemove",s),null==t||t.removeEventListener("mouseup",u),null==t||t.removeEventListener("mouseleave",u),null==t||t.removeEventListener("touchstart",d),null==t||t.removeEventListener("touchmove",s),null==t||t.removeEventListener("touchend",u),null==t||t.removeEventListener("touchcancel",u)};return{init:()=>{v(),null==t||t.addEventListener("mousedown",d),null==t||t.addEventListener("mousemove",s),null==t||t.addEventListener("mouseup",u),null==t||t.addEventListener("mouseleave",u),null==t||t.addEventListener("touchstart",d),null==t||t.addEventListener("touchmove",s),null==t||t.addEventListener("touchend",u),null==t||t.addEventListener("touchcancel",u)},destroy:v}},se=({options:e,selector:n})=>{var t,i,l,a,r,d,s,u,v,p,c,m,y,g,h,w,E,k,C,P,L,S,D,$,W,F,T,R,z,q,H,N,G,K,U,V,Z,ee,ne,oe,se,ue,ve,pe,ce,me,ye,ge,he,fe,be,we,Ee,ke,Ce,Pe,Ae,Ie,Le,xe,Be,Me,Se,De,$e,We,je,Oe,Fe,Te,Re,ze,qe,He,Ne,Ge,Ye,Xe,Je,Ke,Qe,Ue,Ve,Ze,_e,en,nn,tn,ln,on,an,rn,dn,sn,un,vn,pn,cn,mn,yn,gn,hn,fn,bn,wn,En,kn,Cn;const{paddingY:Pn=f.paddingY,height:An=f.height,autoplay:In=f.autoplay,pagination:Ln=f.pagination,arrows:xn=f.arrows,theme:Bn=f.theme,ease:Mn=f.ease,customTheme:Sn=f.customTheme,slideRadius:Dn=f.slideRadius,containerRadius:$n=f.containerRadius,itemsPerPage:Wn=f.itemsPerPage,itemsPerSlide:jn=f.itemsPerSlide,breakpoints:On=(null==f?void 0:f.breakpoints),enabledLoader:Fn=(null==f?void 0:f.enabledLoader),bgGradientAnimated:Tn=f.bgGradientAnimated,gap:Rn=f.gap,drag:zn=f.drag,width:qn=f.width,applytransparentMaskOnBorder:Hn=f.applytransparentMaskOnBorder}=e||{},Nn={theme:Bn,customTheme:Sn,domElements:{},slideRadius:Dn,containerRadius:$n,ease:Mn,width:qn,paddingY:Pn,enabledLoader:Fn,layout:{gap:Rn,itemsPerPage:Wn,itemsPerSlide:jn,itemWidth:"0%",breakpoints:On},bgGradientAnimated:Tn,height:An,applytransparentMaskOnBorder:Hn,autoplay:{enabled:null!==(l=null!==(t=null==In?void 0:In.enabled)&&void 0!==t?t:null===(i=f.autoplay)||void 0===i?void 0:i.enabled)&&void 0!==l&&l,pauseOnHover:null!==(a=null==In?void 0:In.pauseOnHover)&&void 0!==a?a:null===(r=f.autoplay)||void 0===r?void 0:r.pauseOnHover,delay:null!==(u=null!==(d=null==In?void 0:In.delay)&&void 0!==d?d:null===(s=f.autoplay)||void 0===s?void 0:s.delay)&&void 0!==u?u:3e3,isPlaying:null!==(v=null==In?void 0:In.enabled)&&void 0!==v&&v,type:null!==(m=null!==(p=null==In?void 0:In.type)&&void 0!==p?p:null===(c=f.autoplay)||void 0===c?void 0:c.type)&&void 0!==m?m:"classic",fillProgressbar:null!==(y=null==In?void 0:In.fillProgressbar)&&void 0!==y?y:null===(g=f.autoplay)||void 0===g?void 0:g.fillProgressbar},arrows:{enabled:null!==(h=null==xn?void 0:xn.enabled)&&void 0!==h?h:null===(w=f.arrows)||void 0===w?void 0:w.enabled,arrowRadius:null!==(E=null==xn?void 0:xn.arrowRadius)&&void 0!==E?E:null===(k=f.arrows)||void 0===k?void 0:k.arrowRadius,hideArrowIsInactive:null!==(C=null==xn?void 0:xn.hideArrowIsInactive)&&void 0!==C?C:null===(P=f.arrows)||void 0===P?void 0:P.hideArrowIsInactive,position:null!==(L=null==xn?void 0:xn.position)&&void 0!==L?L:null===(S=f.arrows)||void 0===S?void 0:S.position,type:null!==(D=null==xn?void 0:xn.type)&&void 0!==D?D:null===($=f.arrows)||void 0===$?void 0:$.type,shake:null!==(W=null==xn?void 0:xn.shake)&&void 0!==W?W:null===(F=f.arrows)||void 0===F?void 0:F.shake,sizeButton:null!==(T=null==xn?void 0:xn.sizeButton)&&void 0!==T?T:null===(R=null==f?void 0:f.arrows)||void 0===R?void 0:R.sizeButton,specialDisplay:{enabled:null!==(q=null===(z=null==xn?void 0:xn.specialDisplay)||void 0===z?void 0:z.enabled)&&void 0!==q?q:null===(N=null===(H=f.arrows)||void 0===H?void 0:H.specialDisplay)||void 0===N?void 0:N.enabled,prevButton:{left:null!==(U=null===(K=null===(G=null==xn?void 0:xn.specialDisplay)||void 0===G?void 0:G.prevButton)||void 0===K?void 0:K.left)&&void 0!==U?U:null===(ee=null===(Z=null===(V=null==f?void 0:f.arrows)||void 0===V?void 0:V.specialDisplay)||void 0===Z?void 0:Z.prevButton)||void 0===ee?void 0:ee.left,top:null!==(se=null===(oe=null===(ne=null==xn?void 0:xn.specialDisplay)||void 0===ne?void 0:ne.prevButton)||void 0===oe?void 0:oe.top)&&void 0!==se?se:null===(pe=null===(ve=null===(ue=null==f?void 0:f.arrows)||void 0===ue?void 0:ue.specialDisplay)||void 0===ve?void 0:ve.prevButton)||void 0===pe?void 0:pe.top},nextButton:{left:null!==(ye=null===(me=null===(ce=null==xn?void 0:xn.specialDisplay)||void 0===ce?void 0:ce.nextButton)||void 0===me?void 0:me.left)&&void 0!==ye?ye:null===(fe=null===(he=null===(ge=null==f?void 0:f.arrows)||void 0===ge?void 0:ge.specialDisplay)||void 0===he?void 0:he.nextButton)||void 0===fe?void 0:fe.left,top:null!==(Ee=null===(we=null===(be=null==xn?void 0:xn.specialDisplay)||void 0===be?void 0:be.nextButton)||void 0===we?void 0:we.top)&&void 0!==Ee?Ee:null===(Pe=null===(Ce=null===(ke=null==f?void 0:f.arrows)||void 0===ke?void 0:ke.specialDisplay)||void 0===Ce?void 0:Ce.nextButton)||void 0===Pe?void 0:Pe.top},justifyContent:null!==(Ie=null===(Ae=null==xn?void 0:xn.specialDisplay)||void 0===Ae?void 0:Ae.justifyContent)&&void 0!==Ie?Ie:null===(xe=null===(Le=null==f?void 0:f.arrows)||void 0===Le?void 0:Le.specialDisplay)||void 0===xe?void 0:xe.justifyContent,alignItems:null!==(Me=null===(Be=null==xn?void 0:xn.specialDisplay)||void 0===Be?void 0:Be.alignItems)&&void 0!==Me?Me:null===(De=null===(Se=null==f?void 0:f.arrows)||void 0===Se?void 0:Se.specialDisplay)||void 0===De?void 0:De.alignItems,gap:null!==(We=null===($e=null==xn?void 0:xn.specialDisplay)||void 0===$e?void 0:$e.gap)&&void 0!==We?We:null===(Oe=null===(je=null==f?void 0:f.arrows)||void 0===je?void 0:je.specialDisplay)||void 0===Oe?void 0:Oe.gap}},pagination:{enabled:null!==(Re=null!==(Fe=null==Ln?void 0:Ln.enabled)&&void 0!==Fe?Fe:null===(Te=null==f?void 0:f.pagination)||void 0===Te?void 0:Te.enabled)&&void 0!==Re&&Re,type:null!==(ze=null==Ln?void 0:Ln.type)&&void 0!==ze?ze:null===(qe=null==f?void 0:f.pagination)||void 0===qe?void 0:qe.type,currentIndex:0,numberDots:0,defaultDotsStyle:null===(Ge=null!==(He=null==Ln?void 0:Ln.defaultDotsStyle)&&void 0!==He?He:null===(Ne=null==f?void 0:f.pagination)||void 0===Ne?void 0:Ne.defaultDotsStyle)||void 0===Ge||Ge,gap:null!==(Ye=null==Ln?void 0:Ln.gap)&&void 0!==Ye?Ye:null===(Xe=f.pagination)||void 0===Xe?void 0:Xe.gap,wrap:null!==(Je=null==Ln?void 0:Ln.wrap)&&void 0!==Je?Je:null===(Ke=f.pagination)||void 0===Ke?void 0:Ke.wrap,position:null!==(Qe=null==Ln?void 0:Ln.position)&&void 0!==Qe?Qe:null===(Ue=f.pagination)||void 0===Ue?void 0:Ue.position,sizeButton:null!==(Ve=null==Ln?void 0:Ln.sizeButton)&&void 0!==Ve?Ve:null===(Ze=f.pagination)||void 0===Ze?void 0:Ze.sizeButton,specialWrap:{enabled:null!==(en=null===(_e=null==Ln?void 0:Ln.specialWrap)||void 0===_e?void 0:_e.enabled)&&void 0!==en?en:null===(tn=null===(nn=null==f?void 0:f.pagination)||void 0===nn?void 0:nn.specialWrap)||void 0===tn?void 0:tn.enabled,left:null!==(on=null===(ln=null==Ln?void 0:Ln.specialWrap)||void 0===ln?void 0:ln.left)&&void 0!==on?on:null===(rn=null===(an=null==f?void 0:f.pagination)||void 0===an?void 0:an.specialWrap)||void 0===rn?void 0:rn.left,top:null!==(sn=null===(dn=null==Ln?void 0:Ln.specialWrap)||void 0===dn?void 0:dn.top)&&void 0!==sn?sn:null===(vn=null===(un=null==f?void 0:f.pagination)||void 0===un?void 0:un.specialWrap)||void 0===vn?void 0:vn.top,justifyContent:null!==(cn=null===(pn=null==Ln?void 0:Ln.specialWrap)||void 0===pn?void 0:pn.justifyContent)&&void 0!==cn?cn:null===(yn=null===(mn=null==f?void 0:f.pagination)||void 0===mn?void 0:mn.specialWrap)||void 0===yn?void 0:yn.justifyContent,alignItems:null!==(hn=null===(gn=null==Ln?void 0:Ln.specialWrap)||void 0===gn?void 0:gn.alignItems)&&void 0!==hn?hn:null===(bn=null===(fn=null==f?void 0:f.pagination)||void 0===fn?void 0:fn.specialWrap)||void 0===bn?void 0:bn.alignItems,orientation:null!==(En=null===(wn=null==Ln?void 0:Ln.specialWrap)||void 0===wn?void 0:wn.orientation)&&void 0!==En?En:null===(Cn=null===(kn=f.pagination)||void 0===kn?void 0:kn.specialWrap)||void 0===Cn?void 0:Cn.orientation}},drag:zn,gap:null!=Rn?Rn:f.gap,lazyLoading:!0},Gn=()=>{((e,n)=>{if("loading"!==document.readyState){const t=A(":root"),i=A(`.${n}.nc-carousel`),l=A(`.${n} .nc-wrapper`);e.domElements={root:t,container:i,childrens:Array.from(I(`.${n} .nc-slide`)),wrapper:l,arrowsContainer:A(`.${n} .nc-arrows-controls`),trackContainer:A(`.${n} .nc-wrapper .track`),paginationContainer:A(`.${n} .nc-pagination`)}}})(Nn,n)},Yn=()=>{var e,t,i,l;if(!Nn.domElements.childrens)return;if(!Nn.layout)return;const o=Math.ceil((Nn.domElements.childrens.length-(null!==(e=Nn.layout.itemsPerPage)&&void 0!==e?e:0))/(null!==(t=Nn.layout.itemsPerSlide)&&void 0!==t?t:0))+1;o!==(null!==(l=null===(i=Nn.pagination)||void 0===i?void 0:i.numberDots)&&void 0!==l?l:0)&&(Nn.pagination&&(Nn.pagination.numberDots=o),Nn.domElements.paginationBtnArray=Array.from(I(`${n} .paginationBtn`)))},Xn=()=>{var e,n;if(!Nn.layout.breakpoints)return;le({breakpoints:Nn.layout.breakpoints,width:window.innerWidth,state:Nn}),Gn(),requestAnimationFrame((()=>{re(Nn)}));const{wrapper:t,trackContainer:i}=Nn.domElements,{itemsPerPage:l,gap:o}=Nn.layout;if(!((null===(e=null==Nn?void 0:Nn.domElements)||void 0===e?void 0:e.container)&&t&&l&&o&&i))return;const a=(({container:e,itemsPerPage:n,gap:t})=>{if(!e)return"0%";let i=e.offsetWidth;if(n<=0)return"0%";const l=B(t)*(n-1);return i<l?"0%":`calc(${(i-l)/n/i*100}%)`})({container:Nn.domElements.container,itemsPerPage:l,gap:null!==(n=Nn.layout.gap)&&void 0!==n?n:"1rem"});(e=>{Nn.layout.itemWidth=e,Yn()})(a),j(Nn),Y(Nn),O(Nn.domElements.trackContainer),(e=>{const{itemWidth:n}=e.layout,{childrens:t}=e.domElements;return{init:()=>{n&&t&&requestAnimationFrame((()=>{M({childrens:t,itemWidth:n})}))}}})(Nn).init(),Yn(),ae(Nn)},Jn=e=>{var n,t;let i={dotsM:{init:()=>{},managerStateDots:(e,n)=>{}},scrollM:{nextSlide:()=>{},navigatePagination:e=>{},prevSlide:()=>{},canClickLeft:(e,n)=>!0,canClickRight:(e,n)=>!0},arrowsM:{init:()=>{}},autoplayM:{startAutoplay:()=>{},stopAutoplay:()=>{},getIsPlaying:()=>!1},dragM:{init:()=>{},destroy:()=>{}},acsM:{init:()=>{}}};const{pagination:l,arrows:a,autoplay:r,drag:d}=e;return(null==l?void 0:l.enabled)?i.dotsM=te(e):e.domElements.paginationContainer&&(e.domElements.paginationContainer.innerHTML=" "),i.scrollM=_(e,i.dotsM,b),(null==a?void 0:a.enabled)&&i.dotsM?i.arrowsM=J(e,i.scrollM,i.dotsM):e.domElements.arrowsContainer&&(e.domElements.arrowsContainer.innerHTML=" "),(null==r?void 0:r.enabled)?i.autoplayM=Q(e,i.scrollM):null===(n=Q(e,i.scrollM))||void 0===n||n.stopAutoplay(),d?i.dragM=de(e,i.scrollM):null===(t=de(e,i.scrollM))||void 0===t||t.destroy(),i.acsM=o(e),i},Kn=e=>{let n=Jn(e);if(!n)return;const{dotsM:t,arrowsM:i}=n;window.addEventListener("resize",X((()=>{Xn(),null==t||t.init(),null==i||i.init(),x(e)}),100))};return{init:()=>{requestAnimationFrame((()=>{Xn(),(e=>{const n=Jn(e);if(!e)return;const{dotsM:t,arrowsM:i,autoplayM:l,acsM:o,dragM:a}=n,{container:r}=e.domElements;r&&(Kn(e),null==t||t.init(),null==i||i.init(),null==a||a.init(),null==l||l.startAutoplay(),null==o||o.init(),ie(e))})(Nn)}))}}},ue=({options:e,selector:n})=>{var t;null===(t=se({options:e,selector:n}))||void 0===t||t.init()},ve=n(((n,l)=>{var{children:o,className:a="",options:r={}}=n,d=i(n,["children","className","options"]);const s=((e="carousel-")=>`${e}-${Math.random().toString(36).substr(2,9)}`)();return t((()=>{"undefined"!=typeof document&&(ue({options:r,selector:s}),"loading"!==document.readyState&&ue({options:r,selector:s}))}),[r,s]),e.createElement("div",Object.assign({ref:l},d,{className:`${s} nc-carousel ${a}`}),o,e.createElement("div",{className:"nc-pagination"}),e.createElement("div",{className:"nc-arrows-controls"}))}));ve.displayName="NcContainer";const pe=n=>{var{children:t}=n,l=i(n,["children"]);return e.createElement("div",Object.assign({},l,{className:"nc-slide"}),t)},ce=n=>{var{children:t}=n,l=i(n,["children"]);return e.createElement("div",Object.assign({},l,{className:"nc-wrapper"}),e.createElement("div",{className:"track"},t))};export{ve as NcContainer,pe as NcSlide,ce as NcWrapper,ue as init};