HOME


Mini Shell 1.0
DIR: /tmp/
Upload File :
Current File : //tmp/phpZIg7hp
waves.js000064400000044435150766035620006253 0ustar00/*!
 * 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.css000064400000007444150766035620007210 0ustar00/*!
 * 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.js000064400000014143150766035620007026 0ustar00/*!
 * 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.mapwaves.min.js.map000064400000020726150766035620007606 0ustar00{"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.css000064400000011133150766035620006414 0ustar00/*!
 * 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;
}