splide-renderer.min.js 7.8 KB

1234567
  1. /*!
  2. * Splide.js
  3. * Version : 3.0.0
  4. * License : MIT
  5. * Copyright: 2021 Naotoshi Fujita
  6. */
  7. var t,i;t=this,i=function(){"use strict";var e="rtl",s="ttb",o={marginRight:["marginBottom","marginLeft"],autoWidth:["autoHeight"],fixedWidth:["fixedHeight"],paddingLeft:["paddingTop","paddingRight"],paddingRight:["paddingBottom","paddingLeft"],width:["height"],left:["top","right"],right:["bottom","left"],x:["y"],X:["Y"],Y:["X"],ArrowLeft:["ArrowUp","ArrowRight"],ArrowRight:["ArrowDown","ArrowLeft"]};function u(t,i,r){return{resolve:function(t,i){var n=r.direction;return o[t][n!==e||i?n===s?0:-1:1]||t},orient:function(t){return t*(r.direction===e?1:-1)}}}var n="splide",r=n,a=n+"__track",f=n+"__list",h=n+"__slide",c=h+"--clone",t=n+"__arrow",i=n+"__pagination",d="is-initialized",l="is-active",p={type:"slide",speed:400,waitForTransition:!0,perPage:1,arrows:!0,pagination:!0,interval:5e3,pauseOnHover:!0,pauseOnFocus:!0,resetProgress:!0,easing:"cubic-bezier(.42,.65,.27,.99)",drag:!0,direction:"ltr",slideFocus:!0,trimSpace:!0,focusableNodes:"a, button, textarea, input, select, iframe",classes:{slide:h,clone:c,arrows:n+"__arrows",arrow:t,prev:t+"--prev",next:t+"--next",pagination:i,page:i+"__page",spinner:n+"__spinner"},i18n:{prev:"Previous slide",next:"Next slide",first:"Go to first slide",last:"Go to last slide",slideX:"Go to slide %s",pageX:"Go to page %s",play:"Start autoplay",pause:"Pause autoplay"}};function v(t){return null!==t&&"object"==typeof t}function g(t){return Array.isArray(t)}function _(t){return g(t)?t:[t]}function w(t,i){_(t).forEach(i)}function m(t,i){return t.push.apply(t,_(i)),t}var y=Array.prototype;function b(t,i,n){return y.slice.call(t,i,n)}function x(t,i){return t?b(t.children).filter(function(t){return((t=t).msMatchesSelector||t.matches).call(t,i)}):[]}function A(t,i){if(t)for(var n=Object.keys(t),r=0;r<n.length;r++){var e=n[r];if("__proto__"!==e&&!1===i(t[e],e))break}return t}function R(n,t){return A(t,function(t,i){g(t)?n[i]=t.slice():v(t)?n[i]=R(v(n[i])?n[i]:{},t):n[i]=t}),n}function L(t){w(t,function(t){t&&t.parentNode&&t.parentNode.removeChild(t)})}function M(t){return"string"==typeof t?t:t?t+"px":""}function P(t,i){if(void 0===i&&(i=""),!t)throw new Error("["+n+"] "+i)}Math.min;var X=Math.max;Math.floor,Math.ceil,Math.abs;var j={};function G(t){var r=t.event,e={},s=[];function i(t,i){o(t,i,function(i,n){s=s.filter(function(t){return t[0]!==i||t[1]!==n||(i.removeEventListener(n,t[2],t[3]),!1)})})}function o(t,i,n){w(t,function(t){t&&i.split(" ").forEach(n.bind(null,t))})}function n(){s=s.filter(function(t){return i(t[0],t[1])}),r.offBy(e)}return r.on("destroy",n,e),{on:function(t,i,n){r.on(t,i,e,n)},off:function(t){r.off(t,e)},emit:r.emit,bind:function(t,i,n,r){o(t,i,function(t,i){s.push([t,i,n,r]),t.addEventListener(i,n,r)})},unbind:i,destroy:n}}var O=function(){function t(t,i){this.styles={},this.id=t,this.options=i}var i=t.prototype;return i.rule=function(t,i,n,r){r=this.styles[r=r||"default"]=this.styles[r]||{};(r[t]=r[t]||{})[i]=n},i.build=function(){var n=this,i="";return this.styles.default&&(i+=this.buildSelectors(this.styles.default)),Object.keys(this.styles).sort(function(t,i){return"min"===n.options.mediaQuery?+t-+i:+i-+t}).forEach(function(t){"default"!==t&&(i+="@media screen and (max-width: "+t+"px) {",i+=n.buildSelectors(n.styles[t]),i+="}")}),i},i.buildSelectors=function(t){var n=this,r="";return A(t,function(t,i){r+="#"+n.id+" "+i+" {",A(t,function(t,i){!t&&0!==t||(r+=i+": "+t+";")}),r+="}"}),r},t}();return function(){function t(t,i,n,r){void 0===r&&(r={}),this.options={},this.breakpoints=[],R(p,r),R(R(this.options,p),i||{}),this.id=n||(n="splide")+((n=j[n]=(j[n]||0)+1)<10?"0"+n:""+n),this.contents=t,this.Style=new O(this.id,this.options),this.Direction=u(0,0,this.options),P(this.contents.length,"Provide at least 1 content."),this.init()}var i=t.prototype;return i.init=function(){this.parseBreakpoints(),this.generateSlides(),this.registerRootStyles(),this.registerTrackStyles(),this.registerSlideStyles(),this.registerListStyles()},i.generateSlides=function(){var n=this;this.slides=this.contents.map(function(t,i){return'<li class="'+n.options.classes.slide+" "+(0===i?l:"")+'">'+t+"</li>"}),this.isLoop()&&this.generateClones()},i.generateClones=function(){for(var n=this,r=this.options.classes,e=this.getCloneCount(),t=this.contents.slice();t.length<e;)m(t,t);m(t.slice(-e).reverse(),t.slice(0,e)).forEach(function(t,i){t='<li class="'+r.slide+" "+r.clone+'">'+t+"</li>";i<e?n.slides.unshift(t):n.slides.push(t)})},i.getCloneCount=function(){if(this.isLoop()){var t=this.options;return t.clones?t.clones:X.apply(void 0,this.breakpoints.map(function(t){return t[1].perPage}))*((t.flickMaxPages||1)+1)}return 0},i.registerRootStyles=function(){var n=this;this.breakpoints.forEach(function(t){var i=t[0],t=t[1];n.Style.rule(" ","max-width",M(t.width),i)})},i.registerTrackStyles=function(){var n=this,r=this.Style,e="."+a;this.breakpoints.forEach(function(t){var i=t[0],t=t[1];r.rule(e,n.resolve("paddingLeft"),n.cssPadding(t,!1),i),r.rule(e,n.resolve("paddingRight"),n.cssPadding(t,!0),i),r.rule(e,"height",n.cssTrackHeight(t),i)})},i.registerListStyles=function(){var r=this,e=this.Style,s=this.Direction,o="."+f;this.breakpoints.forEach(function(t){var i=t[0],n=t[1],t=r.calcOffsetPercent(n);e.rule(o,"transform","translate"+s.resolve("X")+"("+t+"%)",i),e.rule(o,r.resolve("left"),r.cssOffsetLeft(n),i)})},i.registerSlideStyles=function(){var n=this,r=this.Style,e="."+h;this.breakpoints.forEach(function(t){var i=t[0],t=t[1];r.rule(e,"width",n.cssSlideWidth(t),i),r.rule(e,"height",n.cssSlideHeight(t),i),r.rule(e,n.resolve("marginRight"),M(t.gap)||"0px",i)})},i.calcOffsetPercent=function(t){var i=100/t.perPage,n=i*this.getCloneCount();return"center"===t.focus&&(!this.isLoop()&&this.options.trimSpace||(n-=50-i/2)),this.Direction.orient(n)},i.cssOffsetLeft=function(t){if(this.isLoop()&&t.gap){var i=t.perPage,n=M(t.gap)||"0px",r="-"+n+" * "+this.getCloneCount()/i;return"center"===t.focus&&1<i?"calc( "+r+" + "+n+" / 4)":"calc("+r+")"}return""},i.resolve=function(t){return this.Direction.resolve(t).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()},i.cssPadding=function(t,i){t=t.padding,i=this.Direction.resolve(i?"right":"left",!0);return t?M(t[i]||(v(t)?"0":t)):"0"},i.cssTrackHeight=function(t){var i,n="";return this.isVertical()&&(P(n=this.cssHeight(t),'"height" is missing.'),i=this.cssPadding(t,!1),t=this.cssPadding(t,!0),(i||t)&&(n="calc("+n,n+=(i?" - "+i:"")+(t?" - "+t:"")+")")),n},i.cssHeight=function(t){return M(t.height)},i.cssSlideWidth=function(t){return t.autoWidth?"":M(t.fixedWidth)||(this.isVertical()?"":this.cssSlideSize(t))},i.cssSlideHeight=function(t){return M(t.fixedHeight)||(this.isVertical()?t.autoHeight?"":this.cssSlideSize(t):this.cssHeight(t))},i.cssSlideSize=function(t){var i=M(t.gap);return"calc((100%"+(i&&" + "+i)+")/"+(t.perPage||1)+(i&&" - "+i)+")"},i.parseBreakpoints=function(){var n=this,t=this.options.breakpoints;this.breakpoints.push(["default",this.options]),t&&A(t,function(t,i){n.breakpoints.push([i,R(R({},n.options),t)])})},i.isLoop=function(){return"loop"===this.options.type},i.isVertical=function(){return this.options.direction===s},i.buildClasses=function(){var t=this.options;return[r,r+"--"+t.type,r+"--"+t.direction,l,d].filter(Boolean).join(" ")},i.html=function(){var t="";return t+='<div id="'+this.id+'" class="'+this.buildClasses()+'">',t+="<style>"+this.Style.build()+"</style>",t+='<div class="splide__track">',t+='<ul class="splide__list">',t+=this.slides.join(""),t+="</ul>",t+="</div>",t+="</div>"},i.clean=function(t){var i=G(t).on,n=t.root,t=(t="."+c,b(n.querySelectorAll(t)));i("mounted",function(){var t,i;L((t=n,(i="style")?x(t,i)[0]:t.firstElementChild))}),L(t)},t}()},"object"==typeof exports&&"undefined"!=typeof module?module.exports=i():"function"==typeof define&&define.amd?define(i):(t="undefined"!=typeof globalThis?globalThis:t||self).SplideRenderer=i();