/*! * waves v0.7.4 * http://fian.my.id/waves * * copyright 2014 alfiana e. sibuea and other contributors * released under the mit license * https://github.com/fians/waves/blob/master/license */ !function(a,b){"use strict";"function"==typeof define&&define.amd?define([],function(){return b.apply(a)}):"object"==typeof exports?module.exports=b.call(a):a.waves=b.call(a)}("object"==typeof global?global:this,function(){"use strict";function a(a){return null!==a&&a===a.window}function b(b){return a(b)?b:9===b.nodetype&&b.defaultview}function c(a){var b=typeof a;return"function"===b||"object"===b&&!!a}function d(a){return c(a)&&a.nodetype>0}function e(a){var b=m.call(a);return"[object string]"===b?l(a):c(a)&&/^\[object (htmlcollection|nodelist|object)\]$/.test(b)&&a.hasownproperty("length")?a:d(a)?[a]:[]}function f(a){var c,d,e={top:0,left:0},f=a&&a.ownerdocument;return c=f.documentelement,"undefined"!=typeof a.getboundingclientrect&&(e=a.getboundingclientrect()),d=b(f),{top:e.top+d.pageyoffset-c.clienttop,left:e.left+d.pagexoffset-c.clientleft}}function g(a){var b="";for(var c in a)a.hasownproperty(c)&&(b+=c+":"+a[c]+";");return b}function h(a,b,c){if(c){c.classlist.remove("waves-rippling");var d=c.getattribute("data-x"),e=c.getattribute("data-y"),f=c.getattribute("data-scale"),h=c.getattribute("data-translate"),i=date.now()-number(c.getattribute("data-hold")),j=350-i;0>j&&(j=0),"mousemove"===a.type&&(j=150);var k="mousemove"===a.type?2500:o.duration;settimeout(function(){var a={top:e+"px",left:d+"px",opacity:"0","-webkit-transition-duration":k+"ms","-moz-transition-duration":k+"ms","-o-transition-duration":k+"ms","transition-duration":k+"ms","-webkit-transform":f+" "+h,"-moz-transform":f+" "+h,"-ms-transform":f+" "+h,"-o-transform":f+" "+h,transform:f+" "+h};c.setattribute("style",g(a)),settimeout(function(){try{b.removechild(c)}catch(a){return!1}},k)},j)}}function i(a){if(q.allowevent(a)===!1)return null;for(var b=null,c=a.target||a.srcelement;null!==c.parentelement;){if(c.classlist.contains("waves-effect")&&!(c instanceof svgelement)){b=c;break}c=c.parentelement}return b}function j(a){var b=i(a);if(null!==b){if(b.disabled||b.getattribute("disabled")||b.classlist.contains("disabled"))return;if(q.registerevent(a),"touchstart"===a.type&&o.delay){var c=!1,d=settimeout(function(){d=null,o.show(a,b)},o.delay),e=function(e){d&&(cleartimeout(d),d=null,o.show(a,b)),c||(c=!0,o.hide(e,b))},f=function(a){d&&(cleartimeout(d),d=null),e(a)};b.addeventlistener("touchmove",f,!1),b.addeventlistener("touchend",e,!1),b.addeventlistener("touchcancel",e,!1)}else o.show(a,b),n&&(b.addeventlistener("touchend",o.hide,!1),b.addeventlistener("touchcancel",o.hide,!1)),b.addeventlistener("mouseup",o.hide,!1),b.addeventlistener("mouseleave",o.hide,!1)}}var k=k||{},l=document.queryselectorall.bind(document),m=object.prototype.tostring,n="ontouchstart"in window,o={duration:750,delay:200,show:function(a,b,c){if(2===a.button)return!1;b=b||this;var d=document.createelement("div");d.classname="waves-ripple waves-rippling",b.appendchild(d);var e=f(b),h=0,i=0;"touches"in a&&a.touches.length?(h=a.touches[0].pagey-e.top,i=a.touches[0].pagex-e.left):(h=a.pagey-e.top,i=a.pagex-e.left),i=i>=0?i:0,h=h>=0?h:0;var j="scale("+b.clientwidth/100*3+")",k="translate(0,0)";c&&(k="translate("+c.x+"px, "+c.y+"px)"),d.setattribute("data-hold",date.now()),d.setattribute("data-x",i),d.setattribute("data-y",h),d.setattribute("data-scale",j),d.setattribute("data-translate",k);var l={top:h+"px",left:i+"px"};d.classlist.add("waves-notransition"),d.setattribute("style",g(l)),d.classlist.remove("waves-notransition"),l["-webkit-transform"]=j+" "+k,l["-moz-transform"]=j+" "+k,l["-ms-transform"]=j+" "+k,l["-o-transform"]=j+" "+k,l.transform=j+" "+k,l.opacity="1";var m="mousemove"===a.type?2500:o.duration;l["-webkit-transition-duration"]=m+"ms",l["-moz-transition-duration"]=m+"ms",l["-o-transition-duration"]=m+"ms",l["transition-duration"]=m+"ms",d.setattribute("style",g(l))},hide:function(a,b){b=b||this;for(var c=b.getelementsbyclassname("waves-rippling"),d=0,e=c.length;e>d;d++)h(a,b,c[d])}},p={input:function(a){var b=a.parentnode;if("i"!==b.tagname.tolowercase()||!b.classlist.contains("waves-effect")){var c=document.createelement("i");c.classname=a.classname+" waves-input-wrapper",a.classname="waves-button-input",b.replacechild(c,a),c.appendchild(a);var d=window.getcomputedstyle(a,null),e=d.color,f=d.backgroundcolor;c.setattribute("style","color:"+e+";background:"+f),a.setattribute("style","background-color:rgba(0,0,0,0);")}},img:function(a){var b=a.parentnode;if("i"!==b.tagname.tolowercase()||!b.classlist.contains("waves-effect")){var c=document.createelement("i");b.replacechild(c,a),c.appendchild(a)}}},q={touches:0,allowevent:function(a){var b=!0;return/^(mousedown|mousemove)$/.test(a.type)&&q.touches&&(b=!1),b},registerevent:function(a){var b=a.type;"touchstart"===b?q.touches+=1:/^(touchend|touchcancel)$/.test(b)&&settimeout(function(){q.touches&&(q.touches-=1)},500)}};return k.init=function(a){var b=document.body;a=a||{},"duration"in a&&(o.duration=a.duration),"delay"in a&&(o.delay=a.delay),n&&(b.addeventlistener("touchstart",j,!1),b.addeventlistener("touchcancel",q.registerevent,!1),b.addeventlistener("touchend",q.registerevent,!1)),b.addeventlistener("mousedown",j,!1)},k.attach=function(a,b){a=e(a),"[object array]"===m.call(b)&&(b=b.join(" ")),b=b?" "+b:"";for(var c,d,f=0,g=a.length;g>f;f++)c=a[f],d=c.tagname.tolowercase(),-1!==["input","img"].indexof(d)&&(p[d](c),c=c.parentelement),-1===c.classname.indexof("waves-effect")&&(c.classname+=" waves-effect"+b)},k.ripple=function(a,b){a=e(a);var c=a.length;if(b=b||{},b.wait=b.wait||0,b.position=b.position||null,c)for(var d,g,h,i={},j=0,k={type:"mousedown",button:1},l=function(a,b){return function(){o.hide(a,b)}};c>j;j++)if(d=a[j],g=b.position||{x:d.clientwidth/2,y:d.clientheight/2},h=f(d),i.x=h.left+g.x,i.y=h.top+g.y,k.pagex=i.x,k.pagey=i.y,o.show(k,d),b.wait>=0&&null!==b.wait){var m={type:"mouseup",button:1};settimeout(l(m,d),b.wait)}},k.calm=function(a){a=e(a);for(var b={type:"mouseup",button:1},c=0,d=a.length;d>c;c++)o.hide(b,a[c])},k.displayeffect=function(a){k.init(a)},k}); //# sourcemappingurl=waves.min.js.map