import{I as Le,k as y,h as B,u as e,l as J,D as He,E as de,J as Ae,K as Pe,L as Oe,M as Ve,N as he,f as x,o as N,c as z,z as ue,w as Z,x as Y,a as L,n as H,C as Q,b as X,O as q,T as ce,g as K,r as pe,i as ge,F as ze,y as De,t as Re,P as Fe,m as Ge,Q as Ke}from"./Ca9y1zsW.js";import{b as ye,i as Ue,u as Ie,a as We,E as ve,n as je,f as Je,_ as Ce,o as Qe,w as Xe,p as Ye}from"./BPRC2v3K.js";import{c as qe}from"./CeUmO8rY.js";import{u as Ze}from"./BWx9aQRD.js";import{f as xe}from"./BR6Cm0N-.js";import{t as fe}from"./CaXrkGgF.js";const et=ye({initialIndex:{type:Number,default:0},height:{type:String,default:""},trigger:{type:String,values:["hover","click"],default:"hover"},autoplay:{type:Boolean,default:!0},interval:{type:Number,default:3e3},indicatorPosition:{type:String,values:["","none","outside"],default:""},arrow:{type:String,values:["always","hover","never"],default:"hover"},type:{type:String,values:["","card"],default:""},cardScale:{type:Number,default:.83},loop:{type:Boolean,default:!0},direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},pauseOnHover:{type:Boolean,default:!0},motionBlur:Boolean}),tt={change:(a,A)=>[a,A].every(Ue)},_e=Symbol("carouselContextKey"),me=300,at=(a,A,r)=>{const{children:o,addChild:M,removeChild:C}=Ze(he(),"ElCarouselItem"),w=Le(),s=y(-1),d=y(null),b=y(!1),h=y(),S=y(0),_=y(!0),I=y(!0),f=y(!1),D=B(()=>a.arrow!=="never"&&!e(k)),P=B(()=>o.value.some(t=>t.props.label.toString().length>0)),E=B(()=>a.type==="card"),k=B(()=>a.direction==="vertical"),G=B(()=>a.height!=="auto"?{height:a.height}:{height:`${S.value}px`,overflow:"hidden"}),l=fe(t=>{m(t)},me,{trailing:!0}),i=fe(t=>{O(t)},me),p=t=>_.value?s.value<=1?t<=1:t>1:!0;function c(){d.value&&(clearInterval(d.value),d.value=null)}function g(){a.interval<=0||!a.autoplay||d.value||(d.value=setInterval(()=>$(),a.interval))}const $=()=>{I.value||(f.value=!0),I.value=!1,s.valueV.props.name===t);F.length>0&&(t=o.value.indexOf(F[0]))}if(t=Number(t),Number.isNaN(t)||t!==Math.floor(t))return;const u=o.value.length,T=s.value;t<0?s.value=a.loop?u-1:0:t>=u?s.value=a.loop?0:u-1:s.value=t,T===s.value&&n(T),ne()}function n(t){o.value.forEach((u,T)=>{u.translateItem(T,s.value,t)})}function U(t,u){var T,F,V,W;const j=e(o),re=j.length;if(re===0||!t.states.inStage)return!1;const Te=u+1,Me=u-1,ie=re-1,Ee=j[ie].states.active,Ne=j[0].states.active,Be=(F=(T=j[Te])==null?void 0:T.states)==null?void 0:F.active,$e=(W=(V=j[Me])==null?void 0:V.states)==null?void 0:W.active;return u===ie&&Ne||Be?"left":u===0&&Ee||$e?"right":!1}function ee(){b.value=!0,a.pauseOnHover&&c()}function te(){b.value=!1,g()}function ae(){f.value=!1}function v(t){e(k)||o.value.forEach((u,T)=>{t===U(u,T)&&(u.states.hover=!0)})}function le(){e(k)||o.value.forEach(t=>{t.states.hover=!1})}function R(t){t!==s.value&&(I.value||(f.value=!0)),s.value=t}function O(t){a.trigger==="hover"&&t!==s.value&&(s.value=t,I.value||(f.value=!0))}function se(){m(s.value-1)}function be(){m(s.value+1)}function ne(){c(),a.pauseOnHover||g()}function Se(t){a.height==="auto"&&(S.value=t)}function ke(){var t;const u=(t=w.default)==null?void 0:t.call(w);if(!u)return null;const T=xe(u),F="ElCarouselItem",V=T.filter(W=>Ve(W)&&W.type.name===F);return(V==null?void 0:V.length)===2&&a.loop&&!E.value?(_.value=!0,V):(_.value=!1,null)}J(()=>s.value,(t,u)=>{n(u),_.value&&(t=t%2,u=u%2),u>-1&&A("change",t,u)}),J(()=>a.autoplay,t=>{t?g():c()}),J(()=>a.loop,()=>{m(s.value)}),J(()=>a.interval,()=>{ne()});const oe=He();return de(()=>{J(()=>o.value,()=>{o.value.length>0&&m(a.initialIndex)},{immediate:!0}),oe.value=qe(h.value,()=>{n()}),g()}),Ae(()=>{c(),h.value&&oe.value&&oe.value.stop()}),Pe(_e,{root:h,isCardType:E,isVertical:k,items:o,loop:a.loop,cardScale:a.cardScale,addItem:M,removeItem:C,setActiveItem:m,setContainerHeight:Se}),{root:h,activeIndex:s,arrowDisplay:D,hasLabel:P,hover:b,isCardType:E,isTransitioning:f,items:o,isVertical:k,containerStyle:G,isItemsTwoLength:_,handleButtonEnter:v,handleTransitionEnd:ae,handleButtonLeave:le,handleIndicatorClick:R,handleMouseEnter:ee,handleMouseLeave:te,setActiveItem:m,prev:se,next:be,PlaceholderItem:ke,isTwoLengthShow:p,throttledArrowClick:l,throttledIndicatorHover:i}},st="ElCarousel",ot=x({name:st}),lt=x({...ot,props:et,emits:tt,setup(a,{expose:A,emit:r}){const o=a,{root:M,activeIndex:C,arrowDisplay:w,hasLabel:s,hover:d,isCardType:b,items:h,isVertical:S,containerStyle:_,handleButtonEnter:I,handleButtonLeave:f,isTransitioning:D,handleIndicatorClick:P,handleMouseEnter:E,handleMouseLeave:k,handleTransitionEnd:G,setActiveItem:l,prev:i,next:p,PlaceholderItem:c,isTwoLengthShow:g,throttledArrowClick:$,throttledIndicatorHover:m}=at(o,r),n=Ie("carousel"),{t:U}=We(),ee=B(()=>{const v=[n.b(),n.m(o.direction)];return e(b)&&v.push(n.m("card")),v}),te=B(()=>{const v=[n.e("container")];return o.motionBlur&&e(D)&&v.push(e(S)?`${n.namespace.value}-transitioning-vertical`:`${n.namespace.value}-transitioning`),v}),ae=B(()=>{const v=[n.e("indicators"),n.em("indicators",o.direction)];return e(s)&&v.push(n.em("indicators","labels")),o.indicatorPosition==="outside"&&v.push(n.em("indicators","outside")),e(S)&&v.push(n.em("indicators","right")),v});return A({activeIndex:C,setActiveItem:l,prev:i,next:p}),(v,le)=>(N(),z("div",{ref_key:"root",ref:M,class:H(e(ee)),onMouseenter:Q(e(E),["stop"]),onMouseleave:Q(e(k),["stop"])},[e(w)?(N(),ue(ce,{key:0,name:"carousel-arrow-left",persisted:""},{default:Z(()=>[Y(L("button",{type:"button",class:H([e(n).e("arrow"),e(n).em("arrow","left")]),"aria-label":e(U)("el.carousel.leftArrow"),onMouseenter:R=>e(I)("left"),onMouseleave:e(f),onClick:Q(R=>e($)(e(C)-1),["stop"])},[X(e(ve),null,{default:Z(()=>[X(e(je))]),_:1})],42,["aria-label","onMouseenter","onMouseleave","onClick"]),[[q,(v.arrow==="always"||e(d))&&(o.loop||e(C)>0)]])]),_:1})):K("v-if",!0),e(w)?(N(),ue(ce,{key:1,name:"carousel-arrow-right",persisted:""},{default:Z(()=>[Y(L("button",{type:"button",class:H([e(n).e("arrow"),e(n).em("arrow","right")]),"aria-label":e(U)("el.carousel.rightArrow"),onMouseenter:R=>e(I)("right"),onMouseleave:e(f),onClick:Q(R=>e($)(e(C)+1),["stop"])},[X(e(ve),null,{default:Z(()=>[X(e(Je))]),_:1})],42,["aria-label","onMouseenter","onMouseleave","onClick"]),[[q,(v.arrow==="always"||e(d))&&(o.loop||e(C)Y((N(),z("li",{key:O,class:H([e(n).e("indicator"),e(n).em("indicator",v.direction),e(n).is("active",O===e(C))]),onMouseenter:se=>e(m)(O),onClick:Q(se=>e(P)(O),["stop"])},[L("button",{class:H(e(n).e("button")),"aria-label":e(U)("el.carousel.indicator",{index:O+1})},[e(s)?(N(),z("span",{key:0},Re(R.props.label),1)):K("v-if",!0)],10,["aria-label"])],42,["onMouseenter","onClick"])),[[q,e(g)(O)]])),128))],2)):K("v-if",!0),o.motionBlur?(N(),z("svg",{key:3,xmlns:"http://www.w3.org/2000/svg",version:"1.1",style:{display:"none"}},[L("defs",null,[L("filter",{id:"elCarouselHorizontal"},[L("feGaussianBlur",{in:"SourceGraphic",stdDeviation:"12,0"})]),L("filter",{id:"elCarouselVertical"},[L("feGaussianBlur",{in:"SourceGraphic",stdDeviation:"0,10"})])])])):K("v-if",!0)],42,["onMouseenter","onMouseleave"]))}});var nt=Ce(lt,[["__file","carousel.vue"]]);const rt=ye({name:{type:String,default:""},label:{type:[String,Number],default:""}}),it=(a,A)=>{const r=Fe(_e),o=he(),M=y(),C=y(!1),w=y(0),s=y(1),d=y(!1),b=y(!1),h=y(!1),S=y(!1),{isCardType:_,isVertical:I,cardScale:f}=r;function D(l,i,p){const c=p-1,g=i-1,$=i+1,m=p/2;return i===0&&l===c?-1:i===c&&l===0?p:l=m?p+1:l>$&&l-i>=m?-2:l}function P(l,i){var p,c;const g=e(I)?((p=r.root.value)==null?void 0:p.offsetHeight)||0:((c=r.root.value)==null?void 0:c.offsetWidth)||0;return h.value?g*((2-f)*(l-i)+1)/4:l{var c;const g=e(_),$=(c=r.items.value.length)!=null?c:Number.NaN,m=l===i;!g&&!Qe(p)&&(S.value=m||l===p),!m&&$>2&&r.loop&&(l=D(l,i,$));const n=e(I);d.value=m,g?(h.value=Math.round(Math.abs(l-i))<=1,w.value=P(l,i),s.value=e(d)?1:f):w.value=E(l,i,n),b.value=!0,m&&M.value&&r.setContainerHeight(M.value.offsetHeight)};function G(){if(r&&e(_)){const l=r.items.value.findIndex(({uid:i})=>i===o.uid);r.setActiveItem(l)}}return de(()=>{r.addItem({props:a,states:Ge({hover:C,translate:w,scale:s,active:d,ready:b,inStage:h,animating:S}),uid:o.uid,translateItem:k})}),Ke(()=>{r.removeItem(o.uid)}),{carouselItemRef:M,active:d,animating:S,hover:C,inStage:h,isVertical:I,translate:w,isCardType:_,scale:s,ready:b,handleItemClick:G}},ut=x({name:"ElCarouselItem"}),ct=x({...ut,props:rt,setup(a){const A=a,r=Ie("carousel"),{carouselItemRef:o,active:M,animating:C,hover:w,inStage:s,isVertical:d,translate:b,isCardType:h,scale:S,ready:_,handleItemClick:I}=it(A),f=B(()=>[r.e("item"),r.is("active",M.value),r.is("in-stage",s.value),r.is("hover",w.value),r.is("animating",C.value),{[r.em("item","card")]:h.value,[r.em("item","card-vertical")]:h.value&&d.value}]),D=B(()=>{const E=`${`translate${e(d)?"Y":"X"}`}(${e(b)}px)`,k=`scale(${e(S)})`;return{transform:[E,k].join(" ")}});return(P,E)=>Y((N(),z("div",{ref_key:"carouselItemRef",ref:o,class:H(e(f)),style:ge(e(D)),onClick:e(I)},[e(h)?Y((N(),z("div",{key:0,class:H(e(r).e("mask"))},null,2)),[[q,!e(M)]]):K("v-if",!0),pe(P.$slots,"default")],14,["onClick"])),[[q,e(_)]])}});var we=Ce(ct,[["__file","carousel-item.vue"]]);const gt=Xe(nt,{CarouselItem:we}),yt=Ye(we);export{gt as E,yt as a};