node-waves
Advanced tools
Comparing version 0.7.5 to 0.7.6
@@ -8,3 +8,3 @@ { | ||
"description": "Click effect inspired by Google's Material Design", | ||
"main": ["dist/waves.min.js", "dist/waves.min.css"], | ||
"main": ["dist/waves.js", "dist/waves.css"], | ||
"keywords": [ | ||
@@ -11,0 +11,0 @@ "click", |
/*! | ||
* Waves v0.7.5 | ||
* Waves v0.7.6 | ||
* http://fian.my.id/Waves | ||
* | ||
* Copyright 2014-2016 Alfiana E. Sibuea and other contributors | ||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors | ||
* Released under the MIT license | ||
@@ -17,3 +17,4 @@ * https://github.com/fians/Waves/blob/master/LICENSE | ||
define([], function() { | ||
return factory.apply(window); | ||
window.Waves = factory.call(window); | ||
return window.Waves; | ||
}); | ||
@@ -191,2 +192,10 @@ } | ||
} | ||
if (isTouchAvailable) { | ||
element.removeEventListener('touchend', Effect.hide); | ||
element.removeEventListener('touchcancel', Effect.hide); | ||
} | ||
element.removeEventListener('mouseup', Effect.hide); | ||
element.removeEventListener('mouseleave', Effect.hide); | ||
} | ||
@@ -368,4 +377,4 @@ }; | ||
while (target.parentElement !== null) { | ||
if (target.classList.contains('waves-effect') && (!(target instanceof SVGElement))) { | ||
while (target.parentElement) { | ||
if ( (!(target instanceof SVGElement)) && target.classList.contains('waves-effect')) { | ||
element = target; | ||
@@ -423,2 +432,4 @@ break; | ||
} | ||
removeListeners(); | ||
}; | ||
@@ -432,2 +443,4 @@ | ||
hideEffect(moveEvent); | ||
removeListeners(); | ||
}; | ||
@@ -439,2 +452,7 @@ | ||
var removeListeners = function() { | ||
element.removeEventListener('touchmove', touchMove); | ||
element.removeEventListener('touchend', hideEffect); | ||
element.removeEventListener('touchcancel', hideEffect); | ||
}; | ||
} else { | ||
@@ -441,0 +459,0 @@ |
@@ -1,10 +0,2 @@ | ||
/*! | ||
* Waves v0.7.5 | ||
* http://fian.my.id/Waves | ||
* | ||
* Copyright 2014-2016 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 (Array|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}); | ||
!function(t,e){"use strict";"function"==typeof define&&define.amd?define([],function(){return t.Waves=e.call(t),t.Waves}):"object"==typeof exports?module.exports=e.call(t):t.Waves=e.call(t)}("object"==typeof global?global:this,function(){"use strict";function t(t){return null!==t&&t===t.window}function e(e){return t(e)?e:9===e.nodeType&&e.defaultView}function n(t){var e=typeof t;return"function"===e||"object"===e&&!!t}function o(t){return n(t)&&t.nodeType>0}function a(t){var e=f.call(t);return"[object String]"===e?d(t):n(t)&&/^\[object (Array|HTMLCollection|NodeList|Object)\]$/.test(e)&&t.hasOwnProperty("length")?t:o(t)?[t]:[]}function i(t){var n,o,a={top:0,left:0},i=t&&t.ownerDocument;return n=i.documentElement,void 0!==t.getBoundingClientRect&&(a=t.getBoundingClientRect()),o=e(i),{top:a.top+o.pageYOffset-n.clientTop,left:a.left+o.pageXOffset-n.clientLeft}}function r(t){var e="";for(var n in t)t.hasOwnProperty(n)&&(e+=n+":"+t[n]+";");return e}function s(t,e,n){if(n){n.classList.remove("waves-rippling");var o=n.getAttribute("data-x"),a=n.getAttribute("data-y"),i=n.getAttribute("data-scale"),s=n.getAttribute("data-translate"),u=350-(Date.now()-Number(n.getAttribute("data-hold")));u<0&&(u=0),"mousemove"===t.type&&(u=150);var c="mousemove"===t.type?2500:v.duration;setTimeout(function(){var t={top:a+"px",left:o+"px",opacity:"0","-webkit-transition-duration":c+"ms","-moz-transition-duration":c+"ms","-o-transition-duration":c+"ms","transition-duration":c+"ms","-webkit-transform":i+" "+s,"-moz-transform":i+" "+s,"-ms-transform":i+" "+s,"-o-transform":i+" "+s,transform:i+" "+s};n.setAttribute("style",r(t)),setTimeout(function(){try{e.removeChild(n)}catch(t){return!1}},c)},u)}}function u(t){if(!1===h.allowEvent(t))return null;for(var e=null,n=t.target||t.srcElement;n.parentElement;){if(!(n instanceof SVGElement)&&n.classList.contains("waves-effect")){e=n;break}n=n.parentElement}return e}function c(t){var e=u(t);if(null!==e){if(e.disabled||e.getAttribute("disabled")||e.classList.contains("disabled"))return;if(h.registerEvent(t),"touchstart"===t.type&&v.delay){var n=!1,o=setTimeout(function(){o=null,v.show(t,e)},v.delay),a=function(a){o&&(clearTimeout(o),o=null,v.show(t,e)),n||(n=!0,v.hide(a,e)),r()},i=function(t){o&&(clearTimeout(o),o=null),a(t),r()};e.addEventListener("touchmove",i,!1),e.addEventListener("touchend",a,!1),e.addEventListener("touchcancel",a,!1);var r=function(){e.removeEventListener("touchmove",i),e.removeEventListener("touchend",a),e.removeEventListener("touchcancel",a)}}else v.show(t,e),m&&(e.addEventListener("touchend",v.hide,!1),e.addEventListener("touchcancel",v.hide,!1)),e.addEventListener("mouseup",v.hide,!1),e.addEventListener("mouseleave",v.hide,!1)}}var l=l||{},d=document.querySelectorAll.bind(document),f=Object.prototype.toString,m="ontouchstart"in window,v={duration:750,delay:200,show:function(t,e,n){if(2===t.button)return!1;e=e||this;var o=document.createElement("div");o.className="waves-ripple waves-rippling",e.appendChild(o);var a=i(e),s=0,u=0;"touches"in t&&t.touches.length?(s=t.touches[0].pageY-a.top,u=t.touches[0].pageX-a.left):(s=t.pageY-a.top,u=t.pageX-a.left),u=u>=0?u:0,s=s>=0?s:0;var c="scale("+e.clientWidth/100*3+")",l="translate(0,0)";n&&(l="translate("+n.x+"px, "+n.y+"px)"),o.setAttribute("data-hold",Date.now()),o.setAttribute("data-x",u),o.setAttribute("data-y",s),o.setAttribute("data-scale",c),o.setAttribute("data-translate",l);var d={top:s+"px",left:u+"px"};o.classList.add("waves-notransition"),o.setAttribute("style",r(d)),o.classList.remove("waves-notransition"),d["-webkit-transform"]=c+" "+l,d["-moz-transform"]=c+" "+l,d["-ms-transform"]=c+" "+l,d["-o-transform"]=c+" "+l,d.transform=c+" "+l,d.opacity="1";var f="mousemove"===t.type?2500:v.duration;d["-webkit-transition-duration"]=f+"ms",d["-moz-transition-duration"]=f+"ms",d["-o-transition-duration"]=f+"ms",d["transition-duration"]=f+"ms",o.setAttribute("style",r(d))},hide:function(t,e){for(var n=(e=e||this).getElementsByClassName("waves-rippling"),o=0,a=n.length;o<a;o++)s(t,e,n[o]);m&&(e.removeEventListener("touchend",v.hide),e.removeEventListener("touchcancel",v.hide)),e.removeEventListener("mouseup",v.hide),e.removeEventListener("mouseleave",v.hide)}},p={input:function(t){var e=t.parentNode;if("i"!==e.tagName.toLowerCase()||!e.classList.contains("waves-effect")){var n=document.createElement("i");n.className=t.className+" waves-input-wrapper",t.className="waves-button-input",e.replaceChild(n,t),n.appendChild(t);var o=window.getComputedStyle(t,null),a=o.color,i=o.backgroundColor;n.setAttribute("style","color:"+a+";background:"+i),t.setAttribute("style","background-color:rgba(0,0,0,0);")}},img:function(t){var e=t.parentNode;if("i"!==e.tagName.toLowerCase()||!e.classList.contains("waves-effect")){var n=document.createElement("i");e.replaceChild(n,t),n.appendChild(t)}}},h={touches:0,allowEvent:function(t){var e=!0;return/^(mousedown|mousemove)$/.test(t.type)&&h.touches&&(e=!1),e},registerEvent:function(t){var e=t.type;"touchstart"===e?h.touches+=1:/^(touchend|touchcancel)$/.test(e)&&setTimeout(function(){h.touches&&(h.touches-=1)},500)}};return l.init=function(t){var e=document.body;"duration"in(t=t||{})&&(v.duration=t.duration),"delay"in t&&(v.delay=t.delay),m&&(e.addEventListener("touchstart",c,!1),e.addEventListener("touchcancel",h.registerEvent,!1),e.addEventListener("touchend",h.registerEvent,!1)),e.addEventListener("mousedown",c,!1)},l.attach=function(t,e){t=a(t),"[object Array]"===f.call(e)&&(e=e.join(" ")),e=e?" "+e:"";for(var n,o,i=0,r=t.length;i<r;i++)o=(n=t[i]).tagName.toLowerCase(),-1!==["input","img"].indexOf(o)&&(p[o](n),n=n.parentElement),-1===n.className.indexOf("waves-effect")&&(n.className+=" waves-effect"+e)},l.ripple=function(t,e){var n=(t=a(t)).length;if(e=e||{},e.wait=e.wait||0,e.position=e.position||null,n)for(var o,r,s,u={},c=0,l={type:"mousedown",button:1};c<n;c++)if(o=t[c],r=e.position||{x:o.clientWidth/2,y:o.clientHeight/2},s=i(o),u.x=s.left+r.x,u.y=s.top+r.y,l.pageX=u.x,l.pageY=u.y,v.show(l,o),e.wait>=0&&null!==e.wait){var d={type:"mouseup",button:1};setTimeout(function(t,e){return function(){v.hide(t,e)}}(d,o),e.wait)}},l.calm=function(t){for(var e={type:"mouseup",button:1},n=0,o=(t=a(t)).length;n<o;n++)v.hide(e,t[n])},l.displayEffect=function(t){l.init(t)},l}); | ||
//# sourceMappingURL=waves.min.js.map |
@@ -0,0 +0,0 @@ /* http://prismjs.com/download.html?themes=prism&languages=markup+css+clike+javascript&plugins=file-highlight */ |
@@ -0,0 +0,0 @@ /*! |
185
Gruntfile.js
@@ -8,3 +8,2 @@ var fs = require('fs'); | ||
build: { | ||
options: {}, | ||
files: { | ||
@@ -14,24 +13,19 @@ 'dist/waves.css': 'src/less/waves.less' | ||
}, | ||
minified: { | ||
options: { | ||
cleancss:true | ||
}, | ||
test: { | ||
files: { | ||
'dist/waves.min.css': 'src/less/waves.less' | ||
'tests/less/waves.css': 'src/less/waves.less', | ||
} | ||
} | ||
}, | ||
cssmin: { | ||
options: { | ||
sourceMap: false | ||
}, | ||
// re-minify everything in tests/ so that they all | ||
// have the same minification for comparision | ||
test: { | ||
options: { | ||
cleancss:true, | ||
cleancssOptions: { | ||
keepSpecialComments:'0' | ||
} | ||
}, | ||
target: { | ||
files: { | ||
'tests/less/waves.min.css': 'src/less/waves.less', | ||
'dist/waves.min.css': 'dist/waves.css', | ||
'tests/less/waves.min.css': 'tests/less/waves.css', | ||
'tests/sass/waves.min.css': 'tests/sass/waves.css', | ||
'tests/scss/waves.min.css': 'tests/scss/waves.css', | ||
'tests/stylus/waves.min.css': 'tests/stylus/waves.css' | ||
'tests/scss/waves.min.css': 'tests/scss/waves.css' | ||
} | ||
@@ -51,3 +45,4 @@ } | ||
console: true | ||
} | ||
}, | ||
reporterOutput: '' | ||
} | ||
@@ -95,90 +90,3 @@ }, | ||
}, | ||
//convert less to stylus | ||
execute: { | ||
less2stylus: { | ||
call: function(grunt, options, async) { | ||
var done = async(); | ||
var exec = require('child_process').exec; | ||
exec('cd node_modules/less2stylus && node ./less2stylus ../../src/less/waves.less', function (error, stdout, stderr) { | ||
grunt.log.writeln('Executing less2styus...'); | ||
if (error) { | ||
grunt.log.writeln('Error! ' + error); | ||
} | ||
var fs = require('fs'); | ||
fs.writeFile("src/stylus/waves.styl", stdout, function(err) { | ||
if(err) { | ||
grunt.log.writeln(err); | ||
} else { | ||
grunt.log.writeln("Stylus file was saved!"); | ||
} | ||
done(); // let grunt resume | ||
}); | ||
}); | ||
} | ||
}, | ||
less2scss: { | ||
//FUTURE: Put less2scss as it's own script | ||
call: function(grunt, options, async) { | ||
var done = async(); | ||
var text = fs.readFileSync('src/less/waves.less', {encoding:'utf8'}); | ||
//replace @ with $ | ||
text = text.replace(/@(?!import|media|keyframes|-)/g, '$'); | ||
//replace mixins | ||
text = text.replace(/\.([\w\-]*)\s*\((.*)\)\s*\{/g, '@mixin $1($2){'); | ||
//replace includes | ||
text = text.replace(/\.([\w\-]*\(.*\)\s*;)/g, '@include $1'); | ||
//replace string literals | ||
//eg. ~'!important' -> #{"!important"} | ||
text = text.replace(/~(?:\"|\')(.*)(?:\"|\')/g, '#{"$1"}'); | ||
//NOTE: for true less->scss transpiling we'd need to replace spin to adjust-hue (not needed but anyway) | ||
fs.writeFileSync('src/scss/waves.scss', text); | ||
done(); | ||
} | ||
}, | ||
test: { | ||
call: function(grunt, options, async) { | ||
var done = async(); | ||
var lessTest = fs.readFileSync('tests/less/waves.min.css', {encoding:'utf8'}); | ||
var sassTest = fs.readFileSync('tests/sass/waves.min.css', {encoding:'utf8'}); | ||
var scssTest = fs.readFileSync('tests/scss/waves.min.css', {encoding:'utf8'}); | ||
var stylusTest = fs.readFileSync('tests/stylus/waves.min.css', {encoding:'utf8'}); | ||
var failure = false; | ||
if (lessTest != sassTest) { | ||
grunt.log.writeln('ERROR: sass failed test.'); | ||
failure = true; | ||
} | ||
if (lessTest != scssTest) { | ||
grunt.log.writeln('ERROR: scss failed test.'); | ||
failure = true; | ||
} | ||
if (lessTest != stylusTest) { | ||
grunt.log.writeln('ERROR: stylus failed test.'); | ||
failure = true; | ||
} | ||
if (sassTest != scssTest) { | ||
grunt.log.writeln('WARNING: sass files aren\'t equal?'); | ||
failure = true; | ||
} | ||
if (!failure) grunt.log.writeln('PASS: conversions generated same CSS'); | ||
done(); | ||
} | ||
} | ||
}, | ||
'sass-convert': { | ||
@@ -209,10 +117,2 @@ options: { | ||
stylus: { | ||
test: { | ||
files: { | ||
'tests/stylus/waves.css': 'src/stylus/waves.styl' | ||
} | ||
} | ||
}, | ||
clean: { | ||
@@ -236,2 +136,50 @@ test: ['tests/*'] | ||
}); | ||
grunt.registerTask('execute:less2scss', 'Convert less to scss.', function() { | ||
var done = this.async(); | ||
var text = fs.readFileSync('src/less/waves.less', {encoding:'utf8'}); | ||
//replace @ with $ | ||
text = text.replace(/@(?!import|media|keyframes|-)/g, '$'); | ||
//replace mixins | ||
text = text.replace(/\.([\w\-]*)\s*\((.*)\)\s*\{/g, '@mixin $1($2){'); | ||
//replace includes | ||
text = text.replace(/\.([\w\-]*\(.*\)\s*;)/g, '@include $1'); | ||
//replace string literals | ||
//eg. ~'!important' -> #{"!important"} | ||
text = text.replace(/~(?:\"|\')(.*)(?:\"|\')/g, '#{"$1"}'); | ||
//NOTE: for true less->scss transpiling we'd need to replace spin to adjust-hue (not needed but anyway) | ||
fs.writeFileSync('src/scss/waves.scss', text); | ||
done(); | ||
}); | ||
grunt.registerTask('execute:test', 'Convert less to scss.', function() { | ||
var done = this.async(); | ||
var lessTest = fs.readFileSync('tests/less/waves.min.css', {encoding:'utf8'}); | ||
var sassTest = fs.readFileSync('tests/sass/waves.min.css', {encoding:'utf8'}); | ||
var scssTest = fs.readFileSync('tests/scss/waves.min.css', {encoding:'utf8'}); | ||
var failure = false; | ||
if (lessTest != sassTest) { | ||
grunt.log.writeln('ERROR: sass failed test.'); | ||
failure = true; | ||
} | ||
if (lessTest != scssTest) { | ||
grunt.log.writeln('ERROR: scss failed test.'); | ||
failure = true; | ||
} | ||
if (sassTest != scssTest) { | ||
grunt.log.writeln('WARNING: sass files aren\'t equal?'); | ||
failure = true; | ||
} | ||
if (!failure) grunt.log.writeln('PASS: conversions generated same CSS'); | ||
done(); | ||
}); | ||
@@ -246,6 +194,5 @@ // Load module | ||
grunt.loadNpmTasks('grunt-contrib-sass'); | ||
grunt.loadNpmTasks('grunt-contrib-stylus'); | ||
grunt.loadNpmTasks('grunt-execute'); | ||
grunt.loadNpmTasks('grunt-sass-convert'); | ||
grunt.loadNpmTasks('grunt-contrib-clean'); | ||
grunt.loadNpmTasks('grunt-contrib-cssmin'); | ||
@@ -255,12 +202,10 @@ // Create grunt task | ||
'less:build', | ||
'less:minified', | ||
'jshint', | ||
'uglify', | ||
'copy', | ||
'execute:less2stylus', | ||
'copy', | ||
'execute:less2scss', | ||
'sass-convert', | ||
'sass:test', | ||
'stylus:test', | ||
'less:test', | ||
'cssmin', | ||
'execute:test', | ||
@@ -267,0 +212,0 @@ 'clean:test' |
{ | ||
"name": "node-waves", | ||
"version": "0.7.5", | ||
"version": "0.7.6", | ||
"description": "Click effect insipired by Google Material Design", | ||
@@ -8,14 +8,14 @@ "author": "Alfiana E. Sibuea <alfian.sibuea@gmail.com>", | ||
"main": "src/js/waves.js", | ||
"types": "src/typings/waves.d.ts", | ||
"devDependencies": { | ||
"grunt": "^0.4.5", | ||
"grunt-contrib-clean": "^0.6.0", | ||
"grunt-contrib-concat": "^0.5.0", | ||
"grunt-contrib-copy": "^0.7.0", | ||
"grunt-contrib-jshint": "^0.10.0", | ||
"grunt-contrib-less": "^0.12.0", | ||
"grunt-contrib-sass": "^0.8.1", | ||
"grunt-contrib-stylus": "^0.20.0", | ||
"grunt-contrib-uglify": "^0.6.0", | ||
"grunt-contrib-watch": "^0.6.1", | ||
"grunt-execute": "^0.2.2", | ||
"grunt": "1.0.1", | ||
"grunt-contrib-clean": "1.1.0", | ||
"grunt-contrib-concat": "1.0.1", | ||
"grunt-contrib-copy": "1.0.0", | ||
"grunt-contrib-cssmin": "^2.2.1", | ||
"grunt-contrib-jshint": "1.1.0", | ||
"grunt-contrib-less": "1.4.1", | ||
"grunt-contrib-sass": "1.0.0", | ||
"grunt-contrib-uglify": "3.1.0", | ||
"grunt-contrib-watch": "1.0.0", | ||
"grunt-sass-convert": "^0.2.0", | ||
@@ -22,0 +22,0 @@ "less2stylus": "^0.1.0" |
@@ -19,10 +19,6 @@ # Waves | ||
## Notes | ||
Thanks for [BrowserStack](http://www.browserstack.com/) by providing a great testing tools for this projects. | ||
## License | ||
Waves created by [Alfiana Sibuea](http://fian.my.id), and released under [MIT license](https://github.com/fians/Waves/blob/master/LICENSE). | ||
Copyright © 2014-2016 Alfiana E. Sibuea. All rights reserved. | ||
Copyright © 2014-2018 Alfiana E. Sibuea. All rights reserved. |
@@ -0,0 +0,0 @@ { |
/*! | ||
* Waves v0.7.5 | ||
* Waves v0.7.6 | ||
* http://fian.my.id/Waves | ||
* | ||
* Copyright 2014-2016 Alfiana E. Sibuea and other contributors | ||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors | ||
* Released under the MIT license | ||
@@ -17,3 +17,4 @@ * https://github.com/fians/Waves/blob/master/LICENSE | ||
define([], function() { | ||
return factory.apply(window); | ||
window.Waves = factory.call(window); | ||
return window.Waves; | ||
}); | ||
@@ -191,2 +192,10 @@ } | ||
} | ||
if (isTouchAvailable) { | ||
element.removeEventListener('touchend', Effect.hide); | ||
element.removeEventListener('touchcancel', Effect.hide); | ||
} | ||
element.removeEventListener('mouseup', Effect.hide); | ||
element.removeEventListener('mouseleave', Effect.hide); | ||
} | ||
@@ -368,4 +377,4 @@ }; | ||
while (target.parentElement !== null) { | ||
if (target.classList.contains('waves-effect') && (!(target instanceof SVGElement))) { | ||
while (target.parentElement) { | ||
if ( (!(target instanceof SVGElement)) && target.classList.contains('waves-effect')) { | ||
element = target; | ||
@@ -423,2 +432,4 @@ break; | ||
} | ||
removeListeners(); | ||
}; | ||
@@ -432,2 +443,4 @@ | ||
hideEffect(moveEvent); | ||
removeListeners(); | ||
}; | ||
@@ -439,2 +452,7 @@ | ||
var removeListeners = function() { | ||
element.removeEventListener('touchmove', touchMove); | ||
element.removeEventListener('touchend', hideEffect); | ||
element.removeEventListener('touchcancel', hideEffect); | ||
}; | ||
} else { | ||
@@ -441,0 +459,0 @@ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Shell access
Supply chain riskThis module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.
Found 1 instance in 1 package
12
1
0
231790
2444
24