vue-scroller-next
Version:
A scroller for vue 3
2 lines • 5.94 kB
JavaScript
(function(e,t){"object"===typeof exports&&"object"===typeof module?module.exports=t(require("vue")):"function"===typeof define&&define.amd?define([],t):"object"===typeof exports?exports["vue-scroller-next"]=t(require("vue")):e["vue-scroller-next"]=t(e["Vue"])})("undefined"!==typeof self?self:this,(function(e){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s="fb15")}({8875:function(e,t,n){var r,o,u;(function(n,i){o=[],r=i,u="function"===typeof r?r.apply(t,o):r,void 0===u||(e.exports=u)})("undefined"!==typeof self&&self,(function(){function e(){var t=Object.getOwnPropertyDescriptor(document,"currentScript");if(!t&&"currentScript"in document&&document.currentScript)return document.currentScript;if(t&&t.get!==e&&document.currentScript)return document.currentScript;try{throw new Error}catch(p){var n,r,o,u=/.*at [^(]*\((.*):(.+):(.+)\)$/gi,i=/@([^@]*):(\d+):(\d+)\s*$/gi,c=u.exec(p.stack)||i.exec(p.stack),a=c&&c[1]||!1,l=c&&c[2]||!1,d=document.location.href.replace(document.location.hash,""),s=document.getElementsByTagName("script");a===d&&(n=document.documentElement.outerHTML,r=new RegExp("(?:[^\\n]+?\\n){0,"+(l-2)+"}[^<]*<script>([\\d\\D]*?)<\\/script>[\\d\\D]*","i"),o=n.replace(r,"$1").trim());for(var f=0;f<s.length;f++){if("interactive"===s[f].readyState)return s[f];if(s[f].src===a)return s[f];if(a===d&&s[f].innerHTML&&s[f].innerHTML.trim()===o)return s[f]}return null}}return e}))},"8bbf":function(t,n){t.exports=e},fb15:function(e,t,n){"use strict";if(n.r(t),"undefined"!==typeof window){var r=window.document.currentScript,o=n("8875");r=o(),"currentScript"in document||Object.defineProperty(document,"currentScript",{get:o});var u=r&&r.src.match(/(.+\/)[^/]+\.js(\?.*)?$/);u&&(n.p=u[1])}var i=n("8bbf");function c(e,t,n,r,o,u){const c=Object(i["resolveComponent"])("scrollChild");return Object(i["openBlock"])(),Object(i["createBlock"])("div",{style:e.outerHeight,onMouseenter:t[1]||(t[1]=(...t)=>e.handleMouEn&&e.handleMouEn(...t)),onMouseleave:t[2]||(t[2]=(...t)=>e.handleMouOut&&e.handleMouOut(...t))},[Object(i["createVNode"])(c,{height:e.height,data:e.data,ease:e.ease,isFirst:!1,isHover:e.isHover,speed:e.speed,"hold-up":e.holdUp,"show-line":e.showLine},{default:Object(i["withCtx"])(()=>[Object(i["renderSlot"])(e.$slots,"default")]),_:3},8,["height","data","ease","isHover","speed","hold-up","show-line"]),Object(i["createVNode"])(c,{height:e.height,data:e.data,ease:e.ease,isFirst:!0,isHover:e.isHover,speed:e.speed,"hold-up":e.holdUp,"show-line":e.showLine},{default:Object(i["withCtx"])(()=>[Object(i["renderSlot"])(e.$slots,"default")]),_:3},8,["height","data","ease","isHover","speed","hold-up","show-line"])],36)}function a(e,t,n,r,o,u){return Object(i["openBlock"])(),Object(i["createBlock"])("div",{ref:"scrollBox",style:e.trans},[Object(i["renderSlot"])(e.$slots,"default")],4)}var l=Object(i["defineComponent"])({name:"scrollChild",props:{height:{default:function(){return 18},type:Number},data:{default:function(){return[]},type:Array},ease:{default:function(){return!1},type:Boolean},isFirst:{default:function(){return!0},type:Boolean},isHover:{default:function(){return!1},type:Boolean},speed:{default:function(){return 1e3},type:Number},holdUp:{default:function(){return 1e3},type:Number},showLine:{default:function(){return 1},type:Number}},setup:function(e){var t,n=Object(i["ref"])(0),r="ease-in-out",o="cubic-bezier(0.44, 0.44, 0.61, 0.63)",u=e.data.length*e.height+e.showLine*e.height-e.showLine*e.height,c=Object(i["computed"])((function(){return{transform:"translate(0, "+n.value+"px)",transition:"transform "+e.speed+"ms "+(e.ease?r:o)+" "+e.holdUp+"ms",overflow:"hidden",position:"relative",top:"-"+u+"px",display:"flex",flexDirection:"column-reverse",justifyContent:"flex-end"}})),a=function(){e.data.length<=e.showLine||(n.value+=e.height,e.isHover||(t=setTimeout(a,e.speed+e.holdUp)))};return Object(i["watch"])(n,(function(){var t=e.isFirst?u:u+e.data.length*e.height;n.value>t&&(u+=e.data.length*e.height*2)})),Object(i["onMounted"])((function(){a(),document.addEventListener("visibilitychange",(function(){"hidden"===document.visibilityState?clearTimeout(t):"visible"===document.visibilityState&&a()}))})),Object(i["watch"])(e,(function(){e.isHover?e.isHover&&clearTimeout(t):a()})),{trans:c}}});l.render=a;var d=l,s=Object(i["defineComponent"])({name:"Scroll",components:{scrollChild:d},props:{height:{default:function(){return 18},type:Number},data:{default:function(){return[]},type:Array},ease:{default:function(){return!1},type:Boolean},speed:{default:function(){return 1e3},type:Number},holdUp:{default:function(){return 1e3},type:Number},showLine:{default:function(){return 1},type:Number}},setup:function(e){var t=Object(i["ref"])(!1),n=Object(i["computed"])((function(){return{height:e.showLine*e.height+"px",overflow:"hidden"}})),r=function(){t.value=!0},o=function(){t.value=!1};return{isHover:t,handleMouEn:r,handleMouOut:o,outerHeight:n}}});s.render=c;var f=s;f.install=function(e){e.component(f.name,f)};var p=f;t["default"]=p}})}));
//# sourceMappingURL=vue-scroller-next.umd.min.js.map