carousel.cjs 5.4 KB

12
  1. "use strict";const t=require("./base-component-njT02uAw.js"),f=require("./activeClass-CxJYQAGN.js"),P=require("./getTargetElement-Cx6QKLhG.js"),N=require("./isDisabled-CraboJ2Y.js"),x="carousel",w="Carousel",C=`[data-bs-ride="${x}"]`,h=`${x}-item`,A="data-bs-slide-to",m="data-bs-slide",p="paused",Z={pause:"hover",keyboard:!1,touch:!0,interval:5e3},g=n=>t.to(n,w),_=n=>new X(n);let $=0,T=0,E=0;const H=t.mo(`slide.bs.${x}`),y=t.mo(`slid.bs.${x}`),G=n=>{const{index:i,direction:e,element:s,slides:a,options:c}=n;if(n.isAnimating){const r=D(n),o=e==="left"?"next":"prev",d=e==="left"?"start":"end";t.Gn(a[i],f.activeClass),t.Zn(a[i],`${h}-${o}`),t.Zn(a[i],`${h}-${d}`),t.Zn(a[r],f.activeClass),t.Zn(a[r],`${h}-${d}`),t.Z(s,y),t.ho.clear(s,m),n.cycle&&!t.d(s).hidden&&c.interval&&!n.isPaused&&n.cycle()}};function B(){const n=g(this);n&&!n.isPaused&&!t.ho.get(this,p)&&t.Gn(this,p)}function K(){const n=g(this);n&&n.isPaused&&!t.ho.get(this,p)&&n.cycle()}function O(n){n.preventDefault();const i=t.Ne(this,C)||P.getTargetElement(this),e=i&&g(i);if(N.isDisabled(this)||!e||e.isAnimating)return;const s=+(t.K(this,A)||0);this&&!t._n(this,f.activeClass)&&!Number.isNaN(s)&&e.to(s)}function q(n){n.preventDefault();const i=t.Ne(this,C)||P.getTargetElement(this),e=i&&g(i);if(N.isDisabled(this)||!e||e.isAnimating)return;const s=t.K(this,m);s==="next"?e.next():s==="prev"&&e.prev()}const R=({code:n,target:i})=>{const e=t.d(i),[s]=[...t.de(C,e)].filter(d=>t.Do(d)),a=g(s);if(!a||a.isAnimating||/textarea|input|select/i.test(i.nodeName))return;const c=t.Ho(s),r=c?t.rn:t.cn,o=c?t.cn:t.rn;n===o?a.prev():n===r&&a.next()};function S(n){const{target:i}=n,e=g(this);e&&e.isTouch&&(e.indicator&&!e.indicator.contains(i)||!e.controls.includes(i))&&(n.stopImmediatePropagation(),n.stopPropagation(),n.preventDefault())}function k(n){const{target:i}=n,e=g(this);if(!e||e.isAnimating||e.isTouch)return;const{controls:s,indicators:a}=e;[...s,...a].every(c=>c===i||c.contains(i))||($=n.pageX,this.contains(i)&&(e.isTouch=!0,L(e,!0)))}const W=n=>{T=n.pageX},j=n=>{const{target:i}=n,e=t.d(i),s=[...t.de(C,e)].map(o=>g(o)).find(o=>o.isTouch);if(!s)return;const{element:a,index:c}=s,r=t.Ho(a);E=n.pageX,s.isTouch=!1,L(s),!e.getSelection()?.toString().length&&a.contains(i)&&Math.abs($-E)>120&&(T<$?s.to(c+(r?-1:1)):T>$&&s.to(c+(r?1:-1))),$=0,T=0,E=0},I=(n,i)=>{const{indicators:e}=n;[...e].forEach(s=>t.Zn(s,f.activeClass)),n.indicators[i]&&t.Gn(e[i],f.activeClass)},L=(n,i)=>{const{element:e}=n,s=i?t.E:t.r;s(t.d(e),t.zt,W,t.vo),s(t.d(e),t.It,j,t.vo)},D=n=>{const{slides:i,element:e}=n,s=t.Wo(`.${h}.${f.activeClass}`,e);return s?[...i].indexOf(s):-1};class X extends t.BaseComponent{static selector=C;static init=_;static getInstance=g;constructor(i,e){super(i,e);const{element:s}=this;this.direction=t.Ho(s)?"right":"left",this.isTouch=!1,this.slides=t.jo(h,s);const{slides:a}=this;if(a.length<2)return;const c=D(this),r=[...a].find(u=>t.Ee(u,`.${h}-next`));this.index=c;const o=t.d(s);this.controls=[...t.de(`[${m}]`,s),...t.de(`[${m}][${P.dataBsTarget}="#${s.id}"]`,o)].filter((u,v,l)=>v===l.indexOf(u)),this.indicator=t.Wo(`.${x}-indicators`,s),this.indicators=[...this.indicator?t.de(`[${A}]`,this.indicator):[],...t.de(`[${A}][${P.dataBsTarget}="#${s.id}"]`,o)].filter((u,v,l)=>v===l.indexOf(u));const{options:d}=this;this.options.interval=d.interval===!0?Z.interval:d.interval,r?this.index=[...a].indexOf(r):c<0&&(this.index=0,t.Gn(a[0],f.activeClass),this.indicators.length&&I(this,0)),this.indicators.length&&I(this,this.index),this._toggleEventListeners(!0),d.interval&&this.cycle()}get name(){return w}get defaults(){return Z}get isPaused(){return t._n(this.element,p)}get isAnimating(){return t.Wo(`.${h}-next,.${h}-prev`,this.element)!==null}cycle(){const{element:i,options:e,isPaused:s,index:a}=this;t.ho.clear(i,x),s&&(t.ho.clear(i,p),t.Zn(i,p)),t.ho.set(i,()=>{this.element&&!this.isPaused&&!this.isTouch&&t.Do(i)&&this.to(a+1)},e.interval,x)}pause(){const{element:i,options:e}=this;this.isPaused||!e.interval||(t.Gn(i,p),t.ho.set(i,()=>{},1,p))}next(){this.isAnimating||this.to(this.index+1)}prev(){this.isAnimating||this.to(this.index-1)}to(i){const{element:e,slides:s,options:a}=this,c=D(this),r=t.Ho(e);let o=i;if(this.isAnimating||c===o||t.ho.get(e,m))return;c<o||c===0&&o===s.length-1?this.direction=r?"right":"left":(c>o||c===s.length-1&&o===0)&&(this.direction=r?"left":"right");const{direction:d}=this;o<0?o=s.length-1:o>=s.length&&(o=0);const u=d==="left"?"next":"prev",v=d==="left"?"start":"end",l={relatedTarget:s[o],from:c,to:o,direction:d};t.T(H,l),t.T(y,l),t.Z(e,H),!H.defaultPrevented&&(this.index=o,I(this,o),t.ue(s[o])&&t._n(e,"slide")?t.ho.set(e,()=>{t.Gn(s[o],`${h}-${u}`),t.bo(s[o]),t.Gn(s[o],`${h}-${v}`),t.Gn(s[c],`${h}-${v}`),t.so(s[o],()=>this.slides&&this.slides.length&&G(this))},0,m):(t.Gn(s[o],f.activeClass),t.Zn(s[c],f.activeClass),t.ho.set(e,()=>{t.ho.clear(e,m),e&&a.interval&&!this.isPaused&&this.cycle(),t.Z(e,y)},0,m)))}_toggleEventListeners=i=>{const{element:e,options:s,slides:a,controls:c,indicators:r}=this,{touch:o,pause:d,interval:u,keyboard:v}=s,l=i?t.E:t.r;d&&u&&(l(e,t.wt,B),l(e,t.At,K)),o&&a.length>2&&(l(e,t.Ot,k,t.vo),l(e,t.Qt,S,{passive:!1}),l(e,t.je,S,{passive:!1})),c.length&&c.forEach(b=>{l(b,t.vt,q)}),r.length&&r.forEach(b=>{l(b,t.vt,O)}),v&&l(t.d(e),t.ft,R)};dispose(){const{isAnimating:i}=this,e={...this,isAnimating:i};this._toggleEventListeners(),super.dispose(),e.isAnimating&&t.so(e.slides[e.index],()=>{G(e)})}}module.exports=X;
  2. //# sourceMappingURL=carousel.cjs.map