niucloud-admin/niucloud/public/web/_nuxt/el-carousel.6c185c89.js
全栈小学生 b48bbc7d02 web
2023-05-20 19:25:52 +08:00

2 lines
8.0 KiB
JavaScript

import{af as re,aB as be,p as le,a8 as _e,N as ie,r as E,s as O,u as e,ag as H,b as ue,aC as Ee,aD as Ne,v as Se,ax as Me,a as G,q as ce,o as $,e as L,j as U,c as te,w as W,Y,y as A,ai as F,f as K,E as ae,ak as Te,Z as q,ap as se,k as R,i as Be,x as ve,z as fe,F as $e,G as Ae,t as Le,B as de,O as Oe,D as Pe,aE as Ve,aF as ze,C as De,Q as He}from"./entry.86379606.js";import{f as Fe}from"./vnode.18b2b700.js";import{t as oe}from"./throttle.c4698afb.js";const Re=(r,I,l)=>Fe(r.subTree).filter(c=>{var t;return be(c)&&((t=c.type)==null?void 0:t.name)===I&&!!c.component}).map(c=>c.component.uid).map(c=>l[c]).filter(c=>!!c),je=(r,I)=>{const l={},s=re([]);return{children:s,addChild:t=>{l[t.uid]=t,s.value=Re(r,I,l)},removeChild:t=>{delete l[t],s.value=s.value.filter(p=>p.uid!==t)}}},Ue=le({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:""},loop:{type:Boolean,default:!0},direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},pauseOnHover:{type:Boolean,default:!0}}),We={change:(r,I)=>[r,I].every(_e)},me=Symbol("carouselContextKey"),ne=300,Ke=(r,I,l)=>{const{children:s,addChild:g,removeChild:c}=je(ie(),"ElCarouselItem"),t=E(-1),p=E(null),y=E(!1),h=E(),k=O(()=>r.arrow!=="never"&&!e(b)),N=O(()=>s.value.some(a=>a.props.label.toString().length>0)),C=O(()=>r.type==="card"),b=O(()=>r.direction==="vertical"),S=oe(a=>{o(a)},ne,{trailing:!0}),_=oe(a=>{P(a)},ne);function w(){p.value&&(clearInterval(p.value),p.value=null)}function M(){r.interval<=0||!r.autoplay||p.value||(p.value=setInterval(()=>V(),r.interval))}const V=()=>{t.value<s.value.length-1?t.value=t.value+1:r.loop&&(t.value=0)};function o(a){if(Me(a)){const z=s.value.filter(j=>j.props.name===a);z.length>0&&(a=s.value.indexOf(z[0]))}if(a=Number(a),Number.isNaN(a)||a!==Math.floor(a))return;const m=s.value.length,B=t.value;a<0?t.value=r.loop?m-1:0:a>=m?t.value=r.loop?0:m-1:t.value=a,B===t.value&&i(B),Z()}function i(a){s.value.forEach((m,B)=>{m.translateItem(B,t.value,a)})}function n(a,m){var B,z,j,J;const D=e(s),x=D.length;if(x===0||!a.states.inStage)return!1;const Ce=m+1,ye=m-1,ee=x-1,Ie=D[ee].states.active,ge=D[0].states.active,we=(z=(B=D[Ce])==null?void 0:B.states)==null?void 0:z.active,ke=(J=(j=D[ye])==null?void 0:j.states)==null?void 0:J.active;return m===ee&&ge||we?"left":m===0&&Ie||ke?"right":!1}function f(){y.value=!0,r.pauseOnHover&&w()}function T(){y.value=!1,M()}function v(a){e(b)||s.value.forEach((m,B)=>{a===n(m,B)&&(m.states.hover=!0)})}function u(){e(b)||s.value.forEach(a=>{a.states.hover=!1})}function d(a){t.value=a}function P(a){r.trigger==="hover"&&a!==t.value&&(t.value=a)}function Q(){o(t.value-1)}function he(){o(t.value+1)}function Z(){w(),M()}H(()=>t.value,(a,m)=>{i(m),m>-1&&I("change",a,m)}),H(()=>r.autoplay,a=>{a?M():w()}),H(()=>r.loop,()=>{o(t.value)}),H(()=>r.interval,()=>{Z()}),H(()=>s.value,()=>{s.value.length>0&&o(r.initialIndex)});const X=re();return ue(()=>{X.value=Ee(h.value,()=>{i()}),M()}),Ne(()=>{w(),h.value&&X.value&&X.value.stop()}),Se(me,{root:h,isCardType:C,isVertical:b,items:s,loop:r.loop,addItem:g,removeItem:c,setActiveItem:o}),{root:h,activeIndex:t,arrowDisplay:k,hasLabel:N,hover:y,isCardType:C,items:s,handleButtonEnter:v,handleButtonLeave:u,handleIndicatorClick:d,handleMouseEnter:f,handleMouseLeave:T,setActiveItem:o,prev:Q,next:he,throttledArrowClick:S,throttledIndicatorHover:_}},Ye=["onMouseenter","onClick"],qe={key:0},Ge="ElCarousel",Qe=G({name:Ge}),Xe=G({...Qe,props:Ue,emits:We,setup(r,{expose:I,emit:l}){const s=r,{root:g,activeIndex:c,arrowDisplay:t,hasLabel:p,hover:y,isCardType:h,items:k,handleButtonEnter:N,handleButtonLeave:C,handleIndicatorClick:b,handleMouseEnter:S,handleMouseLeave:_,setActiveItem:w,prev:M,next:V,throttledArrowClick:o,throttledIndicatorHover:i}=Ke(s,l),n=ce("carousel"),f=O(()=>{const v=[n.b(),n.m(s.direction)];return e(h)&&v.push(n.m("card")),v}),T=O(()=>{const v=[n.e("indicators"),n.em("indicators",s.direction)];return e(p)&&v.push(n.em("indicators","labels")),(s.indicatorPosition==="outside"||e(h))&&v.push(n.em("indicators","outside")),v});return I({setActiveItem:w,prev:M,next:V}),(v,u)=>($(),L("div",{ref_key:"root",ref:g,class:A(e(f)),onMouseenter:u[6]||(u[6]=F((...d)=>e(S)&&e(S)(...d),["stop"])),onMouseleave:u[7]||(u[7]=F((...d)=>e(_)&&e(_)(...d),["stop"]))},[U("div",{class:A(e(n).e("container")),style:fe({height:v.height})},[e(t)?($(),te(se,{key:0,name:"carousel-arrow-left",persisted:""},{default:W(()=>[Y(U("button",{type:"button",class:A([e(n).e("arrow"),e(n).em("arrow","left")]),onMouseenter:u[0]||(u[0]=d=>e(N)("left")),onMouseleave:u[1]||(u[1]=(...d)=>e(C)&&e(C)(...d)),onClick:u[2]||(u[2]=F(d=>e(o)(e(c)-1),["stop"]))},[K(e(ae),null,{default:W(()=>[K(e(Te))]),_:1})],34),[[q,(v.arrow==="always"||e(y))&&(s.loop||e(c)>0)]])]),_:1})):R("v-if",!0),e(t)?($(),te(se,{key:1,name:"carousel-arrow-right",persisted:""},{default:W(()=>[Y(U("button",{type:"button",class:A([e(n).e("arrow"),e(n).em("arrow","right")]),onMouseenter:u[3]||(u[3]=d=>e(N)("right")),onMouseleave:u[4]||(u[4]=(...d)=>e(C)&&e(C)(...d)),onClick:u[5]||(u[5]=F(d=>e(o)(e(c)+1),["stop"]))},[K(e(ae),null,{default:W(()=>[K(e(Be))]),_:1})],34),[[q,(v.arrow==="always"||e(y))&&(s.loop||e(c)<e(k).length-1)]])]),_:1})):R("v-if",!0),ve(v.$slots,"default")],6),v.indicatorPosition!=="none"?($(),L("ul",{key:0,class:A(e(T))},[($(!0),L($e,null,Ae(e(k),(d,P)=>($(),L("li",{key:P,class:A([e(n).e("indicator"),e(n).em("indicator",v.direction),e(n).is("active",P===e(c))]),onMouseenter:Q=>e(i)(P),onClick:F(Q=>e(b)(P),["stop"])},[U("button",{class:A(e(n).e("button"))},[e(p)?($(),L("span",qe,Le(d.props.label),1)):R("v-if",!0)],2)],42,Ye))),128))],2)):R("v-if",!0)],34))}});var Ze=de(Xe,[["__file","/home/runner/work/element-plus/element-plus/packages/components/carousel/src/carousel.vue"]]);const Je=le({name:{type:String,default:""},label:{type:[String,Number],default:""}}),xe=(r,I)=>{const l=Oe(me),s=ie(),g=.83,c=E(!1),t=E(0),p=E(1),y=E(!1),h=E(!1),k=E(!1),N=E(!1),{isCardType:C,isVertical:b}=l;function S(o,i,n){const f=n-1,T=i-1,v=i+1,u=n/2;return i===0&&o===f?-1:i===f&&o===0?n:o<T&&i-o>=u?n+1:o>v&&o-i>=u?-2:o}function _(o,i){var n;const f=((n=l.root.value)==null?void 0:n.offsetWidth)||0;return k.value?f*((2-g)*(o-i)+1)/4:o<i?-(1+g)*f/4:(3+g)*f/4}function w(o,i,n){const f=l.root.value;return f?((n?f.offsetHeight:f.offsetWidth)||0)*(o-i):0}const M=(o,i,n)=>{var f;const T=e(C),v=(f=l.items.value.length)!=null?f:Number.NaN,u=o===i;!T&&!ze(n)&&(N.value=u||o===n),!u&&v>2&&l.loop&&(o=S(o,i,v));const d=e(b);y.value=u,T?(k.value=Math.round(Math.abs(o-i))<=1,t.value=_(o,i),p.value=e(y)?1:g):t.value=w(o,i,d),h.value=!0};function V(){if(l&&e(C)){const o=l.items.value.findIndex(({uid:i})=>i===s.uid);l.setActiveItem(o)}}return ue(()=>{l.addItem({props:r,states:Pe({hover:c,translate:t,scale:p,active:y,ready:h,inStage:k,animating:N}),uid:s.uid,translateItem:M})}),Ve(()=>{l.removeItem(s.uid)}),{active:y,animating:N,hover:c,inStage:k,isVertical:b,translate:t,isCardType:C,scale:p,ready:h,handleItemClick:V}},et=G({name:"ElCarouselItem"}),tt=G({...et,props:Je,setup(r){const I=r,l=ce("carousel"),{active:s,animating:g,hover:c,inStage:t,isVertical:p,translate:y,isCardType:h,scale:k,ready:N,handleItemClick:C}=xe(I),b=O(()=>{const _=`${`translate${e(p)?"Y":"X"}`}(${e(y)}px)`,w=`scale(${e(k)})`;return{transform:[_,w].join(" ")}});return(S,_)=>Y(($(),L("div",{class:A([e(l).e("item"),e(l).is("active",e(s)),e(l).is("in-stage",e(t)),e(l).is("hover",e(c)),e(l).is("animating",e(g)),{[e(l).em("item","card")]:e(h)}]),style:fe(e(b)),onClick:_[0]||(_[0]=(...w)=>e(C)&&e(C)(...w))},[e(h)?Y(($(),L("div",{key:0,class:A(e(l).e("mask"))},null,2)),[[q,!e(s)]]):R("v-if",!0),ve(S.$slots,"default")],6)),[[q,e(N)]])}});var pe=de(tt,[["__file","/home/runner/work/element-plus/element-plus/packages/components/carousel/src/carousel-item.vue"]]);const nt=De(Ze,{CarouselItem:pe}),rt=He(pe);export{rt as E,nt as a};