material-design-lite/js/material.min.js

10 lines
47 KiB
JavaScript

/**
* material-design-lite - Material Design Components in CSS, JS and HTML
* @version v1.0.0
* @link https://github.com/google/material-design-lite
* @license Apache-2
*/
function DemoAnimation(s){"use strict";this.element_=s,this.position_=this.Constant_.STARTING_POSITION,this.movable_=this.element_.querySelector("."+this.CssClasses_.MOVABLE),this.init()}function MaterialButton(s){"use strict";this.element_=s,this.init()}function MaterialCheckbox(s){"use strict";this.element_=s,this.init()}function MaterialIconToggle(s){"use strict";this.element_=s,this.init()}function MaterialMenu(s){"use strict";this.element_=s,this.init()}function MaterialProgress(s){"use strict";this.element_=s,this.init()}function MaterialRadio(s){"use strict";this.element_=s,this.init()}function MaterialSlider(s){"use strict";this.element_=s,this.isIE_=window.navigator.msPointerEnabled,this.init()}function MaterialSpinner(s){"use strict";this.element_=s,this.init()}function MaterialSwitch(s){"use strict";this.element_=s,this.init()}function MaterialTabs(s){"use strict";this.element_=s,this.init()}function MaterialTab(s,t){"use strict";if(s){if(t.element_.classList.contains(t.CssClasses_.MDL_JS_RIPPLE_EFFECT)){var e=document.createElement("span");e.classList.add(t.CssClasses_.MDL_RIPPLE_CONTAINER),e.classList.add(t.CssClasses_.MDL_JS_RIPPLE_EFFECT);var i=document.createElement("span");i.classList.add(t.CssClasses_.MDL_RIPPLE),e.appendChild(i),s.appendChild(e)}s.addEventListener("click",function(e){e.preventDefault();var i=s.href.split("#")[1],a=t.element_.querySelector("#"+i);t.resetTabState_(),t.resetPanelState_(),s.classList.add(t.CssClasses_.ACTIVE_CLASS),a.classList.add(t.CssClasses_.ACTIVE_CLASS)})}}function MaterialTextfield(s){"use strict";this.element_=s,this.maxRows=this.Constant_.NO_MAX_ROWS,this.init()}function MaterialTooltip(s){"use strict";this.element_=s,this.init()}function MaterialLayout(s){"use strict";this.element_=s,this.init()}function MaterialLayoutTab(s,t,e,i){"use strict";if(s){if(i.tabBar_.classList.contains(i.CssClasses_.JS_RIPPLE_EFFECT)){var a=document.createElement("span");a.classList.add(i.CssClasses_.RIPPLE_CONTAINER),a.classList.add(i.CssClasses_.JS_RIPPLE_EFFECT);var n=document.createElement("span");n.classList.add(i.CssClasses_.RIPPLE),a.appendChild(n),s.appendChild(a)}s.addEventListener("click",function(a){a.preventDefault();var n=s.href.split("#")[1],l=i.content_.querySelector("#"+n);i.resetTabState_(t),i.resetPanelState_(e),s.classList.add(i.CssClasses_.ACTIVE_CLASS),l.classList.add(i.CssClasses_.ACTIVE_CLASS)})}}function MaterialRipple(s){"use strict";this.element_=s,this.init()}var componentHandler=function(){"use strict";function s(s,t){for(var e=0;e<l.length;e++)if(l[e].className===s)return void 0!==t&&(l[e]=t),l[e];return!1}function t(i,a){if(void 0===i&&void 0===a)for(var n=0;n<l.length;n++)t(l[n].className,l[n].cssClass);else{if(void 0===a){var r=s(i);r&&(a=r.cssClass)}for(var _=document.querySelectorAll("."+a),o=0;o<_.length;o++)e(_[o],i)}}function e(t,e){var i=t.getAttribute("data-upgraded");if(null===i||-1===i.indexOf(e)){null===i&&(i=""),t.setAttribute("data-upgraded",i+","+e);var a=s(e);if(a){var n=new a.classConstructor(t);r.push(n),a.callbacks.forEach(function(s){s(t)}),t.widget=n}else r.push(new window[e](t));var l=document.createEvent("Events");l.initEvent("mdl-componentupgraded",!0,!0),t.dispatchEvent(l)}}function i(t){var e={classConstructor:t.constructor,className:t.classAsString,cssClass:t.cssClass,callbacks:[]},i=s(t.classAsString,e);i||l.push(e)}function a(t,e){var i=s(t);i&&i.callbacks.push(e)}function n(){for(var s=0;s<l.length;s++)t(l[s].className)}var l=[],r=[];return{upgradeDom:t,upgradeElement:e,upgradeAllRegistered:n,registerUpgradedCallback:a,register:i}}();window.addEventListener("load",function(){"use strict";"classList"in document.createElement("div")&&"querySelector"in document&&"addEventListener"in window&&Array.prototype.forEach?(document.documentElement.classList.add("mdl-js"),componentHandler.upgradeAllRegistered()):componentHandler.upgradeElement=componentHandler.register=function(){}}),function(){"use strict";Date.now||(Date.now=function(){return(new Date).getTime()});for(var s=["webkit","moz"],t=0;t<s.length&&!window.requestAnimationFrame;++t){var e=s[t];window.requestAnimationFrame=window[e+"RequestAnimationFrame"],window.cancelAnimationFrame=window[e+"CancelAnimationFrame"]||window[e+"CancelRequestAnimationFrame"]}if(/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent)||!window.requestAnimationFrame||!window.cancelAnimationFrame){var i=0;window.requestAnimationFrame=function(s){var t=Date.now(),e=Math.max(i+16,t);return setTimeout(function(){s(i=e)},e-t)},window.cancelAnimationFrame=clearTimeout}}(),DemoAnimation.prototype.Constant_={STARTING_POSITION:1},DemoAnimation.prototype.CssClasses_={MOVABLE:"demo-animation__movable",POSITION_PREFIX:"demo-animation--position-"},DemoAnimation.prototype.handleClick_=function(s){"use strict";this.movable_.classList.remove(this.CssClasses_.POSITION_PREFIX+this.position_),this.position_++,this.position_>6&&(this.position_=1),this.movable_.classList.add(this.CssClasses_.POSITION_PREFIX+this.position_)},DemoAnimation.prototype.init=function(){"use strict";if(this.element_){if(!this.movable_)return void console.error("Was expecting to find an element with class name "+this.CssClasses_.MOVABLE+" inside of: ",this.element_);this.element_.addEventListener("click",this.handleClick_.bind(this))}},componentHandler.register({constructor:DemoAnimation,classAsString:"DemoAnimation",cssClass:"demo-js-animation"}),MaterialButton.prototype.Constant_={},MaterialButton.prototype.CssClasses_={RIPPLE_EFFECT:"mdl-js-ripple-effect",RIPPLE_CONTAINER:"mdl-button__ripple-container",RIPPLE:"mdl-ripple"},MaterialButton.prototype.blurHandler=function(s){"use strict";s&&this.element_.blur()},MaterialButton.prototype.disable=function(){"use strict";this.element_.disabled=!0},MaterialButton.prototype.enable=function(){"use strict";this.element_.disabled=!1},MaterialButton.prototype.init=function(){"use strict";if(this.element_){if(this.element_.classList.contains(this.CssClasses_.RIPPLE_EFFECT)){var s=document.createElement("span");s.classList.add(this.CssClasses_.RIPPLE_CONTAINER);var t=document.createElement("span");t.classList.add(this.CssClasses_.RIPPLE),s.appendChild(t),t.addEventListener("mouseup",this.blurHandler.bind(this)),this.element_.appendChild(s)}this.element_.addEventListener("mouseup",this.blurHandler.bind(this)),this.element_.addEventListener("mouseleave",this.blurHandler.bind(this))}},componentHandler.register({constructor:MaterialButton,classAsString:"MaterialButton",cssClass:"mdl-js-button"}),MaterialCheckbox.prototype.Constant_={TINY_TIMEOUT:.001},MaterialCheckbox.prototype.CssClasses_={INPUT:"mdl-checkbox__input",BOX_OUTLINE:"mdl-checkbox__box-outline",FOCUS_HELPER:"mdl-checkbox__focus-helper",TICK_OUTLINE:"mdl-checkbox__tick-outline",RIPPLE_EFFECT:"mdl-js-ripple-effect",RIPPLE_IGNORE_EVENTS:"mdl-js-ripple-effect--ignore-events",RIPPLE_CONTAINER:"mdl-checkbox__ripple-container",RIPPLE_CENTER:"mdl-ripple--center",RIPPLE:"mdl-ripple",IS_FOCUSED:"is-focused",IS_DISABLED:"is-disabled",IS_CHECKED:"is-checked",IS_UPGRADED:"is-upgraded"},MaterialCheckbox.prototype.onChange_=function(s){"use strict";this.updateClasses_()},MaterialCheckbox.prototype.onFocus_=function(s){"use strict";this.element_.classList.add(this.CssClasses_.IS_FOCUSED)},MaterialCheckbox.prototype.onBlur_=function(s){"use strict";this.element_.classList.remove(this.CssClasses_.IS_FOCUSED)},MaterialCheckbox.prototype.onMouseUp_=function(s){"use strict";this.blur_()},MaterialCheckbox.prototype.updateClasses_=function(){"use strict";this.inputElement_.disabled?this.element_.classList.add(this.CssClasses_.IS_DISABLED):this.element_.classList.remove(this.CssClasses_.IS_DISABLED),this.inputElement_.checked?this.element_.classList.add(this.CssClasses_.IS_CHECKED):this.element_.classList.remove(this.CssClasses_.IS_CHECKED)},MaterialCheckbox.prototype.blur_=function(s){"use strict";window.setTimeout(function(){this.inputElement_.blur()}.bind(this),this.Constant_.TINY_TIMEOUT)},MaterialCheckbox.prototype.disable=function(){"use strict";this.inputElement_.disabled=!0,this.updateClasses_()},MaterialCheckbox.prototype.enable=function(){"use strict";this.inputElement_.disabled=!1,this.updateClasses_()},MaterialCheckbox.prototype.check=function(){"use strict";this.inputElement_.checked=!0,this.updateClasses_()},MaterialCheckbox.prototype.uncheck=function(){"use strict";this.inputElement_.checked=!1,this.updateClasses_()},MaterialCheckbox.prototype.init=function(){"use strict";if(this.element_){this.inputElement_=this.element_.querySelector("."+this.CssClasses_.INPUT);var s=document.createElement("span");s.classList.add(this.CssClasses_.BOX_OUTLINE);var t=document.createElement("span");t.classList.add(this.CssClasses_.FOCUS_HELPER);var e=document.createElement("span");e.classList.add(this.CssClasses_.TICK_OUTLINE),s.appendChild(e),this.element_.appendChild(t),this.element_.appendChild(s);var i;if(this.element_.classList.contains(this.CssClasses_.RIPPLE_EFFECT)){this.element_.classList.add(this.CssClasses_.RIPPLE_IGNORE_EVENTS),i=document.createElement("span"),i.classList.add(this.CssClasses_.RIPPLE_CONTAINER),i.classList.add(this.CssClasses_.RIPPLE_EFFECT),i.classList.add(this.CssClasses_.RIPPLE_CENTER),i.addEventListener("mouseup",this.onMouseUp_.bind(this));var a=document.createElement("span");a.classList.add(this.CssClasses_.RIPPLE),i.appendChild(a),this.element_.appendChild(i)}this.inputElement_.addEventListener("change",this.onChange_.bind(this)),this.inputElement_.addEventListener("focus",this.onFocus_.bind(this)),this.inputElement_.addEventListener("blur",this.onBlur_.bind(this)),this.element_.addEventListener("mouseup",this.onMouseUp_.bind(this)),this.updateClasses_(),this.element_.classList.add(this.CssClasses_.IS_UPGRADED)}},componentHandler.register({constructor:MaterialCheckbox,classAsString:"MaterialCheckbox",cssClass:"mdl-js-checkbox"}),MaterialIconToggle.prototype.Constant_={TINY_TIMEOUT:.001},MaterialIconToggle.prototype.CssClasses_={INPUT:"mdl-icon-toggle__input",JS_RIPPLE_EFFECT:"mdl-js-ripple-effect",RIPPLE_IGNORE_EVENTS:"mdl-js-ripple-effect--ignore-events",RIPPLE_CONTAINER:"mdl-icon-toggle__ripple-container",RIPPLE_CENTER:"mdl-ripple--center",RIPPLE:"mdl-ripple",IS_FOCUSED:"is-focused",IS_DISABLED:"is-disabled",IS_CHECKED:"is-checked"},MaterialIconToggle.prototype.onChange_=function(s){"use strict";this.updateClasses_()},MaterialIconToggle.prototype.onFocus_=function(s){"use strict";this.element_.classList.add(this.CssClasses_.IS_FOCUSED)},MaterialIconToggle.prototype.onBlur_=function(s){"use strict";this.element_.classList.remove(this.CssClasses_.IS_FOCUSED)},MaterialIconToggle.prototype.onMouseUp_=function(s){"use strict";this.blur_()},MaterialIconToggle.prototype.updateClasses_=function(){"use strict";this.inputElement_.disabled?this.element_.classList.add(this.CssClasses_.IS_DISABLED):this.element_.classList.remove(this.CssClasses_.IS_DISABLED),this.inputElement_.checked?this.element_.classList.add(this.CssClasses_.IS_CHECKED):this.element_.classList.remove(this.CssClasses_.IS_CHECKED)},MaterialIconToggle.prototype.blur_=function(s){"use strict";window.setTimeout(function(){this.inputElement_.blur()}.bind(this),this.Constant_.TINY_TIMEOUT)},MaterialIconToggle.prototype.disable=function(){"use strict";this.inputElement_.disabled=!0,this.updateClasses_()},MaterialIconToggle.prototype.enable=function(){"use strict";this.inputElement_.disabled=!1,this.updateClasses_()},MaterialIconToggle.prototype.check=function(){"use strict";this.inputElement_.checked=!0,this.updateClasses_()},MaterialIconToggle.prototype.uncheck=function(){"use strict";this.inputElement_.checked=!1,this.updateClasses_()},MaterialIconToggle.prototype.init=function(){"use strict";if(this.element_){this.inputElement_=this.element_.querySelector("."+this.CssClasses_.INPUT);var s;if(this.element_.classList.contains(this.CssClasses_.JS_RIPPLE_EFFECT)){this.element_.classList.add(this.CssClasses_.RIPPLE_IGNORE_EVENTS),s=document.createElement("span"),s.classList.add(this.CssClasses_.RIPPLE_CONTAINER),s.classList.add(this.CssClasses_.JS_RIPPLE_EFFECT),s.classList.add(this.CssClasses_.RIPPLE_CENTER),s.addEventListener("mouseup",this.onMouseUp_.bind(this));var t=document.createElement("span");t.classList.add(this.CssClasses_.RIPPLE),s.appendChild(t),this.element_.appendChild(s)}this.inputElement_.addEventListener("change",this.onChange_.bind(this)),this.inputElement_.addEventListener("focus",this.onFocus_.bind(this)),this.inputElement_.addEventListener("blur",this.onBlur_.bind(this)),this.element_.addEventListener("mouseup",this.onMouseUp_.bind(this)),this.updateClasses_(),this.element_.classList.add("is-upgraded")}},componentHandler.register({constructor:MaterialIconToggle,classAsString:"MaterialIconToggle",cssClass:"mdl-js-icon-toggle"}),MaterialMenu.prototype.Constant_={TRANSITION_DURATION_SECONDS:.3,TRANSITION_DURATION_FRACTION:.8,CLOSE_TIMEOUT:150},MaterialMenu.prototype.Keycodes_={ENTER:13,ESCAPE:27,SPACE:32,UP_ARROW:38,DOWN_ARROW:40},MaterialMenu.prototype.CssClasses_={CONTAINER:"mdl-menu__container",OUTLINE:"mdl-menu__outline",ITEM:"mdl-menu__item",ITEM_RIPPLE_CONTAINER:"mdl-menu__item-ripple-container",RIPPLE_EFFECT:"mdl-js-ripple-effect",RIPPLE_IGNORE_EVENTS:"mdl-js-ripple-effect--ignore-events",RIPPLE:"mdl-ripple",IS_UPGRADED:"is-upgraded",IS_VISIBLE:"is-visible",IS_ANIMATING:"is-animating",BOTTOM_LEFT:"mdl-menu--bottom-left",BOTTOM_RIGHT:"mdl-menu--bottom-right",TOP_LEFT:"mdl-menu--top-left",TOP_RIGHT:"mdl-menu--top-right",UNALIGNED:"mdl-menu--unaligned"},MaterialMenu.prototype.init=function(){"use strict";if(this.element_){var s=document.createElement("div");s.classList.add(this.CssClasses_.CONTAINER),this.element_.parentElement.insertBefore(s,this.element_),this.element_.parentElement.removeChild(this.element_),s.appendChild(this.element_),this.container_=s;var t=document.createElement("div");t.classList.add(this.CssClasses_.OUTLINE),this.outline_=t,s.insertBefore(t,this.element_);var e=this.element_.getAttribute("for"),i=null;e&&(i=document.getElementById(e),i&&(this.forElement_=i,i.addEventListener("click",this.handleForClick_.bind(this)),i.addEventListener("keydown",this.handleForKeyboardEvent_.bind(this))));for(var a=this.element_.querySelectorAll("."+this.CssClasses_.ITEM),n=0;n<a.length;n++)a[n].addEventListener("click",this.handleItemClick_.bind(this)),a[n].tabIndex="-1",a[n].addEventListener("keydown",this.handleItemKeyboardEvent_.bind(this));if(this.element_.classList.contains(this.CssClasses_.RIPPLE_EFFECT))for(this.element_.classList.add(this.CssClasses_.RIPPLE_IGNORE_EVENTS),n=0;n<a.length;n++){var l=a[n],r=document.createElement("span");r.classList.add(this.CssClasses_.ITEM_RIPPLE_CONTAINER);var _=document.createElement("span");_.classList.add(this.CssClasses_.RIPPLE),r.appendChild(_),l.appendChild(r),l.classList.add(this.CssClasses_.RIPPLE_EFFECT)}this.element_.classList.contains(this.CssClasses_.BOTTOM_LEFT)&&this.outline_.classList.add(this.CssClasses_.BOTTOM_LEFT),this.element_.classList.contains(this.CssClasses_.BOTTOM_RIGHT)&&this.outline_.classList.add(this.CssClasses_.BOTTOM_RIGHT),this.element_.classList.contains(this.CssClasses_.TOP_LEFT)&&this.outline_.classList.add(this.CssClasses_.TOP_LEFT),this.element_.classList.contains(this.CssClasses_.TOP_RIGHT)&&this.outline_.classList.add(this.CssClasses_.TOP_RIGHT),this.element_.classList.contains(this.CssClasses_.UNALIGNED)&&this.outline_.classList.add(this.CssClasses_.UNALIGNED),s.classList.add(this.CssClasses_.IS_UPGRADED)}},MaterialMenu.prototype.handleForClick_=function(s){"use strict";if(this.element_&&this.forElement_){var t=this.forElement_.getBoundingClientRect(),e=this.forElement_.parentElement.getBoundingClientRect();this.element_.classList.contains(this.CssClasses_.UNALIGNED)||(this.element_.classList.contains(this.CssClasses_.BOTTOM_RIGHT)?(this.container_.style.right=e.right-t.right+"px",this.container_.style.top=this.forElement_.offsetTop+this.forElement_.offsetHeight+"px"):this.element_.classList.contains(this.CssClasses_.TOP_LEFT)?(this.container_.style.left=this.forElement_.offsetLeft+"px",this.container_.style.bottom=e.bottom-t.top+"px"):this.element_.classList.contains(this.CssClasses_.TOP_RIGHT)?(this.container_.style.right=e.right-t.right+"px",this.container_.style.bottom=e.bottom-t.top+"px"):(this.container_.style.left=this.forElement_.offsetLeft+"px",this.container_.style.top=this.forElement_.offsetTop+this.forElement_.offsetHeight+"px"))}this.toggle(s)},MaterialMenu.prototype.handleForKeyboardEvent_=function(s){"use strict";if(this.element_&&this.container_&&this.forElement_){var t=this.element_.querySelectorAll("."+this.CssClasses_.ITEM+":not([disabled])");t&&t.length>0&&this.container_.classList.contains(this.CssClasses_.IS_VISIBLE)&&(s.keyCode===this.Keycodes_.UP_ARROW?(s.preventDefault(),t[t.length-1].focus()):s.keyCode===this.Keycodes_.DOWN_ARROW&&(s.preventDefault(),t[0].focus()))}},MaterialMenu.prototype.handleItemKeyboardEvent_=function(s){"use strict";if(this.element_&&this.container_){var t=this.element_.querySelectorAll("."+this.CssClasses_.ITEM+":not([disabled])");if(t&&t.length>0&&this.container_.classList.contains(this.CssClasses_.IS_VISIBLE)){var e=Array.prototype.slice.call(t).indexOf(s.target);if(s.keyCode===this.Keycodes_.UP_ARROW)s.preventDefault(),e>0?t[e-1].focus():t[t.length-1].focus();else if(s.keyCode===this.Keycodes_.DOWN_ARROW)s.preventDefault(),t.length>e+1?t[e+1].focus():t[0].focus();else if(s.keyCode===this.Keycodes_.SPACE||s.keyCode===this.Keycodes_.ENTER){s.preventDefault();var i=new MouseEvent("mousedown");s.target.dispatchEvent(i),i=new MouseEvent("mouseup"),s.target.dispatchEvent(i),s.target.click()}else s.keyCode===this.Keycodes_.ESCAPE&&(s.preventDefault(),this.hide())}}},MaterialMenu.prototype.handleItemClick_=function(s){"use strict";null!==s.target.getAttribute("disabled")?s.stopPropagation():(this.closing_=!0,window.setTimeout(function(s){this.hide(),this.closing_=!1}.bind(this),this.Constant_.CLOSE_TIMEOUT))},MaterialMenu.prototype.applyClip_=function(s,t){"use strict";this.element_.style.clip=this.element_.classList.contains(this.CssClasses_.UNALIGNED)?null:this.element_.classList.contains(this.CssClasses_.BOTTOM_RIGHT)?"rect(0 "+t+"px 0 "+t+"px)":this.element_.classList.contains(this.CssClasses_.TOP_LEFT)?"rect("+s+"px 0 "+s+"px 0)":this.element_.classList.contains(this.CssClasses_.TOP_RIGHT)?"rect("+s+"px "+t+"px "+s+"px "+t+"px)":null},MaterialMenu.prototype.addAnimationEndListener_=function(){"use strict";var s=function(){this.element_.classList.remove(this.CssClasses_.IS_ANIMATING)}.bind(this);this.element_.addEventListener("transitionend",s),this.element_.addEventListener("webkitTransitionEnd",s)},MaterialMenu.prototype.show=function(s){"use strict";if(this.element_&&this.container_&&this.outline_){var t=this.element_.getBoundingClientRect().height,e=this.element_.getBoundingClientRect().width;this.container_.style.width=e+"px",this.container_.style.height=t+"px",this.outline_.style.width=e+"px",this.outline_.style.height=t+"px";for(var i=this.Constant_.TRANSITION_DURATION_SECONDS*this.Constant_.TRANSITION_DURATION_FRACTION,a=this.element_.querySelectorAll("."+this.CssClasses_.ITEM),n=0;n<a.length;n++){var l=null;l=this.element_.classList.contains(this.CssClasses_.TOP_LEFT)||this.element_.classList.contains(this.CssClasses_.TOP_RIGHT)?(t-a[n].offsetTop-a[n].offsetHeight)/t*i+"s":a[n].offsetTop/t*i+"s",a[n].style.transitionDelay=l}this.applyClip_(t,e),window.requestAnimationFrame(function(){this.element_.classList.add(this.CssClasses_.IS_ANIMATING),this.element_.style.clip="rect(0 "+e+"px "+t+"px 0)",this.container_.classList.add(this.CssClasses_.IS_VISIBLE)}.bind(this)),this.addAnimationEndListener_();var r=function(t){t===s||this.closing_||(document.removeEventListener("click",r),this.hide())}.bind(this);document.addEventListener("click",r)}},MaterialMenu.prototype.hide=function(){"use strict";if(this.element_&&this.container_&&this.outline_){for(var s=this.element_.querySelectorAll("."+this.CssClasses_.ITEM),t=0;t<s.length;t++)s[t].style.transitionDelay=null;var e=this.element_.getBoundingClientRect().height,i=this.element_.getBoundingClientRect().width;this.element_.classList.add(this.CssClasses_.IS_ANIMATING),this.applyClip_(e,i),this.container_.classList.remove(this.CssClasses_.IS_VISIBLE),this.addAnimationEndListener_()}},MaterialMenu.prototype.toggle=function(s){"use strict";this.container_.classList.contains(this.CssClasses_.IS_VISIBLE)?this.hide():this.show(s)},componentHandler.register({constructor:MaterialMenu,classAsString:"MaterialMenu",cssClass:"mdl-js-menu"}),MaterialProgress.prototype.Constant_={},MaterialProgress.prototype.CssClasses_={INDETERMINATE_CLASS:"mdl-progress__indeterminate"},MaterialProgress.prototype.setProgress=function(s){"use strict";this.element_.classList.contains(this.CssClasses_.INDETERMINATE_CLASS)||(this.progressbar_.style.width=s+"%")},MaterialProgress.prototype.setBuffer=function(s){"use strict";this.bufferbar_.style.width=s+"%",this.auxbar_.style.width=100-s+"%"},MaterialProgress.prototype.init=function(){"use strict";if(this.element_){var s=document.createElement("div");s.className="progressbar bar bar1",this.element_.appendChild(s),this.progressbar_=s,s=document.createElement("div"),s.className="bufferbar bar bar2",this.element_.appendChild(s),this.bufferbar_=s,s=document.createElement("div"),s.className="auxbar bar bar3",this.element_.appendChild(s),this.auxbar_=s,this.progressbar_.style.width="0%",this.bufferbar_.style.width="100%",this.auxbar_.style.width="0%",this.element_.classList.add("is-upgraded")}},componentHandler.register({constructor:MaterialProgress,classAsString:"MaterialProgress",cssClass:"mdl-js-progress"}),MaterialRadio.prototype.Constant_={TINY_TIMEOUT:.001},MaterialRadio.prototype.CssClasses_={IS_FOCUSED:"is-focused",IS_DISABLED:"is-disabled",IS_CHECKED:"is-checked",IS_UPGRADED:"is-upgraded",JS_RADIO:"mdl-js-radio",RADIO_BTN:"mdl-radio__button",RADIO_OUTER_CIRCLE:"mdl-radio__outer-circle",RADIO_INNER_CIRCLE:"mdl-radio__inner-circle",RIPPLE_EFFECT:"mdl-js-ripple-effect",RIPPLE_IGNORE_EVENTS:"mdl-js-ripple-effect--ignore-events",RIPPLE_CONTAINER:"mdl-radio__ripple-container",RIPPLE_CENTER:"mdl-ripple--center",RIPPLE:"mdl-ripple"},MaterialRadio.prototype.onChange_=function(s){"use strict";this.updateClasses_(this.btnElement_,this.element_);for(var t=document.getElementsByClassName(this.CssClasses_.JS_RADIO),e=0;e<t.length;e++){var i=t[e].querySelector("."+this.CssClasses_.RADIO_BTN);i.getAttribute("name")===this.btnElement_.getAttribute("name")&&this.updateClasses_(i,t[e])}},MaterialRadio.prototype.onFocus_=function(s){"use strict";this.element_.classList.add(this.CssClasses_.IS_FOCUSED)},MaterialRadio.prototype.onBlur_=function(s){"use strict";this.element_.classList.remove(this.CssClasses_.IS_FOCUSED)},MaterialRadio.prototype.onMouseup_=function(s){"use strict";this.blur_()},MaterialRadio.prototype.updateClasses_=function(s,t){"use strict";s.disabled?t.classList.add(this.CssClasses_.IS_DISABLED):t.classList.remove(this.CssClasses_.IS_DISABLED),s.checked?t.classList.add(this.CssClasses_.IS_CHECKED):t.classList.remove(this.CssClasses_.IS_CHECKED)},MaterialRadio.prototype.blur_=function(s){"use strict";window.setTimeout(function(){this.btnElement_.blur()}.bind(this),this.Constant_.TINY_TIMEOUT)},MaterialRadio.prototype.disable=function(){"use strict";this.btnElement_.disabled=!0,this.updateClasses_(this.btnElement_,this.element_)},MaterialRadio.prototype.enable=function(){"use strict";this.btnElement_.disabled=!1,this.updateClasses_(this.btnElement_,this.element_)},MaterialRadio.prototype.check=function(){"use strict";this.btnElement_.checked=!0,this.updateClasses_(this.btnElement_,this.element_)},MaterialRadio.prototype.uncheck=function(){"use strict";this.btnElement_.checked=!1,this.updateClasses_(this.btnElement_,this.element_)},MaterialRadio.prototype.init=function(){"use strict";if(this.element_){this.btnElement_=this.element_.querySelector("."+this.CssClasses_.RADIO_BTN);var s=document.createElement("span");s.classList.add(this.CssClasses_.RADIO_OUTER_CIRCLE);var t=document.createElement("span");t.classList.add(this.CssClasses_.RADIO_INNER_CIRCLE),this.element_.appendChild(s),this.element_.appendChild(t);var e;if(this.element_.classList.contains(this.CssClasses_.RIPPLE_EFFECT)){this.element_.classList.add(this.CssClasses_.RIPPLE_IGNORE_EVENTS),e=document.createElement("span"),e.classList.add(this.CssClasses_.RIPPLE_CONTAINER),e.classList.add(this.CssClasses_.RIPPLE_EFFECT),e.classList.add(this.CssClasses_.RIPPLE_CENTER),e.addEventListener("mouseup",this.onMouseup_.bind(this));var i=document.createElement("span");i.classList.add(this.CssClasses_.RIPPLE),e.appendChild(i),this.element_.appendChild(e)}this.btnElement_.addEventListener("change",this.onChange_.bind(this)),this.btnElement_.addEventListener("focus",this.onFocus_.bind(this)),this.btnElement_.addEventListener("blur",this.onBlur_.bind(this)),this.element_.addEventListener("mouseup",this.onMouseup_.bind(this)),this.updateClasses_(this.btnElement_,this.element_),this.element_.classList.add(this.CssClasses_.IS_UPGRADED)}},componentHandler.register({constructor:MaterialRadio,classAsString:"MaterialRadio",cssClass:"mdl-js-radio"}),MaterialSlider.prototype.Constant_={},MaterialSlider.prototype.CssClasses_={IE_CONTAINER:"mdl-slider__ie-container",SLIDER_CONTAINER:"mdl-slider__container",BACKGROUND_FLEX:"mdl-slider__background-flex",BACKGROUND_LOWER:"mdl-slider__background-lower",BACKGROUND_UPPER:"mdl-slider__background-upper",IS_LOWEST_VALUE:"is-lowest-value",IS_UPGRADED:"is-upgraded"},MaterialSlider.prototype.onInput_=function(s){"use strict";this.updateValueStyles_()},MaterialSlider.prototype.onChange_=function(s){"use strict";this.updateValueStyles_()},MaterialSlider.prototype.onMouseUp_=function(s){"use strict";s.target.blur()},MaterialSlider.prototype.updateValueStyles_=function(s){"use strict";var t=(this.element_.value-this.element_.min)/(this.element_.max-this.element_.min);0===t?this.element_.classList.add(this.CssClasses_.IS_LOWEST_VALUE):this.element_.classList.remove(this.CssClasses_.IS_LOWEST_VALUE),this.isIE_||(this.backgroundLower_.style.flex=t,this.backgroundLower_.style.webkitFlex=t,this.backgroundUpper_.style.flex=1-t,this.backgroundUpper_.style.webkitFlex=1-t)},MaterialSlider.prototype.disable=function(){"use strict";this.element_.disabled=!0},MaterialSlider.prototype.enable=function(){"use strict";this.element_.disabled=!1},MaterialSlider.prototype.change=function(s){"use strict";s&&(this.element_.value=s),this.updateValueStyles_()},MaterialSlider.prototype.init=function(){"use strict";if(this.element_){if(this.isIE_){var s=document.createElement("div");s.classList.add(this.CssClasses_.IE_CONTAINER),this.element_.parentElement.insertBefore(s,this.element_),this.element_.parentElement.removeChild(this.element_),s.appendChild(this.element_)}else{var t=document.createElement("div");t.classList.add(this.CssClasses_.SLIDER_CONTAINER),this.element_.parentElement.insertBefore(t,this.element_),this.element_.parentElement.removeChild(this.element_),t.appendChild(this.element_);var e=document.createElement("div");e.classList.add(this.CssClasses_.BACKGROUND_FLEX),t.appendChild(e),this.backgroundLower_=document.createElement("div"),this.backgroundLower_.classList.add(this.CssClasses_.BACKGROUND_LOWER),e.appendChild(this.backgroundLower_),this.backgroundUpper_=document.createElement("div"),this.backgroundUpper_.classList.add(this.CssClasses_.BACKGROUND_UPPER),e.appendChild(this.backgroundUpper_)}this.element_.addEventListener("input",this.onInput_.bind(this)),this.element_.addEventListener("change",this.onChange_.bind(this)),this.element_.addEventListener("mouseup",this.onMouseUp_.bind(this)),this.updateValueStyles_(),this.element_.classList.add(this.CssClasses_.IS_UPGRADED)}},componentHandler.register({constructor:MaterialSlider,classAsString:"MaterialSlider",cssClass:"mdl-js-slider"}),MaterialSpinner.prototype.Constant_={MDL_SPINNER_LAYER_COUNT:4},MaterialSpinner.prototype.CssClasses_={MDL_SPINNER_LAYER:"mdl-spinner__layer",MDL_SPINNER_CIRCLE_CLIPPER:"mdl-spinner__circle-clipper",MDL_SPINNER_CIRCLE:"mdl-spinner__circle",MDL_SPINNER_GAP_PATCH:"mdl-spinner__gap-patch",MDL_SPINNER_LEFT:"mdl-spinner__left",MDL_SPINNER_RIGHT:"mdl-spinner__right"},MaterialSpinner.prototype.createLayer=function(s){"use strict";var t=document.createElement("div");t.classList.add(this.CssClasses_.MDL_SPINNER_LAYER),t.classList.add(this.CssClasses_.MDL_SPINNER_LAYER+"-"+s);var e=document.createElement("div");e.classList.add(this.CssClasses_.MDL_SPINNER_CIRCLE_CLIPPER),e.classList.add(this.CssClasses_.MDL_SPINNER_LEFT);var i=document.createElement("div");i.classList.add(this.CssClasses_.MDL_SPINNER_GAP_PATCH);var a=document.createElement("div");a.classList.add(this.CssClasses_.MDL_SPINNER_CIRCLE_CLIPPER),a.classList.add(this.CssClasses_.MDL_SPINNER_RIGHT);for(var n=[e,i,a],l=0;l<n.length;l++){var r=document.createElement("div");r.classList.add(this.CssClasses_.MDL_SPINNER_CIRCLE),n[l].appendChild(r)}t.appendChild(e),t.appendChild(i),t.appendChild(a),this.element_.appendChild(t)},MaterialSpinner.prototype.stop=function(){"use strict";this.element_.classList.remove("is-active")},MaterialSpinner.prototype.start=function(){"use strict";this.element_.classList.add("is-active")},MaterialSpinner.prototype.init=function(){"use strict";if(this.element_){for(var s=1;s<=this.Constant_.MDL_SPINNER_LAYER_COUNT;s++)this.createLayer(s);this.element_.classList.add("is-upgraded")}},componentHandler.register({constructor:MaterialSpinner,classAsString:"MaterialSpinner",cssClass:"mdl-js-spinner"}),MaterialSwitch.prototype.Constant_={TINY_TIMEOUT:.001},MaterialSwitch.prototype.CssClasses_={INPUT:"mdl-switch__input",TRACK:"mdl-switch__track",THUMB:"mdl-switch__thumb",FOCUS_HELPER:"mdl-switch__focus-helper",RIPPLE_EFFECT:"mdl-js-ripple-effect",RIPPLE_IGNORE_EVENTS:"mdl-js-ripple-effect--ignore-events",RIPPLE_CONTAINER:"mdl-switch__ripple-container",RIPPLE_CENTER:"mdl-ripple--center",RIPPLE:"mdl-ripple",IS_FOCUSED:"is-focused",IS_DISABLED:"is-disabled",IS_CHECKED:"is-checked"},MaterialSwitch.prototype.onChange_=function(s){"use strict";this.updateClasses_()},MaterialSwitch.prototype.onFocus_=function(s){"use strict";this.element_.classList.add(this.CssClasses_.IS_FOCUSED)},MaterialSwitch.prototype.onBlur_=function(s){"use strict";this.element_.classList.remove(this.CssClasses_.IS_FOCUSED)},MaterialSwitch.prototype.onMouseUp_=function(s){"use strict";this.blur_()},MaterialSwitch.prototype.updateClasses_=function(){"use strict";this.inputElement_.disabled?this.element_.classList.add(this.CssClasses_.IS_DISABLED):this.element_.classList.remove(this.CssClasses_.IS_DISABLED),this.inputElement_.checked?this.element_.classList.add(this.CssClasses_.IS_CHECKED):this.element_.classList.remove(this.CssClasses_.IS_CHECKED)},MaterialSwitch.prototype.blur_=function(s){"use strict";window.setTimeout(function(){this.inputElement_.blur()}.bind(this),this.Constant_.TINY_TIMEOUT)},MaterialSwitch.prototype.disable=function(){"use strict";this.inputElement_.disabled=!0,this.updateClasses_()},MaterialSwitch.prototype.enable=function(){"use strict";this.inputElement_.disabled=!1,this.updateClasses_()},MaterialSwitch.prototype.on=function(){"use strict";this.inputElement_.checked=!0,this.updateClasses_()},MaterialSwitch.prototype.off=function(){"use strict";this.inputElement_.checked=!1,this.updateClasses_()},MaterialSwitch.prototype.init=function(){"use strict";if(this.element_){this.inputElement_=this.element_.querySelector("."+this.CssClasses_.INPUT);var s=document.createElement("div");s.classList.add(this.CssClasses_.TRACK);var t=document.createElement("div");t.classList.add(this.CssClasses_.THUMB);var e=document.createElement("span");e.classList.add(this.CssClasses_.FOCUS_HELPER),t.appendChild(e),this.element_.appendChild(s),this.element_.appendChild(t);
var i;if(this.element_.classList.contains(this.CssClasses_.RIPPLE_EFFECT)){this.element_.classList.add(this.CssClasses_.RIPPLE_IGNORE_EVENTS),i=document.createElement("span"),i.classList.add(this.CssClasses_.RIPPLE_CONTAINER),i.classList.add(this.CssClasses_.RIPPLE_EFFECT),i.classList.add(this.CssClasses_.RIPPLE_CENTER),i.addEventListener("mouseup",this.onMouseUp_.bind(this));var a=document.createElement("span");a.classList.add(this.CssClasses_.RIPPLE),i.appendChild(a),this.element_.appendChild(i)}this.inputElement_.addEventListener("change",this.onChange_.bind(this)),this.inputElement_.addEventListener("focus",this.onFocus_.bind(this)),this.inputElement_.addEventListener("blur",this.onBlur_.bind(this)),this.element_.addEventListener("mouseup",this.onMouseUp_.bind(this)),this.updateClasses_(),this.element_.classList.add("is-upgraded")}},componentHandler.register({constructor:MaterialSwitch,classAsString:"MaterialSwitch",cssClass:"mdl-js-switch"}),MaterialTabs.prototype.Constant_={},MaterialTabs.prototype.CssClasses_={TAB_CLASS:"mdl-tabs__tab",PANEL_CLASS:"mdl-tabs__panel",ACTIVE_CLASS:"is-active",UPGRADED_CLASS:"is-upgraded",MDL_JS_RIPPLE_EFFECT:"mdl-js-ripple-effect",MDL_RIPPLE_CONTAINER:"mdl-tabs__ripple-container",MDL_RIPPLE:"mdl-ripple",MDL_JS_RIPPLE_EFFECT_IGNORE_EVENTS:"mdl-js-ripple-effect--ignore-events"},MaterialTabs.prototype.initTabs_=function(s){"use strict";this.element_.classList.contains(this.CssClasses_.MDL_JS_RIPPLE_EFFECT)&&this.element_.classList.add(this.CssClasses_.MDL_JS_RIPPLE_EFFECT_IGNORE_EVENTS),this.tabs_=this.element_.querySelectorAll("."+this.CssClasses_.TAB_CLASS),this.panels_=this.element_.querySelectorAll("."+this.CssClasses_.PANEL_CLASS);for(var t=0;t<this.tabs_.length;t++)new MaterialTab(this.tabs_[t],this);this.element_.classList.add(this.CssClasses_.UPGRADED_CLASS)},MaterialTabs.prototype.resetTabState_=function(){"use strict";for(var s=0;s<this.tabs_.length;s++)this.tabs_[s].classList.remove(this.CssClasses_.ACTIVE_CLASS)},MaterialTabs.prototype.resetPanelState_=function(){"use strict";for(var s=0;s<this.panels_.length;s++)this.panels_[s].classList.remove(this.CssClasses_.ACTIVE_CLASS)},MaterialTabs.prototype.init=function(){"use strict";this.element_&&this.initTabs_()},componentHandler.register({constructor:MaterialTabs,classAsString:"MaterialTabs",cssClass:"mdl-js-tabs"}),MaterialTextfield.prototype.Constant_={NO_MAX_ROWS:-1,MAX_ROWS_ATTRIBUTE:"maxrows"},MaterialTextfield.prototype.CssClasses_={LABEL:"mdl-textfield__label",INPUT:"mdl-textfield__input",IS_DIRTY:"is-dirty",IS_FOCUSED:"is-focused",IS_DISABLED:"is-disabled",IS_INVALID:"is-invalid",IS_UPGRADED:"is-upgraded"},MaterialTextfield.prototype.onKeyDown_=function(s){"use strict";var t=s.target.value.split("\n").length;13===s.keyCode&&t>=this.maxRows&&s.preventDefault()},MaterialTextfield.prototype.onFocus_=function(s){"use strict";this.element_.classList.add(this.CssClasses_.IS_FOCUSED)},MaterialTextfield.prototype.onBlur_=function(s){"use strict";this.element_.classList.remove(this.CssClasses_.IS_FOCUSED)},MaterialTextfield.prototype.updateClasses_=function(){"use strict";this.input_.disabled?this.element_.classList.add(this.CssClasses_.IS_DISABLED):this.element_.classList.remove(this.CssClasses_.IS_DISABLED),this.input_.validity.valid?this.element_.classList.remove(this.CssClasses_.IS_INVALID):this.element_.classList.add(this.CssClasses_.IS_INVALID),this.input_.value&&this.input_.value.length>0?this.element_.classList.add(this.CssClasses_.IS_DIRTY):this.element_.classList.remove(this.CssClasses_.IS_DIRTY)},MaterialTextfield.prototype.disable=function(){"use strict";this.input_.disabled=!0,this.updateClasses_()},MaterialTextfield.prototype.enable=function(){"use strict";this.input_.disabled=!1,this.updateClasses_()},MaterialTextfield.prototype.change=function(s){"use strict";s&&(this.input_.value=s),this.updateClasses_()},MaterialTextfield.prototype.init=function(){"use strict";this.element_&&(this.label_=this.element_.querySelector("."+this.CssClasses_.LABEL),this.input_=this.element_.querySelector("."+this.CssClasses_.INPUT),this.input_&&(this.input_.hasAttribute(this.Constant_.MAX_ROWS_ATTRIBUTE)&&(this.maxRows=parseInt(this.input_.getAttribute(this.Constant_.MAX_ROWS_ATTRIBUTE),10),isNaN(this.maxRows)&&(this.maxRows=this.Constant_.NO_MAX_ROWS)),this.input_.addEventListener("input",this.updateClasses_.bind(this)),this.input_.addEventListener("focus",this.onFocus_.bind(this)),this.input_.addEventListener("blur",this.onBlur_.bind(this)),this.maxRows!==this.Constant_.NO_MAX_ROWS&&this.input_.addEventListener("keydown",this.onKeyDown_.bind(this)),this.updateClasses_(),this.element_.classList.add(this.CssClasses_.IS_UPGRADED)))},componentHandler.register({constructor:MaterialTextfield,classAsString:"MaterialTextfield",cssClass:"mdl-js-textfield"}),MaterialTooltip.prototype.Constant_={},MaterialTooltip.prototype.CssClasses_={IS_ACTIVE:"is-active"},MaterialTooltip.prototype.handleMouseEnter_=function(s){"use strict";s.stopPropagation();var t=s.target.getBoundingClientRect();this.element_.style.left=t.left+t.width/2+"px",this.element_.style.marginLeft=-1*(this.element_.offsetWidth/2)+"px",this.element_.style.top=t.top+t.height+10+"px",this.element_.classList.add(this.CssClasses_.IS_ACTIVE)},MaterialTooltip.prototype.handleMouseLeave_=function(s){"use strict";s.stopPropagation(),this.element_.classList.remove(this.CssClasses_.IS_ACTIVE)},MaterialTooltip.prototype.init=function(){"use strict";if(this.element_){var s=this.element_.getAttribute("for"),t=null;s&&(t=document.getElementById(s)),t&&(t.addEventListener("mouseenter",this.handleMouseEnter_.bind(this),!1),t.addEventListener("mouseleave",this.handleMouseLeave_.bind(this)))}},componentHandler.register({constructor:MaterialTooltip,classAsString:"MaterialTooltip",cssClass:"mdl-tooltip"}),MaterialLayout.prototype.Constant_={MAX_WIDTH:"(max-width: 850px)"},MaterialLayout.prototype.Mode_={STANDARD:0,SEAMED:1,WATERFALL:2,SCROLL:3},MaterialLayout.prototype.CssClasses_={HEADER:"mdl-layout__header",DRAWER:"mdl-layout__drawer",CONTENT:"mdl-layout__content",DRAWER_BTN:"mdl-layout__drawer-button",JS_RIPPLE_EFFECT:"mdl-js-ripple-effect",RIPPLE_CONTAINER:"mdl-layout__tab-ripple-container",RIPPLE:"mdl-ripple",RIPPLE_IGNORE_EVENTS:"mdl-js-ripple-effect--ignore-events",HEADER_SEAMED:"mdl-layout__header--seamed",HEADER_WATERFALL:"mdl-layout__header--waterfall",HEADER_SCROLL:"mdl-layout__header--scroll",FIXED_HEADER:"mdl-layout--fixed-header",OBFUSCATOR:"mdl-layout__obfuscator",TAB_BAR:"mdl-layout__tab-bar",TAB_CONTAINER:"mdl-layout__tab-bar-container",TAB:"mdl-layout__tab",TAB_BAR_BUTTON:"mdl-layout__tab-bar-button",TAB_BAR_LEFT_BUTTON:"mdl-layout__tab-bar-left-button",TAB_BAR_RIGHT_BUTTON:"mdl-layout__tab-bar-right-button",PANEL:"mdl-layout__tab-panel",HAS_DRAWER_CLASS:"has-drawer",SHADOW_CLASS:"is-casting-shadow",COMPACT_CLASS:"is-compact",SMALL_SCREEN_CLASS:"is-small-screen",DRAWER_OPEN_CLASS:"is-visible",ACTIVE_CLASS:"is-active",UPGRADED_CLASS:"is-upgraded",ANIMATING_CLASS:"is-animating"},MaterialLayout.prototype.contentScrollHandler_=function(){"use strict";this.header_.classList.contains(this.CssClasses_.ANIMATING_CLASS)||(this.content_.scrollTop>0&&!this.header_.classList.contains(this.CssClasses_.COMPACT_CLASS)?(this.header_.classList.add(this.CssClasses_.SHADOW_CLASS),this.header_.classList.add(this.CssClasses_.COMPACT_CLASS),this.header_.classList.add(this.CssClasses_.ANIMATING_CLASS)):this.content_.scrollTop<=0&&this.header_.classList.contains(this.CssClasses_.COMPACT_CLASS)&&(this.header_.classList.remove(this.CssClasses_.SHADOW_CLASS),this.header_.classList.remove(this.CssClasses_.COMPACT_CLASS),this.header_.classList.add(this.CssClasses_.ANIMATING_CLASS)))},MaterialLayout.prototype.screenSizeHandler_=function(){"use strict";this.screenSizeMediaQuery_.matches?this.element_.classList.add(this.CssClasses_.SMALL_SCREEN_CLASS):(this.element_.classList.remove(this.CssClasses_.SMALL_SCREEN_CLASS),this.drawer_&&this.drawer_.classList.remove(this.CssClasses_.DRAWER_OPEN_CLASS))},MaterialLayout.prototype.drawerToggleHandler_=function(){"use strict";this.drawer_.classList.toggle(this.CssClasses_.DRAWER_OPEN_CLASS)},MaterialLayout.prototype.headerTransitionEndHandler=function(){"use strict";this.header_.classList.remove(this.CssClasses_.ANIMATING_CLASS)},MaterialLayout.prototype.headerClickHandler=function(){"use strict";this.header_.classList.contains(this.CssClasses_.COMPACT_CLASS)&&(this.header_.classList.remove(this.CssClasses_.COMPACT_CLASS),this.header_.classList.add(this.CssClasses_.ANIMATING_CLASS))},MaterialLayout.prototype.resetTabState_=function(s){"use strict";for(var t=0;t<s.length;t++)s[t].classList.remove(this.CssClasses_.ACTIVE_CLASS)},MaterialLayout.prototype.resetPanelState_=function(s){"use strict";for(var t=0;t<s.length;t++)s[t].classList.remove(this.CssClasses_.ACTIVE_CLASS)},MaterialLayout.prototype.init=function(){"use strict";if(this.element_){var s=document.createElement("div");s.classList.add("mdl-layout__container"),this.element_.parentElement.insertBefore(s,this.element_),this.element_.parentElement.removeChild(this.element_),s.appendChild(this.element_),this.header_=this.element_.querySelector("."+this.CssClasses_.HEADER),this.drawer_=this.element_.querySelector("."+this.CssClasses_.DRAWER),this.tabBar_=this.element_.querySelector("."+this.CssClasses_.TAB_BAR),this.content_=this.element_.querySelector("."+this.CssClasses_.CONTENT);var t=this.Mode_.STANDARD;if(this.screenSizeMediaQuery_=window.matchMedia(this.Constant_.MAX_WIDTH),this.screenSizeMediaQuery_.addListener(this.screenSizeHandler_.bind(this)),this.screenSizeHandler_(),this.header_&&(this.header_.classList.contains(this.CssClasses_.HEADER_SEAMED)?t=this.Mode_.SEAMED:this.header_.classList.contains(this.CssClasses_.HEADER_WATERFALL)?(t=this.Mode_.WATERFALL,this.header_.addEventListener("transitionend",this.headerTransitionEndHandler.bind(this)),this.header_.addEventListener("click",this.headerClickHandler.bind(this))):this.element_.classList.contains(this.CssClasses_.HEADER_SCROLL)&&(t=this.Mode_.SCROLL),t===this.Mode_.STANDARD?(this.header_.classList.add(this.CssClasses_.SHADOW_CLASS),this.tabBar_&&this.tabBar_.classList.add(this.CssClasses_.SHADOW_CLASS)):t===this.Mode_.SEAMED||t===this.Mode_.SCROLL?(this.header_.classList.remove(this.CssClasses_.SHADOW_CLASS),this.tabBar_&&this.tabBar_.classList.remove(this.CssClasses_.SHADOW_CLASS)):t===this.Mode_.WATERFALL&&(this.content_.addEventListener("scroll",this.contentScrollHandler_.bind(this)),this.contentScrollHandler_())),this.drawer_){var e=document.createElement("div");e.classList.add(this.CssClasses_.DRAWER_BTN),e.addEventListener("click",this.drawerToggleHandler_.bind(this)),this.element_.classList.add(this.CssClasses_.HAS_DRAWER_CLASS),this.element_.classList.contains(this.CssClasses_.FIXED_HEADER)?this.header_.insertBefore(e,this.header_.firstChild):this.element_.insertBefore(e,this.content_);var i=document.createElement("div");i.classList.add(this.CssClasses_.OBFUSCATOR),this.element_.appendChild(i),i.addEventListener("click",this.drawerToggleHandler_.bind(this))}if(this.tabBar_){var a=document.createElement("div");a.classList.add(this.CssClasses_.TAB_CONTAINER),this.element_.insertBefore(a,this.tabBar_),this.element_.removeChild(this.tabBar_);var n=document.createElement("div");n.classList.add(this.CssClasses_.TAB_BAR_BUTTON),n.classList.add(this.CssClasses_.TAB_BAR_LEFT_BUTTON),n.addEventListener("click",function(){this.tabBar_.scrollLeft-=100}.bind(this));var l=document.createElement("div");l.classList.add(this.CssClasses_.TAB_BAR_BUTTON),l.classList.add(this.CssClasses_.TAB_BAR_RIGHT_BUTTON),l.addEventListener("click",function(){this.tabBar_.scrollLeft+=100}.bind(this)),a.appendChild(n),a.appendChild(this.tabBar_),a.appendChild(l);var r=function(){this.tabBar_.scrollLeft>0?n.classList.add(this.CssClasses_.ACTIVE_CLASS):n.classList.remove(this.CssClasses_.ACTIVE_CLASS),this.tabBar_.scrollLeft<this.tabBar_.scrollWidth-this.tabBar_.offsetWidth?l.classList.add(this.CssClasses_.ACTIVE_CLASS):l.classList.remove(this.CssClasses_.ACTIVE_CLASS)}.bind(this);this.tabBar_.addEventListener("scroll",r),r(),this.tabBar_.classList.contains(this.CssClasses_.JS_RIPPLE_EFFECT)&&this.tabBar_.classList.add(this.CssClasses_.RIPPLE_IGNORE_EVENTS);for(var _=this.tabBar_.querySelectorAll("."+this.CssClasses_.TAB),o=this.content_.querySelectorAll("."+this.CssClasses_.PANEL),h=0;h<_.length;h++)new MaterialLayoutTab(_[h],_,o,this)}this.element_.classList.add(this.CssClasses_.UPGRADED_CLASS)}},componentHandler.register({constructor:MaterialLayout,classAsString:"MaterialLayout",cssClass:"mdl-js-layout"}),MaterialRipple.prototype.Constant_={INITIAL_SCALE:"scale(0.0001, 0.0001)",INITIAL_SIZE:"1px",INITIAL_OPACITY:"0.4",FINAL_OPACITY:"0",FINAL_SCALE:""},MaterialRipple.prototype.CssClasses_={RIPPLE_CENTER:"mdl-ripple--center",RIPPLE_EFFECT_IGNORE_EVENTS:"mdl-js-ripple-effect--ignore-events",RIPPLE:"mdl-ripple",IS_ANIMATING:"is-animating",IS_VISIBLE:"is-visible"},MaterialRipple.prototype.downHandler_=function(s){"use strict";if(this.rippleElement_.classList.add(this.CssClasses_.IS_VISIBLE),"mousedown"===s.type&&this.ignoringMouseDown_)this.ignoringMouseDown_=!1;else{"touchstart"===s.type&&(this.ignoringMouseDown_=!0);var t=this.getFrameCount();if(t>0)return;this.setFrameCount(1);var e,i,a=s.currentTarget.getBoundingClientRect();if(0===s.clientX&&0===s.clientY)e=Math.round(a.width/2),i=Math.round(a.height/2);else{var n=s.clientX?s.clientX:s.touches[0].clientX,l=s.clientY?s.clientY:s.touches[0].clientY;e=Math.round(n-a.left),i=Math.round(l-a.top)}this.setRippleXY(e,i),this.setRippleStyles(!0),window.requestAnimationFrame(this.animFrameHandler.bind(this))}},MaterialRipple.prototype.upHandler_=function(s){"use strict";s&&2!==s.detail&&this.rippleElement_.classList.remove(this.CssClasses_.IS_VISIBLE)},MaterialRipple.prototype.init=function(){"use strict";if(this.element_){var s=this.element_.classList.contains(this.CssClasses_.RIPPLE_CENTER);if(!this.element_.classList.contains(this.CssClasses_.RIPPLE_EFFECT_IGNORE_EVENTS)){if(this.rippleElement_=this.element_.querySelector("."+this.CssClasses_.RIPPLE),this.frameCount_=0,this.rippleSize_=0,this.x_=0,this.y_=0,this.ignoringMouseDown_=!1,this.rippleElement_){var t=this.element_.getBoundingClientRect();this.rippleSize_=2*Math.sqrt(t.width*t.width+t.height*t.height)+2,this.rippleElement_.style.width=this.rippleSize_+"px",this.rippleElement_.style.height=this.rippleSize_+"px"}this.element_.addEventListener("mousedown",this.downHandler_.bind(this)),this.element_.addEventListener("touchstart",this.downHandler_.bind(this)),this.element_.addEventListener("mouseup",this.upHandler_.bind(this)),this.element_.addEventListener("mouseleave",this.upHandler_.bind(this)),this.element_.addEventListener("touchend",this.upHandler_.bind(this)),this.element_.addEventListener("blur",this.upHandler_.bind(this)),this.getFrameCount=function(){return this.frameCount_},this.setFrameCount=function(s){this.frameCount_=s},this.getRippleElement=function(){return this.rippleElement_},this.setRippleXY=function(s,t){this.x_=s,this.y_=t},this.setRippleStyles=function(e){if(null!==this.rippleElement_){var i,a,n,l="translate("+this.x_+"px, "+this.y_+"px)";e?(a=this.Constant_.INITIAL_SCALE,n=this.Constant_.INITIAL_SIZE):(a=this.Constant_.FINAL_SCALE,n=this.rippleSize_+"px",s&&(l="translate("+t.width/2+"px, "+t.height/2+"px)")),i="translate(-50%, -50%) "+l+a,this.rippleElement_.style.webkitTransform=i,this.rippleElement_.style.msTransform=i,this.rippleElement_.style.transform=i,e?this.rippleElement_.classList.remove(this.CssClasses_.IS_ANIMATING):this.rippleElement_.classList.add(this.CssClasses_.IS_ANIMATING)}},this.animFrameHandler=function(){this.frameCount_-->0?window.requestAnimationFrame(this.animFrameHandler.bind(this)):this.setRippleStyles(!1)}}}},componentHandler.register({constructor:MaterialRipple,classAsString:"MaterialRipple",cssClass:"mdl-js-ripple-effect"});
//# sourceMappingURL=material.min.js.map