/** * 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 MaterialColumnLayout(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_.WSK_JS_RIPPLE_EFFECT)){var e=document.createElement("span");e.classList.add(t.CssClasses_.WSK_RIPPLE_CONTAINER),e.classList.add(t.CssClasses_.WSK_JS_RIPPLE_EFFECT);var i=document.createElement("span");i.classList.add(t.CssClasses_.WSK_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;e6&&(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"}),MaterialColumnLayout.prototype.Constant_={INVISIBLE_WRAPPING_ELEMENT_COUNT:3},MaterialColumnLayout.prototype.CssClasses_={INVISIBLE_WRAPPING_ELEMENT:"mdl-column-layout__wrap-hack"},MaterialColumnLayout.prototype.init=function(){"use strict";if(this.element_)for(var s=0;s0&&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=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;t0?n.classList.add(this.CssClasses_.ACTIVE_CLASS):n.classList.remove(this.CssClasses_.ACTIVE_CLASS),this.tabBar_.scrollLeft0)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.requestAnimFrame(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.requestAnimFrame(this.animFrameHandler.bind(this)):this.setRippleStyles(!1)}}}},componentHandler.register({constructor:MaterialRipple,classAsString:"MaterialRipple",cssClass:"mdl-js-ripple-effect"}); //# sourceMappingURL=material.min.js.map