You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

3 lines
5.4 KiB

/*! UIkit 3.0.0-rc.17 | http://www.getuikit.com | (c) 2014 - 2018 YOOtheme | MIT License */
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("uikit-util")):"function"==typeof define&&define.amd?define("uikitslider_parallax",["uikit-util"],t):e.UIkitSlider_parallax=t(e.UIkit.util)}(this,function(b){"use strict";var e={props:{media:Boolean},data:{media:!1},computed:{matchMedia:function(){var e=function(e){if(b.isString(e))if("@"===e[0]){var t="breakpoint-"+e.substr(1);e=b.toFloat(b.getCssVar(t))}else if(isNaN(e))return e;return!(!e||isNaN(e))&&"(min-width: "+e+"px)"}(this.media);return!e||window.matchMedia(e).matches}}};var t=["x","y","bgx","bgy","rotate","scale","color","backgroundColor","borderColor","opacity","blur","hue","grayscale","invert","saturate","sepia","fopacity"];function v(e,t){var i=e.length-1,r=Math.min(Math.floor(i*t),i-1),n=e.slice(r,r+2);return n.push(1===t?1:t%(1/i)*i),n}function k(e,t,i){void 0===i&&(i=2);var r=v(e,t),n=r[0],a=r[1],s=r[2];return(b.isNumber(n)?n+Math.abs(n-a)*s*(n<a?1:-1):+a).toFixed(i)}var i={mixins:[{mixins:[e],props:t.reduce(function(e,t){return e[t]="list",e},{}),data:t.reduce(function(e,t){return e[t]=void 0,e},{}),computed:{props:function(h,p){var m=this;return t.reduce(function(e,t){if(b.isUndefined(h[t]))return e;var i,r,n,a=t.match(/color/i),s=a||"opacity"===t,o=h[t].slice(0);s&&b.css(p,t,""),o.length<2&&o.unshift(("scale"===t?1:s?b.css(p,t):0)||0);var c=b.includes(o.join(""),"%")?"%":"px";if(a){var u=p.style.color;o=o.map(function(e){return t=p,i=e,b.css(b.css(t,"color",i),"color").split(/[(),]/g).slice(1,-1).concat(1).slice(0,4).map(function(e){return b.toFloat(e)});var t,i}),p.style.color=u}else o=o.map(b.toFloat);if(t.match(/^bg/))if(b.css(p,"background-position-"+t[2],""),r=b.css(p,"backgroundPosition").split(" ")["x"===t[2]?0:1],m.covers){var l=Math.min.apply(Math,o),d=Math.max.apply(Math,o),f=o.indexOf(l)<o.indexOf(d);n=d-l,o=o.map(function(e){return e-(f?l:d)}),i=(f?-n:0)+"px"}else i=r;return e[t]={steps:o,unit:c,pos:i,bgPos:r,diff:n},e},{})},bgProps:function(){var t=this;return["bgx","bgy"].filter(function(e){return e in t.props})},covers:function(e,t){return r=(i=t).style.backgroundSize,n="cover"===b.css(b.css(i,"backgroundSize",""),"backgroundSize"),i.style.backgroundSize=r,n;var i,r,n}},disconnected:function(){delete this._image},update:{read:function(e){var t=this;if(e.active=this.matchMedia,e.dimEl={width:this.$el.offsetWidth,height:this.$el.offsetHeight},!("image"in e)&&this.covers&&this.bgProps.length){var i=b.css(this.$el,"backgroundImage").replace(/^none|url\(["']?(.+?)["']?\)$/,"$1");if(i){var r=new Image;r.src=i,(e.image=r).naturalWidth||(r.onload=function(){return t.$emit()})}}},write:function(e){var c=this,u=e.dimEl,t=e.image,i=e.active;if(t&&t.naturalWidth)if(i){var l={width:t.naturalWidth,height:t.naturalHeight},d=b.Dimensions.cover(l,u);this.bgProps.forEach(function(e){var t=c.props[e],i=t.diff,r=t.bgPos,n=t.steps,a="bgy"===e?"height":"width",s=d[a]-u[a];if(r.match(/%$|0px/)){if(s<i)u[a]=d[a]+i-s;else if(i<s){var o=parseFloat(r);o&&(c.props[e].steps=n.map(function(e){return e-(s-i)/(100/o)}))}d=b.Dimensions.cover(l,u)}}),b.css(this.$el,{backgroundSize:d.width+"px "+d.height+"px",backgroundRepeat:"no-repeat"})}else b.css(this.$el,{backgroundSize:"",backgroundRepeat:""})},events:["load","resize"]},methods:{reset:function(){var i=this;b.each(this.getCss(0),function(e,t){return b.css(i.$el,t,"")})},getCss:function(p){var m=this.props,g=!1;return Object.keys(m).reduce(function(e,t){var i=m[t],r=i.steps,n=i.unit,a=i.pos,s=k(r,p);switch(t){case"x":case"y":if(g)break;var o=["x","y"].map(function(e){return t===e?b.toFloat(s).toFixed(0)+n:m[e]?k(m[e].steps,p,0)+m[e].unit:0}),c=o[0],u=o[1];g=e.transform+=" translate3d("+c+", "+u+", 0)";break;case"rotate":e.transform+=" rotate("+s+"deg)";break;case"scale":e.transform+=" scale("+s+")";break;case"bgy":case"bgx":e["background-position-"+t[2]]="calc("+a+" + "+(s+n)+")";break;case"color":case"backgroundColor":case"borderColor":var l=v(r,p),d=l[0],f=l[1],h=l[2];e[t]="rgba("+d.map(function(e,t){return e+=h*(f[t]-e),3===t?b.toFloat(e):parseInt(e,10)}).join(",")+")";break;case"blur":e.filter+=" blur("+s+"px)";break;case"hue":e.filter+=" hue-rotate("+s+"deg)";break;case"fopacity":e.filter+=" opacity("+s+"%)";break;case"grayscale":case"invert":case"saturate":case"sepia":e.filter+=" "+t+"("+s+"%)";break;default:e[t]=s}return e},{transform:"",filter:""})}}}],data:{selItem:"!li"},computed:{item:function(e,t){var i=e.selItem;return b.query(i,t)}},events:[{name:"itemshown",self:!0,el:function(){return this.item},handler:function(){b.css(this.$el,this.getCss(.5))}},{name:"itemin itemout",self:!0,el:function(){return this.item},handler:function(e){var t=e.type,i=e.detail,r=i.percent,n=i.duration,a=i.timing,s=i.dir;b.Transition.cancel(this.$el),b.css(this.$el,this.getCss(c(t,s,r))),b.Transition.start(this.$el,this.getCss(o(t)?.5:0<s?1:0),n,a).catch(b.noop)}},{name:"transitioncanceled transitionend",self:!0,el:function(){return this.item},handler:function(){b.Transition.cancel(this.$el)}},{name:"itemtranslatein itemtranslateout",self:!0,el:function(){return this.item},handler:function(e){var t=e.type,i=e.detail,r=i.percent,n=i.dir;b.Transition.cancel(this.$el),b.css(this.$el,this.getCss(c(t,n,r)))}}]};function o(e){return b.endsWith(e,"in")}function c(e,t,i){return i/=2,o(e)?t<0?1-i:i:t<0?i:1-i}return"undefined"!=typeof window&&window.UIkit&&window.UIkit.component("sliderParallax",i),i});