waves.js 0000644 00000044435 15076603562 0006253 0 ustar 00 /*!
* 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(window, factory) {
'use strict';
// AMD. Register as an anonymous module. Wrap in function so we have access
// to root via `this`.
if (typeof define === 'function' && define.amd) {
define([], function() {
return factory.apply(window);
});
}
// Node. Does not work with strict CommonJS, but only CommonJS-like
// environments that support module.exports, like Node.
else if (typeof exports === 'object') {
module.exports = factory.call(window);
}
// Browser globals.
else {
window.Waves = factory.call(window);
}
})(typeof global === 'object' ? global : this, function() {
'use strict';
var Waves = Waves || {};
var $$ = document.querySelectorAll.bind(document);
var toString = Object.prototype.toString;
var isTouchAvailable = 'ontouchstart' in window;
// Find exact position of element
function isWindow(obj) {
return obj !== null && obj === obj.window;
}
function getWindow(elem) {
return isWindow(elem) ? elem : elem.nodeType === 9 && elem.defaultView;
}
function isObject(value) {
var type = typeof value;
return type === 'function' || type === 'object' && !!value;
}
function isDOMNode(obj) {
return isObject(obj) && obj.nodeType > 0;
}
function getWavesElements(nodes) {
var stringRepr = toString.call(nodes);
if (stringRepr === '[object String]') {
return $$(nodes);
} else if (isObject(nodes) && /^\[object (Array|HTMLCollection|NodeList|Object)\]$/.test(stringRepr) && nodes.hasOwnProperty('length')) {
return nodes;
} else if (isDOMNode(nodes)) {
return [nodes];
}
return [];
}
function offset(elem) {
var docElem, win,
box = { top: 0, left: 0 },
doc = elem && elem.ownerDocument;
docElem = doc.documentElement;
if (typeof elem.getBoundingClientRect !== typeof undefined) {
box = elem.getBoundingClientRect();
}
win = getWindow(doc);
return {
top: box.top + win.pageYOffset - docElem.clientTop,
left: box.left + win.pageXOffset - docElem.clientLeft
};
}
function convertStyle(styleObj) {
var style = '';
for (var prop in styleObj) {
if (styleObj.hasOwnProperty(prop)) {
style += (prop + ':' + styleObj[prop] + ';');
}
}
return style;
}
var Effect = {
// Effect duration
duration: 750,
// Effect delay (check for scroll before showing effect)
delay: 200,
show: function(e, element, velocity) {
// Disable right click
if (e.button === 2) {
return false;
}
element = element || this;
// Create ripple
var ripple = document.createElement('div');
ripple.className = 'waves-ripple waves-rippling';
element.appendChild(ripple);
// Get click coordinate and element width
var pos = offset(element);
var relativeY = 0;
var relativeX = 0;
// Support for touch devices
if('touches' in e && e.touches.length) {
relativeY = (e.touches[0].pageY - pos.top);
relativeX = (e.touches[0].pageX - pos.left);
}
//Normal case
else {
relativeY = (e.pageY - pos.top);
relativeX = (e.pageX - pos.left);
}
// Support for synthetic events
relativeX = relativeX >= 0 ? relativeX : 0;
relativeY = relativeY >= 0 ? relativeY : 0;
var scale = 'scale(' + ((element.clientWidth / 100) * 3) + ')';
var translate = 'translate(0,0)';
if (velocity) {
translate = 'translate(' + (velocity.x) + 'px, ' + (velocity.y) + 'px)';
}
// Attach data to element
ripple.setAttribute('data-hold', Date.now());
ripple.setAttribute('data-x', relativeX);
ripple.setAttribute('data-y', relativeY);
ripple.setAttribute('data-scale', scale);
ripple.setAttribute('data-translate', translate);
// Set ripple position
var rippleStyle = {
top: relativeY + 'px',
left: relativeX + 'px'
};
ripple.classList.add('waves-notransition');
ripple.setAttribute('style', convertStyle(rippleStyle));
ripple.classList.remove('waves-notransition');
// Scale the ripple
rippleStyle['-webkit-transform'] = scale + ' ' + translate;
rippleStyle['-moz-transform'] = scale + ' ' + translate;
rippleStyle['-ms-transform'] = scale + ' ' + translate;
rippleStyle['-o-transform'] = scale + ' ' + translate;
rippleStyle.transform = scale + ' ' + translate;
rippleStyle.opacity = '1';
var duration = e.type === 'mousemove' ? 2500 : Effect.duration;
rippleStyle['-webkit-transition-duration'] = duration + 'ms';
rippleStyle['-moz-transition-duration'] = duration + 'ms';
rippleStyle['-o-transition-duration'] = duration + 'ms';
rippleStyle['transition-duration'] = duration + 'ms';
ripple.setAttribute('style', convertStyle(rippleStyle));
},
hide: function(e, element) {
element = element || this;
var ripples = element.getElementsByClassName('waves-rippling');
for (var i = 0, len = ripples.length; i < len; i++) {
removeRipple(e, element, ripples[i]);
}
}
};
/**
* Collection of wrapper for HTML element that only have single tag
* like <input> and <img>
*/
var TagWrapper = {
// Wrap <input> tag so it can perform the effect
input: function(element) {
var parent = element.parentNode;
// If input already have parent just pass through
if (parent.tagName.toLowerCase() === 'i' && parent.classList.contains('waves-effect')) {
return;
}
// Put element class and style to the specified parent
var wrapper = document.createElement('i');
wrapper.className = element.className + ' waves-input-wrapper';
element.className = 'waves-button-input';
// Put element as child
parent.replaceChild(wrapper, element);
wrapper.appendChild(element);
// Apply element color and background color to wrapper
var elementStyle = window.getComputedStyle(element, null);
var color = elementStyle.color;
var backgroundColor = elementStyle.backgroundColor;
wrapper.setAttribute('style', 'color:' + color + ';background:' + backgroundColor);
element.setAttribute('style', 'background-color:rgba(0,0,0,0);');
},
// Wrap <img> tag so it can perform the effect
img: function(element) {
var parent = element.parentNode;
// If input already have parent just pass through
if (parent.tagName.toLowerCase() === 'i' && parent.classList.contains('waves-effect')) {
return;
}
// Put element as child
var wrapper = document.createElement('i');
parent.replaceChild(wrapper, element);
wrapper.appendChild(element);
}
};
/**
* Hide the effect and remove the ripple. Must be
* a separate function to pass the JSLint...
*/
function removeRipple(e, el, ripple) {
// Check if the ripple still exist
if (!ripple) {
return;
}
ripple.classList.remove('waves-rippling');
var relativeX = ripple.getAttribute('data-x');
var relativeY = ripple.getAttribute('data-y');
var scale = ripple.getAttribute('data-scale');
var translate = ripple.getAttribute('data-translate');
// Get delay beetween mousedown and mouse leave
var diff = Date.now() - Number(ripple.getAttribute('data-hold'));
var delay = 350 - diff;
if (delay < 0) {
delay = 0;
}
if (e.type === 'mousemove') {
delay = 150;
}
// Fade out ripple after delay
var duration = e.type === 'mousemove' ? 2500 : Effect.duration;
setTimeout(function() {
var style = {
top: relativeY + 'px',
left: relativeX + 'px',
opacity: '0',
// Duration
'-webkit-transition-duration': duration + 'ms',
'-moz-transition-duration': duration + 'ms',
'-o-transition-duration': duration + 'ms',
'transition-duration': duration + 'ms',
'-webkit-transform': scale + ' ' + translate,
'-moz-transform': scale + ' ' + translate,
'-ms-transform': scale + ' ' + translate,
'-o-transform': scale + ' ' + translate,
'transform': scale + ' ' + translate
};
ripple.setAttribute('style', convertStyle(style));
setTimeout(function() {
try {
el.removeChild(ripple);
} catch (e) {
return false;
}
}, duration);
}, delay);
}
/**
* Disable mousedown event for 500ms during and after touch
*/
var TouchHandler = {
/* uses an integer rather than bool so there's no issues with
* needing to clear timeouts if another touch event occurred
* within the 500ms. Cannot mouseup between touchstart and
* touchend, nor in the 500ms after touchend. */
touches: 0,
allowEvent: function(e) {
var allow = true;
if (/^(mousedown|mousemove)$/.test(e.type) && TouchHandler.touches) {
allow = false;
}
return allow;
},
registerEvent: function(e) {
var eType = e.type;
if (eType === 'touchstart') {
TouchHandler.touches += 1; // push
} else if (/^(touchend|touchcancel)$/.test(eType)) {
setTimeout(function() {
if (TouchHandler.touches) {
TouchHandler.touches -= 1; // pop after 500ms
}
}, 500);
}
}
};
/**
* Delegated click handler for .waves-effect element.
* returns null when .waves-effect element not in "click tree"
*/
function getWavesEffectElement(e) {
if (TouchHandler.allowEvent(e) === false) {
return null;
}
var element = null;
var target = e.target || e.srcElement;
while (target.parentElement !== null) {
if (target.classList.contains('waves-effect') && (!(target instanceof SVGElement))) {
element = target;
break;
}
target = target.parentElement;
}
return element;
}
/**
* Bubble the click and show effect if .waves-effect elem was found
*/
function showEffect(e) {
// Disable effect if element has "disabled" property on it
// In some cases, the event is not triggered by the current element
// if (e.target.getAttribute('disabled') !== null) {
// return;
// }
var element = getWavesEffectElement(e);
if (element !== null) {
// Make it sure the element has either disabled property, disabled attribute or 'disabled' class
if (element.disabled || element.getAttribute('disabled') || element.classList.contains('disabled')) {
return;
}
TouchHandler.registerEvent(e);
if (e.type === 'touchstart' && Effect.delay) {
var hidden = false;
var timer = setTimeout(function () {
timer = null;
Effect.show(e, element);
}, Effect.delay);
var hideEffect = function(hideEvent) {
// if touch hasn't moved, and effect not yet started: start effect now
if (timer) {
clearTimeout(timer);
timer = null;
Effect.show(e, element);
}
if (!hidden) {
hidden = true;
Effect.hide(hideEvent, element);
}
};
var touchMove = function(moveEvent) {
if (timer) {
clearTimeout(timer);
timer = null;
}
hideEffect(moveEvent);
};
element.addEventListener('touchmove', touchMove, false);
element.addEventListener('touchend', hideEffect, false);
element.addEventListener('touchcancel', hideEffect, false);
} else {
Effect.show(e, element);
if (isTouchAvailable) {
element.addEventListener('touchend', Effect.hide, false);
element.addEventListener('touchcancel', Effect.hide, false);
}
element.addEventListener('mouseup', Effect.hide, false);
element.addEventListener('mouseleave', Effect.hide, false);
}
}
}
Waves.init = function(options) {
var body = document.body;
options = options || {};
if ('duration' in options) {
Effect.duration = options.duration;
}
if ('delay' in options) {
Effect.delay = options.delay;
}
if (isTouchAvailable) {
body.addEventListener('touchstart', showEffect, false);
body.addEventListener('touchcancel', TouchHandler.registerEvent, false);
body.addEventListener('touchend', TouchHandler.registerEvent, false);
}
body.addEventListener('mousedown', showEffect, false);
};
/**
* Attach Waves to dynamically loaded inputs, or add .waves-effect and other
* waves classes to a set of elements. Set drag to true if the ripple mouseover
* or skimming effect should be applied to the elements.
*/
Waves.attach = function(elements, classes) {
elements = getWavesElements(elements);
if (toString.call(classes) === '[object Array]') {
classes = classes.join(' ');
}
classes = classes ? ' ' + classes : '';
var element, tagName;
for (var i = 0, len = elements.length; i < len; i++) {
element = elements[i];
tagName = element.tagName.toLowerCase();
if (['input', 'img'].indexOf(tagName) !== -1) {
TagWrapper[tagName](element);
element = element.parentElement;
}
if (element.className.indexOf('waves-effect') === -1) {
element.className += ' waves-effect' + classes;
}
}
};
/**
* Cause a ripple to appear in an element via code.
*/
Waves.ripple = function(elements, options) {
elements = getWavesElements(elements);
var elementsLen = elements.length;
options = options || {};
options.wait = options.wait || 0;
options.position = options.position || null; // default = centre of element
if (elementsLen) {
var element, pos, off, centre = {}, i = 0;
var mousedown = {
type: 'mousedown',
button: 1
};
var hideRipple = function(mouseup, element) {
return function() {
Effect.hide(mouseup, element);
};
};
for (; i < elementsLen; i++) {
element = elements[i];
pos = options.position || {
x: element.clientWidth / 2,
y: element.clientHeight / 2
};
off = offset(element);
centre.x = off.left + pos.x;
centre.y = off.top + pos.y;
mousedown.pageX = centre.x;
mousedown.pageY = centre.y;
Effect.show(mousedown, element);
if (options.wait >= 0 && options.wait !== null) {
var mouseup = {
type: 'mouseup',
button: 1
};
setTimeout(hideRipple(mouseup, element), options.wait);
}
}
}
};
/**
* Remove all ripples from an element.
*/
Waves.calm = function(elements) {
elements = getWavesElements(elements);
var mouseup = {
type: 'mouseup',
button: 1
};
for (var i = 0, len = elements.length; i < len; i++) {
Effect.hide(mouseup, elements[i]);
}
};
/**
* Deprecated API fallback
*/
Waves.displayEffect = function(options) {
console.error('Waves.displayEffect() has been deprecated and will be removed in future version. Please use Waves.init() to initialize Waves effect');
Waves.init(options);
};
return Waves;
});
waves.min.css 0000644 00000007444 15076603562 0007210 0 ustar 00 /*!
* 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
*/.waves-effect{position:relative;cursor:pointer;display:inline-block;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.waves-effect .waves-ripple{position:absolute;border-radius:50%;width:100px;height:100px;margin-top:-50px;margin-left:-50px;opacity:0;background:rgba(0,0,0,.2);background:-webkit-radial-gradient(rgba(0,0,0,.2) 0,rgba(0,0,0,.3) 40%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.5) 60%,rgba(255,255,255,0) 70%);background:-o-radial-gradient(rgba(0,0,0,.2) 0,rgba(0,0,0,.3) 40%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.5) 60%,rgba(255,255,255,0) 70%);background:-moz-radial-gradient(rgba(0,0,0,.2) 0,rgba(0,0,0,.3) 40%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.5) 60%,rgba(255,255,255,0) 70%);background:radial-gradient(rgba(0,0,0,.2) 0,rgba(0,0,0,.3) 40%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.5) 60%,rgba(255,255,255,0) 70%);-webkit-transition:all .5s ease-out;-moz-transition:all .5s ease-out;-o-transition:all .5s ease-out;transition:all .5s ease-out;-webkit-transition-property:-webkit-transform,opacity;-moz-transition-property:-moz-transform,opacity;-o-transition-property:-o-transform,opacity;transition-property:transform,opacity;-webkit-transform:scale(0) translate(0,0);-moz-transform:scale(0) translate(0,0);-ms-transform:scale(0) translate(0,0);-o-transform:scale(0) translate(0,0);transform:scale(0) translate(0,0);pointer-events:none}.waves-effect.waves-light .waves-ripple{background:rgba(255,255,255,.4);background:-webkit-radial-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.3) 40%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0) 70%);background:-o-radial-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.3) 40%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0) 70%);background:-moz-radial-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.3) 40%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0) 70%);background:radial-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.3) 40%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0) 70%)}.waves-effect.waves-classic .waves-ripple{background:rgba(0,0,0,.2)}.waves-effect.waves-classic.waves-light .waves-ripple{background:rgba(255,255,255,.4)}.waves-notransition{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;transition:none!important}.waves-button,.waves-circle{-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0);transform:translateZ(0);-webkit-mask-image:-webkit-radial-gradient(circle,#fff 100%,#000 100%)}.waves-button,.waves-button:hover,.waves-button:visited,.waves-button-input{white-space:nowrap;vertical-align:middle;cursor:pointer;border:none;outline:0;color:inherit;background-color:transparent;font-size:1em;line-height:1em;text-align:center;text-decoration:none;z-index:1}.waves-button{padding:.85em 1.1em;border-radius:.2em}.waves-button-input{margin:0;padding:.85em 1.1em}.waves-input-wrapper{border-radius:.2em;vertical-align:bottom}.waves-input-wrapper.waves-button{padding:0}.waves-input-wrapper .waves-button-input{position:relative;top:0;left:0;z-index:1}.waves-circle{text-align:center;width:2.5em;height:2.5em;line-height:2.5em;border-radius:50%}.waves-float{-webkit-mask-image:none;-webkit-box-shadow:0 1px 1.5px 1px rgba(0,0,0,.12);box-shadow:0 1px 1.5px 1px rgba(0,0,0,.12);-webkit-transition:all 300ms;-moz-transition:all 300ms;-o-transition:all 300ms;transition:all 300ms}.waves-float:active{-webkit-box-shadow:0 8px 20px 1px rgba(0,0,0,.3);box-shadow:0 8px 20px 1px rgba(0,0,0,.3)}.waves-block{display:block} waves.min.js 0000644 00000014143 15076603562 0007026 0 ustar 00 /*!
* 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});
//# sourceMappingURL=waves.min.js.map waves.min.js.map 0000644 00000020726 15076603562 0007606 0 ustar 00 {"version":3,"sources":["../src/js/waves.js"],"names":["window","factory","define","amd","apply","exports","module","call","Waves","global","this","isWindow","obj","getWindow","elem","nodeType","defaultView","isObject","value","type","isDOMNode","getWavesElements","nodes","stringRepr","toString","$$","test","hasOwnProperty","offset","docElem","win","box","top","left","doc","ownerDocument","documentElement","getBoundingClientRect","pageYOffset","clientTop","pageXOffset","clientLeft","convertStyle","styleObj","style","prop","removeRipple","e","el","ripple","classList","remove","relativeX","getAttribute","relativeY","scale","translate","diff","Date","now","Number","delay","duration","Effect","setTimeout","opacity","-webkit-transition-duration","-moz-transition-duration","-o-transition-duration","transition-duration","-webkit-transform","-moz-transform","-ms-transform","-o-transform","transform","setAttribute","removeChild","getWavesEffectElement","TouchHandler","allowEvent","element","target","srcElement","parentElement","contains","SVGElement","showEffect","disabled","registerEvent","hidden","timer","show","hideEffect","hideEvent","clearTimeout","hide","touchMove","moveEvent","addEventListener","isTouchAvailable","document","querySelectorAll","bind","Object","prototype","velocity","button","createElement","className","appendChild","pos","touches","length","pageY","pageX","clientWidth","rippleStyle","add","ripples","getElementsByClassName","i","len","TagWrapper","input","parent","parentNode","tagName","toLowerCase","wrapper","replaceChild","elementStyle","getComputedStyle","color","backgroundColor","img","allow","eType","init","options","body","attach","elements","classes","join","indexOf","elementsLen","wait","position","off","centre","mousedown","hideRipple","mouseup","x","y","clientHeight","calm","displayEffect"],"mappings":"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","file":"waves.min.js"} waves.css 0000644 00000011133 15076603562 0006414 0 ustar 00 /*!
* 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
*/
.waves-effect {
position: relative;
cursor: pointer;
display: inline-block;
overflow: hidden;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
-webkit-tap-highlight-color: transparent;
}
.waves-effect .waves-ripple {
position: absolute;
border-radius: 50%;
width: 100px;
height: 100px;
margin-top: -50px;
margin-left: -50px;
opacity: 0;
background: rgba(0, 0, 0, 0.2);
background: -webkit-radial-gradient(rgba(0, 0, 0, 0.2) 0, rgba(0, 0, 0, 0.3) 40%, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0.5) 60%, rgba(255, 255, 255, 0) 70%);
background: -o-radial-gradient(rgba(0, 0, 0, 0.2) 0, rgba(0, 0, 0, 0.3) 40%, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0.5) 60%, rgba(255, 255, 255, 0) 70%);
background: -moz-radial-gradient(rgba(0, 0, 0, 0.2) 0, rgba(0, 0, 0, 0.3) 40%, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0.5) 60%, rgba(255, 255, 255, 0) 70%);
background: radial-gradient(rgba(0, 0, 0, 0.2) 0, rgba(0, 0, 0, 0.3) 40%, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0.5) 60%, rgba(255, 255, 255, 0) 70%);
-webkit-transition: all 0.5s ease-out;
-moz-transition: all 0.5s ease-out;
-o-transition: all 0.5s ease-out;
transition: all 0.5s ease-out;
-webkit-transition-property: -webkit-transform, opacity;
-moz-transition-property: -moz-transform, opacity;
-o-transition-property: -o-transform, opacity;
transition-property: transform, opacity;
-webkit-transform: scale(0) translate(0, 0);
-moz-transform: scale(0) translate(0, 0);
-ms-transform: scale(0) translate(0, 0);
-o-transform: scale(0) translate(0, 0);
transform: scale(0) translate(0, 0);
pointer-events: none;
}
.waves-effect.waves-light .waves-ripple {
background: rgba(255, 255, 255, 0.4);
background: -webkit-radial-gradient(rgba(255, 255, 255, 0.2) 0, rgba(255, 255, 255, 0.3) 40%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0.5) 60%, rgba(255, 255, 255, 0) 70%);
background: -o-radial-gradient(rgba(255, 255, 255, 0.2) 0, rgba(255, 255, 255, 0.3) 40%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0.5) 60%, rgba(255, 255, 255, 0) 70%);
background: -moz-radial-gradient(rgba(255, 255, 255, 0.2) 0, rgba(255, 255, 255, 0.3) 40%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0.5) 60%, rgba(255, 255, 255, 0) 70%);
background: radial-gradient(rgba(255, 255, 255, 0.2) 0, rgba(255, 255, 255, 0.3) 40%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0.5) 60%, rgba(255, 255, 255, 0) 70%);
}
.waves-effect.waves-classic .waves-ripple {
background: rgba(0, 0, 0, 0.2);
}
.waves-effect.waves-classic.waves-light .waves-ripple {
background: rgba(255, 255, 255, 0.4);
}
.waves-notransition {
-webkit-transition: none !important;
-moz-transition: none !important;
-o-transition: none !important;
transition: none !important;
}
.waves-button,
.waves-circle {
-webkit-transform: translateZ(0);
-moz-transform: translateZ(0);
-ms-transform: translateZ(0);
-o-transform: translateZ(0);
transform: translateZ(0);
-webkit-mask-image: -webkit-radial-gradient(circle, #ffffff 100%, #000000 100%);
}
.waves-button,
.waves-button:hover,
.waves-button:visited,
.waves-button-input {
white-space: nowrap;
vertical-align: middle;
cursor: pointer;
border: none;
outline: none;
color: inherit;
background-color: rgba(0, 0, 0, 0);
font-size: 1em;
line-height: 1em;
text-align: center;
text-decoration: none;
z-index: 1;
}
.waves-button {
padding: 0.85em 1.1em;
border-radius: 0.2em;
}
.waves-button-input {
margin: 0;
padding: 0.85em 1.1em;
}
.waves-input-wrapper {
border-radius: 0.2em;
vertical-align: bottom;
}
.waves-input-wrapper.waves-button {
padding: 0;
}
.waves-input-wrapper .waves-button-input {
position: relative;
top: 0;
left: 0;
z-index: 1;
}
.waves-circle {
text-align: center;
width: 2.5em;
height: 2.5em;
line-height: 2.5em;
border-radius: 50%;
}
.waves-float {
-webkit-mask-image: none;
-webkit-box-shadow: 0px 1px 1.5px 1px rgba(0, 0, 0, 0.12);
box-shadow: 0px 1px 1.5px 1px rgba(0, 0, 0, 0.12);
-webkit-transition: all 300ms;
-moz-transition: all 300ms;
-o-transition: all 300ms;
transition: all 300ms;
}
.waves-float:active {
-webkit-box-shadow: 0px 8px 20px 1px rgba(0, 0, 0, 0.3);
box-shadow: 0px 8px 20px 1px rgba(0, 0, 0, 0.3);
}
.waves-block {
display: block;
}
|