7 lines
5.3 KiB
JavaScript
7 lines
5.3 KiB
JavaScript
/*!
|
|
* @splidejs/splide-extension-auto-scroll
|
|
* Version : 0.4.2
|
|
* License : MIT
|
|
* Copyright: 2022 Naotoshi Fujita
|
|
*/(function(S){typeof define=="function"&&define.amd?define(S):S()})(function(){"use strict";function S(n){n.length=0}function I(n,t,r){return Array.prototype.slice.call(n,t,r)}function O(n){return n.bind.apply(n,[null].concat(I(arguments,1)))}function H(n){return requestAnimationFrame(n)}function $(n,t){return typeof t===n}var K=Array.isArray;O($,"function"),O($,"string"),O($,"undefined");function G(n){return K(n)?n:[n]}function Y(n,t){G(n).forEach(t)}var sn=Object.keys;function cn(n,t,r){if(n){var e=sn(n);e=r?e.reverse():e;for(var o=0;o<e.length;o++){var s=e[o];if(s!=="__proto__"&&t(n[s],s)===!1)break}}return n}function dn(n){return I(arguments,1).forEach(function(t){cn(t,function(r,e){n[e]=t[e]})}),n}var ln=Math.min;function vn(){var n=[];function t(u,c,a,d){o(u,c,function(f,v,l){var b="addEventListener"in f,p=b?f.removeEventListener.bind(f,v,a,d):f.removeListener.bind(f,a);b?f.addEventListener(v,a,d):f.addListener(a),n.push([f,v,l,a,p])})}function r(u,c,a){o(u,c,function(d,f,v){n=n.filter(function(l){return l[0]===d&&l[1]===f&&l[2]===v&&(!a||l[3]===a)?(l[4](),!1):!0})})}function e(u,c,a){var d,f=!0;return typeof CustomEvent=="function"?d=new CustomEvent(c,{bubbles:f,detail:a}):(d=document.createEvent("CustomEvent"),d.initCustomEvent(c,f,!1,a)),u.dispatchEvent(d),d}function o(u,c,a){Y(u,function(d){d&&Y(c,function(f){f.split(" ").forEach(function(v){var l=v.split(".");a(d,l[0],l[1])})})})}function s(){n.forEach(function(u){u[4]()}),S(n)}return{bind:t,unbind:r,dispatch:e,destroy:s}}var z="move",J="moved",En="updated",Q="drag",U="scroll",W="scrolled",mn="destroy";function pn(n){var t=n?n.event.bus:document.createDocumentFragment(),r=vn();function e(s,u){r.bind(t,G(s).join(" "),function(c){u.apply(u,K(c.detail)?c.detail:[])})}function o(s){r.dispatch(t,s,I(arguments,1))}return n&&n.event.on(mn,r.destroy),dn(r,{bus:t,on:e,off:O(r.unbind,t),emit:o})}function gn(n,t,r,e){var o=Date.now,s,u=0,c,a=!0,d=0;function f(){if(!a){if(u=n?ln((o()-s)/n,1):1,r&&r(u),u>=1&&(t(),s=o(),e&&++d>=e))return l();H(f)}}function v(w){!w&&p(),s=o()-(w?u*n:0),a=!1,H(f)}function l(){a=!0}function b(){s=o(),u=0,r&&r(u)}function p(){c&&cancelAnimationFrame(c),u=0,c=0,a=!0}function V(w){n=w}function D(){return a}return{start:v,rewind:b,pause:l,cancel:p,set:V,isPaused:D}}var hn="is-active",bn="slide",wn="fade";function X(n,t,r){return Array.prototype.slice.call(n,t,r)}function P(n){return n.bind.apply(n,[null].concat(X(arguments,1)))}function x(n,t){return typeof t===n}function M(n){return!Z(n)&&x("object",n)}var An=Array.isArray;P(x,"function"),P(x,"string");var yn=P(x,"undefined");function Z(n){return n===null}function Ln(n){return An(n)?n:[n]}function T(n,t){Ln(n).forEach(t)}function _n(n,t,r){n&&T(t,function(e){e&&n.classList[r?"add":"remove"](e)})}var Sn=Object.keys;function j(n,t,r){if(n){var e=Sn(n);e=r?e.reverse():e;for(var o=0;o<e.length;o++){var s=e[o];if(s!=="__proto__"&&t(n[s],s)===!1)break}}return n}function k(n){return X(arguments,1).forEach(function(t){j(t,function(r,e){n[e]=t[e]})}),n}function On(n,t){T(n,function(r){T(t,function(e){r&&r.removeAttribute(e)})})}function nn(n,t,r){M(t)?j(t,function(e,o){nn(n,o,e)}):T(n,function(e){Z(r)||r===""?On(e,t):e.setAttribute(t,String(r))})}var tn=Math.min,en=Math.max,Rn=Math.floor,Bn=Math.ceil,qn=Math.abs;function xn(n,t,r){var e=tn(t,r),o=en(t,r);return tn(en(e,n),o)}var Tn={speed:1,autoStart:!0,pauseOnHover:!0,pauseOnFocus:!0},Dn={startScroll:"Start auto scroll",pauseScroll:"Pause auto scroll"};function In(n,t,r){var e=pn(n),o=e.on,s=e.off,u=e.bind,c=e.unbind,a=t.Move,d=a.translate,f=a.getPosition,v=a.toIndex,l=a.getLimit,b=a.exceededLimit,p=t.Controller,V=p.setIndex,D=p.getIndex,w=t.Direction.orient,A=t.Elements.toggle,rn=t.Live,N=n.root,m={},E,g,C,F,R,y;function $n(){var i=r.autoScroll;m=k({},Tn,M(i)?i:{})}function on(){n.is(wn)||!E&&r.autoScroll!==!1&&(E=gn(0,Nn),Pn(),Vn())}function un(){E&&(E.cancel(),E=null,y=void 0,s([z,Q,U,J,W]),c(N,"mouseenter mouseleave focusin focusout"),c(A,"click"))}function Pn(){m.pauseOnHover&&u(N,"mouseenter mouseleave",function(i){C=i.type==="mouseenter",B()}),m.pauseOnFocus&&u(N,"focusin focusout",function(i){F=i.type==="focusin",B()}),m.useToggleButton&&u(A,"click",function(){g?L():_()}),o(En,Mn),o([z,Q,U],function(){R=!0,_(!1)}),o([J,W],function(){R=!1,B()})}function Mn(){var i=r.autoScroll;i!==!1?(m=k({},m,M(i)?i:{}),on()):un(),E&&!yn(y)&&d(y)}function Vn(){m.autoStart&&(document.readyState==="complete"?L():u(window,"load",L))}function L(){q()&&(E.start(!0),rn.disable(!0),F=C=g=!1,an())}function _(i){i===void 0&&(i=!0),g||(g=i,an(),q()||(E.pause(),rn.disable(!1)))}function B(){g||(C||F||R?_(!1):L())}function Nn(){var i=f(),h=Cn(i);i!==h?(d(h,D()!==0||!b(!0)),y=f(),Fn(y)):(_(!1),m.rewind&&n.go(0))}function Cn(i){var h=m.speed||1;return i+=w(h),n.is(bn)&&(i=xn(i,l(!1),l(!0))),i}function Fn(i){var h=n.length,fn=(v(i)+h)%h;fn!==D()&&(V(fn),t.Slides.update(),t.Pagination.update())}function an(){if(A){var i=g?"startScroll":"pauseScroll";_n(A,hn,!g),nn(A,"aria-label",r.i18n[i]||Dn[i])}}function q(){return!E||E.isPaused()}return{setup:$n,mount:on,destroy:un,play:L,pause:_,isPaused:q}}typeof window<"u"&&(window.splide=window.splide||{},window.splide.Extensions=window.splide.Extensions||{},window.splide.Extensions.AutoScroll=In)});
|