blob: ebf594c840331c396e130ec79dd39b18bfbb4215 [file] [log] [blame]
/*!
* Angular Material Design
* https://github.com/angular/material
* @license MIT
* v1.0.0-master-19c11fd
*/
function mdIconDirective(n,t,e){function o(o,i,r){function a(){var n=i.parent();return n.attr("aria-label")||n.text()?!0:n.parent().attr("aria-label")||n.parent().text()?!0:!1}function c(){o.svgIcon||o.svgSrc||(o.fontIcon&&i.addClass("md-font "+o.fontIcon),i.addClass(n.fontSet(o.fontSet)))}t(i),c();var u=r.alt||o.fontIcon||o.svgIcon||i.text(),s=r.$normalize(r.$attr.mdSvgIcon||r.$attr.mdSvgSrc||"");r["aria-label"]||(""==u||a()?i.text()||e.expect(i,"aria-hidden","true"):(e.expect(i,"aria-label",u),e.expect(i,"role","img"))),s&&r.$observe(s,function(t){i.empty(),t&&n(t).then(function(n){i.append(n)})})}return{scope:{fontSet:"@mdFontSet",fontIcon:"@mdFontIcon",svgIcon:"@mdSvgIcon",svgSrc:"@mdSvgSrc"},restrict:"E",link:o}}function MdIconProvider(){}function ConfigurationItem(n,t){this.url=n,this.viewBoxSize=t||config.defaultViewBoxSize}function MdIconService(n,t,e,o,i){function r(t){if(t=t||"",h[t])return e.when(h[t].clone());if(p.test(t))return l(t).then(c(t));-1==t.indexOf(":")&&(t="$default:"+t);var o=n[t]?u:s;return o(t).then(c(t))}function a(t){var e=angular.isUndefined(t)||!(t&&t.length);if(e)return n.defaultFontSet;var o=t;return angular.forEach(n.fontSets,function(n){n.alias==t&&(o=n.fontSet||o)}),o}function c(t){return function(e){return h[t]=f(e)?e:new d(e,n[t]),h[t].clone()}}function u(t){var e=n[t];return l(e.url).then(function(n){return new d(n,e)})}function s(t){function i(n){var e=t.slice(t.lastIndexOf(":")+1),o=n.querySelector("#"+e);return o?new d(o,c):r(t)}function r(n){var t="icon "+n+" not found";return o.warn(t),e.reject(t||n)}var a=t.substring(0,t.lastIndexOf(":"))||"$default",c=n[a];return c?l(c.url).then(i):r(t)}function l(n){return t.get(n,{cache:i}).then(function(n){return angular.element("<div>").append(n.data).find("svg")[0]})["catch"](g)}function g(n){var t=angular.isString(n)?n:n.message||n.data||n.statusText;return o.warn(t),e.reject(t)}function f(n){return angular.isDefined(n.element)&&angular.isDefined(n.config)}function d(n,t){n&&"svg"!=n.tagName&&(n=angular.element('<svg xmlns="http://www.w3.org/2000/svg">').append(n)[0]),n.getAttribute("xmlns")||n.setAttribute("xmlns","http://www.w3.org/2000/svg"),this.element=n,this.config=t,this.prepare()}function v(){var t=this.config?this.config.viewBoxSize:n.defaultViewBoxSize;angular.forEach({fit:"",height:"100%",width:"100%",preserveAspectRatio:"xMidYMid meet",viewBox:this.element.getAttribute("viewBox")||"0 0 "+t+" "+t},function(n,t){this.element.setAttribute(t,n)},this),angular.forEach({"pointer-events":"none",display:"block"},function(n,t){this.element.style[t]=n},this)}function m(){return this.element.cloneNode(!0)}var h={},p=/[-a-zA-Z0-9@:%_\+.~#?&\/\/=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)?/i;return d.prototype={clone:m,prepare:v},r.fontSet=a,r}goog.provide("ng.material.components.icon"),goog.require("ng.material.core"),angular.module("material.components.icon",["material.core"]),angular.module("material.components.icon").directive("mdIcon",["$mdIcon","$mdTheming","$mdAria",mdIconDirective]),angular.module("material.components.icon").provider("$mdIcon",MdIconProvider);var config={defaultViewBoxSize:24,defaultFontSet:"material-icons",fontSets:[]};MdIconProvider.prototype={icon:function(n,t,e){return-1==n.indexOf(":")&&(n="$default:"+n),config[n]=new ConfigurationItem(t,e),this},iconSet:function(n,t,e){return config[n]=new ConfigurationItem(t,e),this},defaultIconSet:function(n,t){var e="$default";return config[e]||(config[e]=new ConfigurationItem(n,t)),config[e].viewBoxSize=t||config.defaultViewBoxSize,this},defaultViewBoxSize:function(n){return config.defaultViewBoxSize=n,this},fontSet:function(n,t){return config.fontSets.push({alias:n,fontSet:t||n}),this},defaultFontSet:function(n){return config.defaultFontSet=n?n:"",this},defaultIconSize:function(n){return config.defaultIconSize=n,this},preloadIcons:function(n){var t=this,e=[{id:"md-tabs-arrow",url:"md-tabs-arrow.svg",svg:'<svg version="1.1" x="0px" y="0px" viewBox="0 0 24 24"><g><polygon points="15.4,7.4 14,6 8,12 14,18 15.4,16.6 10.8,12 "/></g></svg>'},{id:"md-close",url:"md-close.svg",svg:'<svg version="1.1" x="0px" y="0px" viewBox="0 0 24 24"><g><path d="M19 6.41l-1.41-1.41-5.59 5.59-5.59-5.59-1.41 1.41 5.59 5.59-5.59 5.59 1.41 1.41 5.59-5.59 5.59 5.59 1.41-1.41-5.59-5.59z"/></g></svg>'},{id:"md-cancel",url:"md-cancel.svg",svg:'<svg version="1.1" x="0px" y="0px" viewBox="0 0 24 24"><g><path d="M12 2c-5.53 0-10 4.47-10 10s4.47 10 10 10 10-4.47 10-10-4.47-10-10-10zm5 13.59l-1.41 1.41-3.59-3.59-3.59 3.59-1.41-1.41 3.59-3.59-3.59-3.59 1.41-1.41 3.59 3.59 3.59-3.59 1.41 1.41-3.59 3.59 3.59 3.59z"/></g></svg>'},{id:"md-menu",url:"md-menu.svg",svg:'<svg version="1.1" x="0px" y="0px" viewBox="0 0 24 24"><path d="M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z" /></svg>'},{id:"md-toggle-arrow",url:"md-toggle-arrow-svg",svg:'<svg version="1.1" x="0px" y="0px" viewBox="0 0 48 48"><path d="M24 16l-12 12 2.83 2.83 9.17-9.17 9.17 9.17 2.83-2.83z"/><path d="M0 0h48v48h-48z" fill="none"/></svg>'},{id:"md-calendar",url:"md-calendar.svg",svg:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM7 10h5v5H7z"/></svg>'}];e.forEach(function(e){t.icon(e.id,e.url),n.put(e.url,e.svg)})},$get:["$http","$q","$log","$templateCache",function(n,t,e,o){return this.preloadIcons(o),MdIconService(config,n,t,e,o)}]},MdIconService.$inject=["config","$http","$q","$log","$templateCache"],ng.material.components.icon=angular.module("material.components.icon");