(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o 3) { if (x.status < 400) { cb(x.responseText); } else { cb(null); } } return; }; x.send(); return file; }; /* * Create an alternative document object * @param content - String */ var createDoc = function createDoc(content) { var srcDoc = document.implementation.createHTMLDocument("http://www.w3.org/1999/xhtml", "html", null); var body = srcDoc.createElement("body"); body.innerHTML = content; srcDoc.documentElement.appendChild(body); return srcDoc; }; /* * Make a HTTP request for a file if needs to. * Return a document object * @param file - string * @param cb - function */ var loadSrc = function loadSrc(file, cb) { var callCallback = function callCallback(doc) { var cb; while (cb = _loadingCallback[file].shift()) { cb(doc); } }; var doLoad = function doLoad() { if (!_loadingCallback[file]) { _loadingCallback[file] = []; makeAjaxRequest(file, function (content) { if (content) { var doc = createDoc(content); _srcCache[file] = doc; callCallback(doc); } else { callCallback(null); } }); } _loadingCallback[file].push(cb); }; return _srcCache[file] ? cb(_srcCache[file]) : doLoad(); }; /* * Recursively import nodes from an element to another * This exists because IE9 and below doesnt support innerHTML on SVGElement */ var importNodes = function importNodes(orig, dest) { for (var i = 0; i < orig.childNodes.length; i++) { dest.appendChild(orig.childNodes[i].cloneNode(true)); }; return dest; }; /* * Create a SVG element * @param element - the original SVG element */ var createSvgElement = function createSvgElement(element) { var svg = importNodes(element, document.createElementNS("http://www.w3.org/2000/svg", "svg")); // assign viewBox if (element.getAttribute("viewBox")) { svg.setAttribute("viewBox", element.getAttribute("viewBox")); } // namespace and stuff svg.setAttribute("xmlns", element.getAttribute("xmlns") ? element.getAttribute("xmlns") : "http://www.w3.org/2000/svg"); svg.setAttribute("version", element.getAttribute("version") ? element.getAttribute("version") : "1.1"); return svg; }; /* * Picks an icon source, fallbacks to other if one fails * * @param srcs - Array of source URL * @param callback - A callback function */ module.exports = function (srcs, callback) { var isSvg = function isSvg(url) { var parts = url.split("#"); return /\.svg/.test(parts[0]); }; var innerPicker = (function (_innerPicker) { var _innerPickerWrapper = function innerPicker() { return _innerPicker.apply(this, arguments); }; _innerPickerWrapper.toString = function () { return _innerPicker.toString(); }; return _innerPickerWrapper; })(function (c) { if (c >= srcs.length) { return void 0; } // var nex = c + 1; var src = srcs[c]; var isSvgSupported = supportsSVG(); if (isSvg(src)) { if (!isSvgSupported) { return innerPicker(nex); } else { var _ret = (function () { var parts = src.split("#"); var anchor = parts[1]; return { v: loadSrc(parts[0], function (doc) { if (doc) { var ele; // check if the anchor matches any element in the document // if not, then move on if (anchor) { ele = doc.getElementById(anchor); if (!ele) { return innerPicker(nex); } } return callback(createSvgElement(anchor ? ele : doc.getElementsByTagName("svg")[0])); } return innerPicker(nex); }) }; })(); if (typeof _ret === "object") return _ret.v; } } else { var img = document.createElement("img"); img.src = src; img.onerror = function () { innerPicker(nex); }; img.onload = function () { callback(this); }; return; } }); // start the loop innerPicker(0); }; },{}],4:[function(require,module,exports){ /*! (C) WebReflection Mit Style License */ (function(e,t,n,r){"use strict";function rt(e,t){for(var n=0,r=e.length;n>0),s="attached",o="detached",u="extends",a="ADDITION",f="MODIFICATION",l="REMOVAL",c="DOMAttrModified",h="DOMContentLoaded",p="DOMSubtreeModified",d="<",v="=",m=/^[A-Z][A-Z0-9]*(?:-[A-Z0-9]+)+$/,g=["ANNOTATION-XML","COLOR-PROFILE","FONT-FACE","FONT-FACE-SRC","FONT-FACE-URI","FONT-FACE-FORMAT","FONT-FACE-NAME","MISSING-GLYPH"],y=[],b=[],w="",E=t.documentElement,S=y.indexOf||function(e){for(var t=this.length;t--&&this[t]!==e;);return t},x=n.prototype,T=x.hasOwnProperty,N=x.isPrototypeOf,C=n.defineProperty,k=n.getOwnPropertyDescriptor,L=n.getOwnPropertyNames,A=n.getPrototypeOf,O=n.setPrototypeOf,M=!!n.__proto__,_=n.create||function vt(e){return e?(vt.prototype=e,new vt):this},D=O||(M?function(e,t){return e.__proto__=t,e}:L&&k?function(){function e(e,t){for(var n,r=L(t),i=0,s=r.length;i