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

10 lines
47 KiB
JavaScript
Raw Normal View History

2015-02-04 02:14:15 -08:00
/**
* material-design-lite - Material Design Components in CSS, JS and HTML
2015-02-04 02:14:15 -08:00
* @version v1.0.0
* @link https://github.com/google/material-design-lite
2015-03-17 03:09:00 -07:00
* @license Apache-2
2015-02-04 02:14:15 -08:00
*/
2015-04-21 06:36:12 -07:00
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;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(){}}),window.requestAnimFrame=function(){"use strict";return window.requestAnimationFram
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",WSK_JS_RIPPLE_EFFECT:"mdl-js-ripple-effect",WSK_RIPPLE_CONTAINER:"mdl-tabs__ripple-container",WSK_RIPPLE:"mdl-ripple",WSK_JS_RIPPLE_EFFECT_IGNORE_EVENTS:"mdl-js-ripple-effect--ignore-events"},MaterialTabs.prototype.initTabs_=function(s){"use strict";this.element_.classList.contains(this.CssClasses_.WSK_JS_RIPPLE_EFFECT)&&this.element_.classList.add(this.CssClasses_.WSK_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_()},MaterialT
2015-02-04 02:14:15 -08:00
//# sourceMappingURL=material.min.js.map