1 |
- import{d as le,v,n as x,a6 as s,u as e,aU as Ee,aV as De,o as B,c as A,N as T,A as ae,al as W,L as ue,a as d,x as Be,a1 as Ae,aO as Te,_ as xe,Z as Me,j as ke,B as Oe,F as $e,C as He,K as z,Q as je,R as qe}from"./index.b2b87cd1.js";const Ie=()=>{window.cancelAnimationFrame=(()=>window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||window.oCancelAnimationFrame||window.msCancelAnimationFrame||function(i){return window.clearTimeout(i)})(),window.requestAnimationFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(i){return window.setTimeout(i,1e3/60)}}()},Pe=(i,f)=>{if(i===f)return!0;if(i.length!==f.length)return!1;for(let o=0;o<i.length;++o)if(i[o]!==f[o])return!1;return!0};function ie(){Array.isArray||(Array.isArray=function(C){return Object.prototype.toString.call(C)==="[object Array]"});let i,f,o,c,g,F,t=1,n=arguments[0]||{},m=!1,_=arguments.length;if(typeof n=="boolean"&&(m=n,n=arguments[1]||{},t++),typeof n!="object"&&typeof n!="function"&&(n={}),t===_)return n;for(;t<_;t++)if((f=arguments[t])!=null)for(i in f)o=n[i],c=f[i],g=Array.isArray(c),m&&c&&(typeof c=="object"||g)?(g?(g=!1,F=o&&Array.isArray(o)?o:[]):F=o&&typeof o=="object"?o:{},n[i]=ie(m,F,c)):c!==void 0&&(n[i]=c);return n}var Re=Object.freeze(Object.defineProperty({__proto__:null,animationFrame:Ie,arrayEqual:Pe,copyObj:ie},Symbol.toStringTag,{value:"Module"}));const Le=["innerHTML"],We={name:"ReSeamlessScroll"},ze=le({...We,props:{data:{type:Array},classOption:{type:Object}},emits:["scrollEnd"],setup(i,{expose:f,emit:o}){const c=i,{animationFrame:g,copyObj:F}=Re;g();let t=v(0),n=v(0),m=v(0),_=v(0),C=v(0),b=v(0),M=v(0),k=v(""),S=null,N=null,O=null,Y=null,U=null,$=!1,H="ease-in",{classOption:h}=c;h.key===void 0&&(h.key=0);const V=x(`wrap${h.key}`,null),X=x(`slotList${h.key}`,null),K=x(`realBox${h.key}`,null);let Q=s(()=>e(t)<0),Z=s(()=>Math.abs(e(t))<e(b)-e(C)),oe=s(()=>({step:1,limitMoveNum:5,hoverStop:!0,direction:"top",openTouch:!0,singleHeight:0,singleWidth:0,waitTime:1e3,switchOffset:30,autoPlay:!0,navigation:!1,switchSingleStep:134,switchDelay:400,switchDisabledClass:"disabled",isSingleRemUnit:!1})),u=s(()=>F({},e(oe),h));const se=s(()=>e(Q)?"":e(u).switchDisabledClass);let re=s(()=>e(Z)?"":e(u).switchDisabledClass),ce=s(()=>({position:"absolute",margin:`${e(_)/2}px 0 0 -${e(u).switchOffset}px`,transform:"translate(-100%,-50%)"})),fe=s(()=>({position:"absolute",margin:`${e(_)/2}px 0 0 ${e(C)+e(u).switchOffset}px`,transform:"translateY(-50%)"})),j=s(()=>e(u).direction!=="bottom"&&e(u).direction!=="top"),G=s(()=>e(j)?{float:"left",overflow:"hidden"}:{overflow:"hidden"}),de=s(()=>({transform:`translate(${e(t)}px,${e(n)}px)`,transition:`all ${H} ${e(m)}ms`,overflow:"hidden"})),q=s(()=>e(u).navigation),I=s(()=>e(q)?!1:e(u).autoPlay),J=s(()=>c.data.length>=e(u).limitMoveNum),ee=s(()=>e(u).hoverStop&&e(I)&&e(J)),P=s(()=>e(u).openTouch),te=s(()=>e(u).isSingleRemUnit?parseInt(window.getComputedStyle(document.documentElement,null).fontSize):1),R=s(()=>e(u).singleWidth*e(te)),L=s(()=>e(u).singleHeight*e(te)),w=s(()=>{let a,l=e(u).step;if(e(j)?a=e(R):a=e(L),a>0&&a%l>0)throw"\u5982\u679C\u8BBE\u7F6E\u4E86\u5355\u6B65\u6EDA\u52A8\uFF0Cstep\u9700\u662F\u5355\u6B65\u5927\u5C0F\u7684\u7EA6\u6570\uFF0C\u5426\u5219\u65E0\u6CD5\u4FDD\u8BC1\u5355\u6B65\u6EDA\u52A8\u7ED3\u675F\u7684\u4F4D\u7F6E\u662F\u5426\u51C6\u786E";return l});function me(){t.value=0,n.value=0,E(),ne()}function he(){if(!!e(Q)){if(Math.abs(e(t))<e(u).switchSingleStep){t.value=0;return}t.value+=e(u).switchSingleStep}}function pe(){if(!!e(Z)){if(e(b)-e(C)+e(t)<e(u).switchSingleStep){t.value=e(C)-e(b);return}t.value-=e(u).switchSingleStep}}function E(){cancelAnimationFrame(N||"")}function ve(a){if(!e(P))return;let l;const r=a.targetTouches[0],{waitTime:p,singleHeight:D,singleWidth:be}=e(u);O={x:r.pageX,y:r.pageY},Y=e(n),U=e(t),!!D&&!!be?(l&&clearTimeout(l),l=setTimeout(()=>{E()},p+20)):E()}function we(a){if(!e(P)||a.targetTouches.length>1||a.scale&&a.scale!==1)return;const l=a.targetTouches[0],{direction:r}=e(u);let p={x:l.pageX-O.x,y:l.pageY-O.y};a.preventDefault();const D=Math.abs(p.x)<Math.abs(p.y)?1:0;D===1&&r==="bottom"||D===1&&r==="top"?n.value=Y+p.y:(D===0&&r==="left"||D===0&&r==="right")&&(t.value=U+p.x)}function ye(){if(!e(P))return;let a;const l=e(u).direction;if(m.value=50,l==="top")e(n)>0&&(n.value=0);else if(l==="bottom"){let r=e(M)/2*-1;e(n)<r&&(n.value=r)}else if(l==="left")e(t)>0&&(t.value=0);else if(l==="right"){let r=e(b)*-1;e(t)<r&&(t.value=r)}a&&clearTimeout(a),a=setTimeout(()=>{m.value=0,y()},e(m))}function ge(){e(ee)&&Fe()}function Ce(){e(ee)&&Se()}function y(){$||(N=requestAnimationFrame(function(){const a=e(M)/2,l=e(b)/2;let{direction:r,waitTime:p}=e(u);r==="top"?(Math.abs(e(n))>=a&&(o("scrollEnd"),n.value=0),n.value-=w.value):r==="bottom"?(e(n)>=0&&(o("scrollEnd"),n.value=a*-1),n.value+=w.value):r==="left"?(Math.abs(e(t))>=l&&(o("scrollEnd"),t.value=0),t.value-=w.value):r==="right"&&(e(t)>=0&&(o("scrollEnd"),t.value=l*-1),t.value+=w.value),S&&clearTimeout(S),e(L)?Math.abs(e(n))%e(L)<e(w)?S=setTimeout(()=>{y()},p):y():e(R)&&Math.abs(e(t))%e(R)<e(w)?S=setTimeout(()=>{y()},p):y()}))}function ne(){Be(()=>{const{switchDelay:a}=e(u);if(k.value="",e(j)){_.value=e(V).offsetHeight,C.value=e(V).offsetWidth;let l=e(X).offsetWidth;e(I)&&(l=l*2+1),e(K).style.width=l+"px",b.value=l}if(e(I))H="ease-in",m.value=0;else{H="linear",m.value=a;return}e(J)?(k.value=e(X).innerHTML,setTimeout(()=>{M.value=e(K).offsetHeight,y()},0)):(E(),n.value=t.value=0)})}function Se(){$=!1,y()}function Fe(){$=!0,S&&clearTimeout(S),E()}function _e(a){a.preventDefault(),!(e(u).direction==="left"||e(u).direction==="right")&&Ae(()=>{a.deltaY>0?n.value-=w.value:n.value+=w.value},50)()}return Ee(()=>{ne()}),De(()=>{E(),clearTimeout(S)}),f({reset:me}),(a,l)=>(B(),A("div",{ref:"wrap"+e(h).key},[e(q)?(B(),A("div",{key:0,style:T(e(ce)),class:ae(e(se)),onClick:he},[W(a.$slots,"left-switch")],6)):ue("",!0),e(q)?(B(),A("div",{key:1,style:T(e(fe)),class:ae(e(re)),onClick:pe},[W(a.$slots,"right-switch")],6)):ue("",!0),d("div",{ref:"realBox"+e(h).key,style:T(e(de)),onMouseenter:ge,onMouseleave:Ce,onTouchstart:ve,onTouchmove:we,onTouchend:ye,onMousewheel:_e},[d("div",{ref:"slotList"+e(h).key,style:T(e(G))},[W(a.$slots,"default")],4),d("div",{innerHTML:e(k),style:T(e(G))},null,12,Le)],36)],512))}}),Ne=Te(ze);const Ye=i=>(je("data-v-843e044c"),i=i(),qe(),i),Ue={class:"infinite"},Ve=Ye(()=>d("ul",{class:"top"},[d("li",null,"\u66F4\u65B0\u65E5\u671F"),d("li",null,"\u9879\u76EE\u540D\u79F0"),d("li",null,"Star\u6570\u91CF")],-1)),Xe={class:"item"},Ke=["textContent"],Qe=["textContent"],Ze=["textContent"],Ge=le({__name:"Infinite",setup(i){const f=x("scroll",null);let o=v([{date:"2021-09-01",name:"\u91C7\u9500bate3.0\u516C\u6D4B\u7248\u7ED3\u7B97\u5E73\u53F0",star:"1000"},{date:"2021-09-02",name:"\u91C7\u9500bate3.0\u516C\u6D4B\u7248\u7ED3\u7B97\u5E73\u53F0",star:"1100"},{date:"2021-09-03",name:"\u91C7\u9500bate3.0\u516C\u6D4B\u7248\u7ED3\u7B97\u5E73\u53F0",star:"1200"},{date:"2021-09-04",name:"\u91C7\u9500bate3.0\u516C\u6D4B\u7248\u7ED3\u7B97\u5E73\u53F0",star:"1300"},{date:"2021-09-05",name:"\u91C7\u9500bate3.0\u516C\u6D4B\u7248\u7ED3\u7B97\u5E73\u53F0",star:"1400"},{date:"2021-09-06",name:"\u91C7\u9500bate3.0\u516C\u6D4B\u7248\u7ED3\u7B97\u5E73\u53F0",star:"1500"},{date:"2021-09-07",name:"\u91C7\u9500bate3.0\u516C\u6D4B\u7248\u7ED3\u7B97\u5E73\u53F0",star:"1600"},{date:"2021-09-08",name:"\u91C7\u9500bate3.0\u516C\u6D4B\u7248\u7ED3\u7B97\u5E73\u53F0",star:"1700"},{date:"2021-09-09",name:"\u91C7\u9500bate3.0\u516C\u6D4B\u7248\u7ED3\u7B97\u5E73\u53F0",star:"1800"},{date:"2021-09-10",name:"\u91C7\u9500bate3.0\u516C\u6D4B\u7248\u7ED3\u7B97\u5E73\u53F0",star:"1900"}]),c=Me({direction:"top"});return(g,F)=>(B(),A("div",Ue,[Ve,ke(e(Ne),{ref_key:"scroll",ref:f,data:e(o),"class-option":e(c),class:"warp"},{default:Oe(()=>[d("ul",Xe,[(B(!0),A($e,null,He(e(o),(t,n)=>(B(),A("li",{key:n},[d("span",{textContent:z(t.date)},null,8,Ke),d("span",{textContent:z(t.name)},null,8,Qe),d("span",{textContent:z(t.star)},null,8,Ze)]))),128))])]),_:1},8,["data","class-option"])]))}});var et=xe(Ge,[["__scopeId","data-v-843e044c"]]);export{et as default};
|