@tanem/svg-injector 10.1.68 → 11.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
  [![build status](https://img.shields.io/github/actions/workflow/status/tanem/svg-injector/ci.yml?branch=master&style=flat-square)](https://github.com/tanem/svg-injector/actions?query=workflow%3ACI)
5
5
  [![coverage status](https://img.shields.io/codecov/c/github/tanem/svg-injector.svg?style=flat-square)](https://codecov.io/gh/tanem/svg-injector)
6
6
  [![npm downloads](https://img.shields.io/npm/dm/@tanem/svg-injector.svg?style=flat-square)](https://www.npmjs.com/package/@tanem/svg-injector)
7
- [![minzipped size](https://img.shields.io/bundlephobia/minzip/@tanem/svg-injector?style=flat-square)](https://bundlephobia.com/result?p=@tanem/svg-injector)
7
+ [![minzipped size](https://img.shields.io/bundlephobia/minzip/@tanem/svg-injector?style=flat-square)](https://bundlephobia.com/package/@tanem/svg-injector)
8
8
 
9
9
  > A fast, caching, dynamic inline SVG DOM injection library.
10
10
 
@@ -28,7 +28,7 @@ SVGInjector(document.getElementById('inject-me'))
28
28
 
29
29
  ## Avoiding XSS
30
30
 
31
- Be careful when injecting arbitrary third-party SVGs into the DOM, as this opens the door to XSS attacks. If you must inject third-party SVGs, it is highly recommended to sanitize the SVG before injecting. The following example uses [DOMPurify](https://github.com/cure53/DOMPurify) to strip out attributes and tags that can execute arbitrary JavaScript. Note that this can alter the behavior of the SVG.
31
+ Be careful when injecting arbitrary third-party SVGs into the DOM, as this opens the door to XSS attacks. If you must inject third-party SVGs, it is highly recommended to sanitise the SVG before injecting. The following example uses [DOMPurify](https://github.com/cure53/DOMPurify) to strip out attributes and tags that can execute arbitrary JavaScript. Note that this can alter the behaviour of the SVG.
32
32
 
33
33
  ```js
34
34
  import { SVGInjector } from '@tanem/svg-injector'
@@ -100,6 +100,8 @@ SVGInjector(document.getElementsByClassName('inject-me'), {
100
100
 
101
101
  > ⚠️This library uses [`Array.from()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from), so if you're targeting [browsers that don't support that method](https://kangax.github.io/compat-table/es6/#test-Array_static_methods), you'll need to ensure an appropriate polyfill is included manually. See [this issue comment](https://github.com/tanem/svg-injector/issues/97#issuecomment-483365473) for further detail.
102
102
 
103
+ > ⚠️As of v11, this library is only tested against modern browsers (Chromium, Firefox, WebKit) via Playwright. IE and other legacy browsers are no longer supported. If you need IE support, pin `@tanem/svg-injector@^10`.
104
+
103
105
  ```
104
106
  $ npm install @tanem/svg-injector
105
107
  ```
package/dist/cache.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- declare const cache: Map<string, Error | SVGSVGElement | undefined>;
1
+ declare const cache: Map<string, SVGSVGElement | Error | undefined>;
2
2
  export default cache;
@@ -1,4 +1,4 @@
1
- import { BeforeEach, Errback, EvalScripts } from './types';
1
+ import type { BeforeEach, Errback, EvalScripts } from './types';
2
2
  type ElementType = Element | HTMLElement | null;
3
3
  declare const injectElement: (el: NonNullable<ElementType>, evalScripts: EvalScripts, renumerateIRIElements: boolean, cacheRequests: boolean, httpRequestWithCredentials: boolean, beforeEach: BeforeEach, callback: Errback) => void;
4
4
  export default injectElement;
@@ -1,3 +1,3 @@
1
- import { Errback } from './types';
1
+ import type { Errback } from './types';
2
2
  declare const loadSvgCached: (url: string, httpRequestWithCredentials: boolean, callback: Errback) => void;
3
3
  export default loadSvgCached;
@@ -1,3 +1,3 @@
1
- import { Errback } from './types';
1
+ import type { Errback } from './types';
2
2
  declare const loadSvgUncached: (url: string, httpRequestWithCredentials: boolean, callback: Errback) => void;
3
3
  export default loadSvgUncached;
@@ -1,4 +1,4 @@
1
- import { Errback } from './types';
1
+ import type { Errback } from './types';
2
2
  export declare const clear: () => void;
3
3
  export declare const queueRequest: (url: string, callback: Errback) => void;
4
4
  export declare const processRequestQueue: (url: string) => void;
@@ -5,15 +5,15 @@ var contentType = require('content-type');
5
5
 
6
6
  var cache = new Map();
7
7
 
8
- var cloneSvg = function cloneSvg(sourceSvg) {
8
+ var cloneSvg = function (sourceSvg) {
9
9
  return sourceSvg.cloneNode(true);
10
10
  };
11
11
 
12
- var isLocal = function isLocal() {
12
+ var isLocal = function () {
13
13
  return window.location.protocol === 'file:';
14
14
  };
15
15
 
16
- var makeAjaxRequest = function makeAjaxRequest(url, httpRequestWithCredentials, callback) {
16
+ var makeAjaxRequest = function (url, httpRequestWithCredentials, callback) {
17
17
  var httpRequest = new XMLHttpRequest();
18
18
  httpRequest.onreadystatechange = function () {
19
19
  try {
@@ -55,34 +55,42 @@ var makeAjaxRequest = function makeAjaxRequest(url, httpRequestWithCredentials,
55
55
  };
56
56
 
57
57
  var requestQueue = {};
58
- var queueRequest = function queueRequest(url, callback) {
59
- requestQueue[url] = requestQueue[url] || [];
58
+ var queueRequest = function (url, callback) {
59
+ var _a;
60
+ (_a = requestQueue[url]) !== null && _a !== void 0 ? _a : requestQueue[url] = [];
60
61
  requestQueue[url].push(callback);
61
62
  };
62
- var processRequestQueue = function processRequestQueue(url) {
63
- var _loop_1 = function _loop_1(i, len) {
63
+ var processRequestQueue = function (url) {
64
+ var callbacks = requestQueue[url];
65
+ if (!callbacks) {
66
+ return;
67
+ }
68
+ var _loop_1 = function (i, len) {
64
69
  setTimeout(function () {
65
70
  if (Array.isArray(requestQueue[url])) {
66
71
  var cacheValue = cache.get(url);
67
- var callback = requestQueue[url][i];
72
+ var callback = callbacks[i];
73
+ if (!callback) {
74
+ return;
75
+ }
68
76
  if (cacheValue instanceof SVGSVGElement) {
69
77
  callback(null, cloneSvg(cacheValue));
70
78
  }
71
79
  if (cacheValue instanceof Error) {
72
80
  callback(cacheValue);
73
81
  }
74
- if (i === requestQueue[url].length - 1) {
82
+ if (i === callbacks.length - 1) {
75
83
  delete requestQueue[url];
76
84
  }
77
85
  }
78
86
  }, 0);
79
87
  };
80
- for (var i = 0, len = requestQueue[url].length; i < len; i++) {
88
+ for (var i = 0, len = callbacks.length; i < len; i++) {
81
89
  _loop_1(i);
82
90
  }
83
91
  };
84
92
 
85
- var loadSvgCached = function loadSvgCached(url, httpRequestWithCredentials, callback) {
93
+ var loadSvgCached = function (url, httpRequestWithCredentials, callback) {
86
94
  if (cache.has(url)) {
87
95
  var cacheValue = cache.get(url);
88
96
  if (cacheValue === undefined) {
@@ -107,7 +115,7 @@ var loadSvgCached = function loadSvgCached(url, httpRequestWithCredentials, call
107
115
  });
108
116
  };
109
117
 
110
- var loadSvgUncached = function loadSvgUncached(url, httpRequestWithCredentials, callback) {
118
+ var loadSvgUncached = function (url, httpRequestWithCredentials, callback) {
111
119
  makeAjaxRequest(url, httpRequestWithCredentials, function (error, httpRequest) {
112
120
  var _a;
113
121
  if (error) {
@@ -119,7 +127,7 @@ var loadSvgUncached = function loadSvgUncached(url, httpRequestWithCredentials,
119
127
  };
120
128
 
121
129
  var idCounter = 0;
122
- var uniqueId = function uniqueId() {
130
+ var uniqueId = function () {
123
131
  return ++idCounter;
124
132
  };
125
133
 
@@ -127,8 +135,9 @@ var injectedElements = [];
127
135
  var ranScripts = {};
128
136
  var svgNamespace = 'http://www.w3.org/2000/svg';
129
137
  var xlinkNamespace = 'http://www.w3.org/1999/xlink';
130
- var injectElement = function injectElement(el, evalScripts, renumerateIRIElements, cacheRequests, httpRequestWithCredentials, beforeEach, callback) {
131
- var elUrl = el.getAttribute('data-src') || el.getAttribute('src');
138
+ var injectElement = function (el, evalScripts, renumerateIRIElements, cacheRequests, httpRequestWithCredentials, beforeEach, callback) {
139
+ var _a;
140
+ var elUrl = (_a = el.getAttribute('data-src')) !== null && _a !== void 0 ? _a : el.getAttribute('src');
132
141
  if (!elUrl) {
133
142
  callback(new Error('Invalid data-src or src attribute'));
134
143
  return;
@@ -142,6 +151,7 @@ var injectElement = function injectElement(el, evalScripts, renumerateIRIElement
142
151
  el.setAttribute('src', '');
143
152
  var loadSvg = cacheRequests ? loadSvgCached : loadSvgUncached;
144
153
  loadSvg(elUrl, httpRequestWithCredentials, function (error, svg) {
154
+ var _a, _b;
145
155
  if (!svg) {
146
156
  injectedElements.splice(injectedElements.indexOf(el), 1);
147
157
  el = null;
@@ -164,7 +174,7 @@ var injectElement = function injectElement(el, evalScripts, renumerateIRIElement
164
174
  if (elHeight) {
165
175
  svg.setAttribute('height', elHeight);
166
176
  }
167
- var mergedClasses = Array.from(new Set(tslib.__spreadArray(tslib.__spreadArray(tslib.__spreadArray([], (svg.getAttribute('class') || '').split(' '), true), ['injected-svg'], false), (el.getAttribute('class') || '').split(' '), true))).join(' ').trim();
177
+ var mergedClasses = Array.from(new Set(tslib.__spreadArray(tslib.__spreadArray(tslib.__spreadArray([], ((_a = svg.getAttribute('class')) !== null && _a !== void 0 ? _a : '').split(' '), true), ['injected-svg'], false), ((_b = el.getAttribute('class')) !== null && _b !== void 0 ? _b : '').split(' '), true))).join(' ').trim();
168
178
  svg.setAttribute('class', mergedClasses);
169
179
  var elStyle = el.getAttribute('style');
170
180
  if (elStyle) {
@@ -201,32 +211,35 @@ var injectElement = function injectElement(el, evalScripts, renumerateIRIElement
201
211
  element_1 = key;
202
212
  properties_1 = iriElementsAndProperties_1[key];
203
213
  elements_1 = svg.querySelectorAll(element_1 + '[id]');
204
- var _loop_1 = function _loop_1(a, elementsLen) {
205
- currentId_1 = elements_1[a].id;
214
+ var _loop_1 = function (a, elementsLen) {
215
+ var currentElement = elements_1[a];
216
+ currentId_1 = currentElement.id;
206
217
  newId_1 = currentId_1 + '-' + uniqueId();
207
218
  var referencingElements;
208
219
  Array.prototype.forEach.call(properties_1, function (property) {
209
220
  referencingElements = svg.querySelectorAll('[' + property + '*="' + currentId_1 + '"]');
210
221
  for (var b = 0, referencingElementLen = referencingElements.length; b < referencingElementLen; b++) {
211
- var attrValue = referencingElements[b].getAttribute(property);
222
+ var referencingElement = referencingElements[b];
223
+ var attrValue = referencingElement.getAttribute(property);
212
224
  if (attrValue && !attrValue.match(new RegExp('url\\("?#' + currentId_1 + '"?\\)'))) {
213
225
  continue;
214
226
  }
215
- referencingElements[b].setAttribute(property, 'url(#' + newId_1 + ')');
227
+ referencingElement.setAttribute(property, 'url(#' + newId_1 + ')');
216
228
  }
217
229
  });
218
230
  var allLinks = svg.querySelectorAll('[*|href]');
219
231
  var links = [];
220
232
  for (var c = 0, allLinksLen = allLinks.length; c < allLinksLen; c++) {
221
- var href = allLinks[c].getAttributeNS(xlinkNamespace, 'href');
222
- if (href && href.toString() === '#' + elements_1[a].id) {
223
- links.push(allLinks[c]);
233
+ var link = allLinks[c];
234
+ var href = link.getAttributeNS(xlinkNamespace, 'href');
235
+ if ((href === null || href === void 0 ? void 0 : href.toString()) === '#' + currentElement.id) {
236
+ links.push(link);
224
237
  }
225
238
  }
226
239
  for (var d = 0, linksLen = links.length; d < linksLen; d++) {
227
240
  links[d].setAttributeNS(xlinkNamespace, 'href', '#' + newId_1);
228
241
  }
229
- elements_1[a].id = newId_1;
242
+ currentElement.id = newId_1;
230
243
  };
231
244
  for (var a = 0, elementsLen = elements_1.length; a < elementsLen; a++) {
232
245
  _loop_1(a);
@@ -239,13 +252,14 @@ var injectElement = function injectElement(el, evalScripts, renumerateIRIElement
239
252
  var script;
240
253
  var scriptType;
241
254
  for (var i = 0, scriptsLen = scripts.length; i < scriptsLen; i++) {
242
- scriptType = scripts[i].getAttribute('type');
255
+ var scriptElement = scripts[i];
256
+ scriptType = scriptElement.getAttribute('type');
243
257
  if (!scriptType || scriptType === 'application/ecmascript' || scriptType === 'application/javascript' || scriptType === 'text/javascript') {
244
- script = scripts[i].innerText || scripts[i].textContent;
258
+ script = scriptElement.innerText || scriptElement.textContent;
245
259
  if (script) {
246
260
  scriptsToEval.push(script);
247
261
  }
248
- svg.removeChild(scripts[i]);
262
+ svg.removeChild(scriptElement);
249
263
  }
250
264
  }
251
265
  if (scriptsToEval.length > 0 && (evalScripts === 'always' || evalScripts === 'once' && !ranScripts[elUrl])) {
@@ -274,7 +288,7 @@ var injectElement = function injectElement(el, evalScripts, renumerateIRIElement
274
288
  });
275
289
  };
276
290
 
277
- var SVGInjector = function SVGInjector(elements, _a) {
291
+ var SVGInjector = function (elements, _a) {
278
292
  var _b = _a === void 0 ? {} : _a,
279
293
  _c = _b.afterAll,
280
294
  afterAll = _c === void 0 ? function () {
@@ -299,7 +313,11 @@ var SVGInjector = function SVGInjector(elements, _a) {
299
313
  if (elements && 'length' in elements) {
300
314
  var elementsLoaded_1 = 0;
301
315
  for (var i = 0, j = elements.length; i < j; i++) {
302
- injectElement(elements[i], evalScripts, renumerateIRIElements, cacheRequests, httpRequestWithCredentials, beforeEach, function (error, svg) {
316
+ var element = elements[i];
317
+ if (!element) {
318
+ continue;
319
+ }
320
+ injectElement(element, evalScripts, renumerateIRIElements, cacheRequests, httpRequestWithCredentials, beforeEach, function (error, svg) {
303
321
  afterEach(error, svg);
304
322
  if (elements && 'length' in elements && elements.length === ++elementsLoaded_1) {
305
323
  afterAll(elementsLoaded_1);
@@ -1 +1 @@
1
- {"version":3,"file":"svg-injector.cjs.development.js","sources":["../compiled/cache.js","../compiled/clone-svg.js","../compiled/is-local.js","../compiled/make-ajax-request.js","../compiled/request-queue.js","../compiled/load-svg-cached.js","../compiled/load-svg-uncached.js","../compiled/unique-id.js","../compiled/inject-element.js","../compiled/svg-injector.js"],"sourcesContent":["var cache = new Map();\nexport default cache;\n//# sourceMappingURL=cache.js.map","var cloneSvg = function (sourceSvg) {\n return sourceSvg.cloneNode(true);\n};\nexport default cloneSvg;\n//# sourceMappingURL=clone-svg.js.map","var isLocal = function () { return window.location.protocol === 'file:'; };\nexport default isLocal;\n//# sourceMappingURL=is-local.js.map","import { parse as parseContentType } from 'content-type';\nimport isLocal from './is-local';\nvar makeAjaxRequest = function (url, httpRequestWithCredentials, callback) {\n var httpRequest = new XMLHttpRequest();\n httpRequest.onreadystatechange = function () {\n try {\n if (!/\\.svg/i.test(url) && httpRequest.readyState === 2) {\n var contentType = httpRequest.getResponseHeader('Content-Type');\n if (!contentType) {\n throw new Error('Content type not found');\n }\n var type = parseContentType(contentType).type;\n if (!(type === 'image/svg+xml' || type === 'text/plain')) {\n throw new Error(\"Invalid content type: \".concat(type));\n }\n }\n if (httpRequest.readyState === 4) {\n if (httpRequest.status === 404 || httpRequest.responseXML === null) {\n throw new Error(isLocal()\n ? 'Note: SVG injection ajax calls do not work locally without ' +\n 'adjusting security settings in your browser. Or consider ' +\n 'using a local webserver.'\n : 'Unable to load SVG file: ' + url);\n }\n if (httpRequest.status === 200 ||\n (isLocal() && httpRequest.status === 0)) {\n callback(null, httpRequest);\n }\n else {\n throw new Error('There was a problem injecting the SVG: ' +\n httpRequest.status +\n ' ' +\n httpRequest.statusText);\n }\n }\n }\n catch (error) {\n httpRequest.abort();\n if (error instanceof Error) {\n callback(error, httpRequest);\n }\n else {\n throw error;\n }\n }\n };\n httpRequest.open('GET', url);\n httpRequest.withCredentials = httpRequestWithCredentials;\n if (httpRequest.overrideMimeType) {\n httpRequest.overrideMimeType('text/xml');\n }\n httpRequest.send();\n};\nexport default makeAjaxRequest;\n//# sourceMappingURL=make-ajax-request.js.map","import cache from './cache';\nimport cloneSvg from './clone-svg';\nvar requestQueue = {};\nexport var clear = function () {\n requestQueue = {};\n};\nexport var queueRequest = function (url, callback) {\n requestQueue[url] = requestQueue[url] || [];\n requestQueue[url].push(callback);\n};\nexport var processRequestQueue = function (url) {\n var _loop_1 = function (i, len) {\n setTimeout(function () {\n if (Array.isArray(requestQueue[url])) {\n var cacheValue = cache.get(url);\n var callback = requestQueue[url][i];\n if (cacheValue instanceof SVGSVGElement) {\n callback(null, cloneSvg(cacheValue));\n }\n if (cacheValue instanceof Error) {\n callback(cacheValue);\n }\n if (i === requestQueue[url].length - 1) {\n delete requestQueue[url];\n }\n }\n }, 0);\n };\n for (var i = 0, len = requestQueue[url].length; i < len; i++) {\n _loop_1(i, len);\n }\n};\n//# sourceMappingURL=request-queue.js.map","import cache from './cache';\nimport cloneSvg from './clone-svg';\nimport makeAjaxRequest from './make-ajax-request';\nimport { processRequestQueue, queueRequest } from './request-queue';\nvar loadSvgCached = function (url, httpRequestWithCredentials, callback) {\n if (cache.has(url)) {\n var cacheValue = cache.get(url);\n if (cacheValue === undefined) {\n queueRequest(url, callback);\n return;\n }\n if (cacheValue instanceof SVGSVGElement) {\n callback(null, cloneSvg(cacheValue));\n return;\n }\n }\n cache.set(url, undefined);\n queueRequest(url, callback);\n makeAjaxRequest(url, httpRequestWithCredentials, function (error, httpRequest) {\n var _a;\n if (error) {\n cache.set(url, error);\n }\n else if (((_a = httpRequest.responseXML) === null || _a === void 0 ? void 0 : _a.documentElement) instanceof SVGSVGElement) {\n cache.set(url, httpRequest.responseXML.documentElement);\n }\n processRequestQueue(url);\n });\n};\nexport default loadSvgCached;\n//# sourceMappingURL=load-svg-cached.js.map","import makeAjaxRequest from './make-ajax-request';\nvar loadSvgUncached = function (url, httpRequestWithCredentials, callback) {\n makeAjaxRequest(url, httpRequestWithCredentials, function (error, httpRequest) {\n var _a;\n if (error) {\n callback(error);\n }\n else if (((_a = httpRequest.responseXML) === null || _a === void 0 ? void 0 : _a.documentElement) instanceof SVGSVGElement) {\n callback(null, httpRequest.responseXML.documentElement);\n }\n });\n};\nexport default loadSvgUncached;\n//# sourceMappingURL=load-svg-uncached.js.map","var idCounter = 0;\nvar uniqueId = function () { return ++idCounter; };\nexport default uniqueId;\n//# sourceMappingURL=unique-id.js.map","import { __spreadArray } from \"tslib\";\nimport loadSvgCached from './load-svg-cached';\nimport loadSvgUncached from './load-svg-uncached';\nimport uniqueId from './unique-id';\nvar injectedElements = [];\nvar ranScripts = {};\nvar svgNamespace = 'http://www.w3.org/2000/svg';\nvar xlinkNamespace = 'http://www.w3.org/1999/xlink';\nvar injectElement = function (el, evalScripts, renumerateIRIElements, cacheRequests, httpRequestWithCredentials, beforeEach, callback) {\n var elUrl = el.getAttribute('data-src') || el.getAttribute('src');\n if (!elUrl) {\n callback(new Error('Invalid data-src or src attribute'));\n return;\n }\n if (injectedElements.indexOf(el) !== -1) {\n injectedElements.splice(injectedElements.indexOf(el), 1);\n el = null;\n return;\n }\n injectedElements.push(el);\n el.setAttribute('src', '');\n var loadSvg = cacheRequests ? loadSvgCached : loadSvgUncached;\n loadSvg(elUrl, httpRequestWithCredentials, function (error, svg) {\n if (!svg) {\n injectedElements.splice(injectedElements.indexOf(el), 1);\n el = null;\n callback(error);\n return;\n }\n var elId = el.getAttribute('id');\n if (elId) {\n svg.setAttribute('id', elId);\n }\n var elTitle = el.getAttribute('title');\n if (elTitle) {\n svg.setAttribute('title', elTitle);\n }\n var elWidth = el.getAttribute('width');\n if (elWidth) {\n svg.setAttribute('width', elWidth);\n }\n var elHeight = el.getAttribute('height');\n if (elHeight) {\n svg.setAttribute('height', elHeight);\n }\n var mergedClasses = Array.from(new Set(__spreadArray(__spreadArray(__spreadArray([], (svg.getAttribute('class') || '').split(' '), true), [\n 'injected-svg'\n ], false), (el.getAttribute('class') || '').split(' '), true)))\n .join(' ')\n .trim();\n svg.setAttribute('class', mergedClasses);\n var elStyle = el.getAttribute('style');\n if (elStyle) {\n svg.setAttribute('style', elStyle);\n }\n svg.setAttribute('data-src', elUrl);\n var elData = [].filter.call(el.attributes, function (at) {\n return /^data-\\w[\\w-]*$/.test(at.name);\n });\n Array.prototype.forEach.call(elData, function (dataAttr) {\n if (dataAttr.name && dataAttr.value) {\n svg.setAttribute(dataAttr.name, dataAttr.value);\n }\n });\n if (renumerateIRIElements) {\n var iriElementsAndProperties_1 = {\n clipPath: ['clip-path'],\n 'color-profile': ['color-profile'],\n cursor: ['cursor'],\n filter: ['filter'],\n linearGradient: ['fill', 'stroke'],\n marker: ['marker', 'marker-start', 'marker-mid', 'marker-end'],\n mask: ['mask'],\n path: [],\n pattern: ['fill', 'stroke'],\n radialGradient: ['fill', 'stroke'],\n };\n var element_1;\n var elements_1;\n var properties_1;\n var currentId_1;\n var newId_1;\n Object.keys(iriElementsAndProperties_1).forEach(function (key) {\n element_1 = key;\n properties_1 = iriElementsAndProperties_1[key];\n elements_1 = svg.querySelectorAll(element_1 + '[id]');\n var _loop_1 = function (a, elementsLen) {\n currentId_1 = elements_1[a].id;\n newId_1 = currentId_1 + '-' + uniqueId();\n var referencingElements;\n Array.prototype.forEach.call(properties_1, function (property) {\n referencingElements = svg.querySelectorAll('[' + property + '*=\"' + currentId_1 + '\"]');\n for (var b = 0, referencingElementLen = referencingElements.length; b < referencingElementLen; b++) {\n var attrValue = referencingElements[b].getAttribute(property);\n if (attrValue &&\n !attrValue.match(new RegExp('url\\\\(\"?#' + currentId_1 + '\"?\\\\)'))) {\n continue;\n }\n referencingElements[b].setAttribute(property, 'url(#' + newId_1 + ')');\n }\n });\n var allLinks = svg.querySelectorAll('[*|href]');\n var links = [];\n for (var c = 0, allLinksLen = allLinks.length; c < allLinksLen; c++) {\n var href = allLinks[c].getAttributeNS(xlinkNamespace, 'href');\n if (href && href.toString() === '#' + elements_1[a].id) {\n links.push(allLinks[c]);\n }\n }\n for (var d = 0, linksLen = links.length; d < linksLen; d++) {\n links[d].setAttributeNS(xlinkNamespace, 'href', '#' + newId_1);\n }\n elements_1[a].id = newId_1;\n };\n for (var a = 0, elementsLen = elements_1.length; a < elementsLen; a++) {\n _loop_1(a, elementsLen);\n }\n });\n }\n svg.removeAttribute('xmlns:a');\n var scripts = svg.querySelectorAll('script');\n var scriptsToEval = [];\n var script;\n var scriptType;\n for (var i = 0, scriptsLen = scripts.length; i < scriptsLen; i++) {\n scriptType = scripts[i].getAttribute('type');\n if (!scriptType ||\n scriptType === 'application/ecmascript' ||\n scriptType === 'application/javascript' ||\n scriptType === 'text/javascript') {\n script = scripts[i].innerText || scripts[i].textContent;\n if (script) {\n scriptsToEval.push(script);\n }\n svg.removeChild(scripts[i]);\n }\n }\n if (scriptsToEval.length > 0 &&\n (evalScripts === 'always' ||\n (evalScripts === 'once' && !ranScripts[elUrl]))) {\n for (var l = 0, scriptsToEvalLen = scriptsToEval.length; l < scriptsToEvalLen; l++) {\n new Function(scriptsToEval[l])(window);\n }\n ranScripts[elUrl] = true;\n }\n var styleTags = svg.querySelectorAll('style');\n Array.prototype.forEach.call(styleTags, function (styleTag) {\n styleTag.textContent += '';\n });\n svg.setAttribute('xmlns', svgNamespace);\n svg.setAttribute('xmlns:xlink', xlinkNamespace);\n beforeEach(svg);\n if (!el.parentNode) {\n injectedElements.splice(injectedElements.indexOf(el), 1);\n el = null;\n callback(new Error('Parent node is null'));\n return;\n }\n el.parentNode.replaceChild(svg, el);\n injectedElements.splice(injectedElements.indexOf(el), 1);\n el = null;\n callback(null, svg);\n });\n};\nexport default injectElement;\n//# sourceMappingURL=inject-element.js.map","import injectElement from './inject-element';\nvar SVGInjector = function (elements, _a) {\n var _b = _a === void 0 ? {} : _a, _c = _b.afterAll, afterAll = _c === void 0 ? function () { return undefined; } : _c, _d = _b.afterEach, afterEach = _d === void 0 ? function () { return undefined; } : _d, _e = _b.beforeEach, beforeEach = _e === void 0 ? function () { return undefined; } : _e, _f = _b.cacheRequests, cacheRequests = _f === void 0 ? true : _f, _g = _b.evalScripts, evalScripts = _g === void 0 ? 'never' : _g, _h = _b.httpRequestWithCredentials, httpRequestWithCredentials = _h === void 0 ? false : _h, _j = _b.renumerateIRIElements, renumerateIRIElements = _j === void 0 ? true : _j;\n if (elements && 'length' in elements) {\n var elementsLoaded_1 = 0;\n for (var i = 0, j = elements.length; i < j; i++) {\n injectElement(elements[i], evalScripts, renumerateIRIElements, cacheRequests, httpRequestWithCredentials, beforeEach, function (error, svg) {\n afterEach(error, svg);\n if (elements &&\n 'length' in elements &&\n elements.length === ++elementsLoaded_1) {\n afterAll(elementsLoaded_1);\n }\n });\n }\n }\n else if (elements) {\n injectElement(elements, evalScripts, renumerateIRIElements, cacheRequests, httpRequestWithCredentials, beforeEach, function (error, svg) {\n afterEach(error, svg);\n afterAll(1);\n elements = null;\n });\n }\n else {\n afterAll(0);\n }\n};\nexport default SVGInjector;\n//# sourceMappingURL=svg-injector.js.map"],"names":["cache","Map","cloneSvg","sourceSvg","cloneNode","isLocal","window","location","protocol","makeAjaxRequest","url","httpRequestWithCredentials","callback","httpRequest","XMLHttpRequest","onreadystatechange","test","readyState","contentType","getResponseHeader","Error","type","parseContentType","concat","status","responseXML","statusText","error","abort","open","withCredentials","overrideMimeType","send","requestQueue","queueRequest","push","processRequestQueue","i","len","setTimeout","Array","isArray","cacheValue","get","SVGSVGElement","length","loadSvgCached","has","undefined","set","_a","documentElement","loadSvgUncached","idCounter","uniqueId","injectedElements","ranScripts","svgNamespace","xlinkNamespace","injectElement","el","evalScripts","renumerateIRIElements","cacheRequests","beforeEach","elUrl","getAttribute","indexOf","splice","setAttribute","loadSvg","svg","elId","elTitle","elWidth","elHeight","mergedClasses","from","Set","__spreadArray","split","join","trim","elStyle","elData","filter","call","attributes","at","name","prototype","forEach","dataAttr","value","iriElementsAndProperties_1","clipPath","cursor","linearGradient","marker","mask","path","pattern","radialGradient","element_1","elements_1","properties_1","currentId_1","newId_1","Object","keys","key","querySelectorAll","a","elementsLen","id","referencingElements","property","b","referencingElementLen","attrValue","match","RegExp","allLinks","links","c","allLinksLen","href","getAttributeNS","toString","d","linksLen","setAttributeNS","removeAttribute","scripts","scriptsToEval","script","scriptType","scriptsLen","innerText","textContent","removeChild","l","scriptsToEvalLen","Function","styleTags","styleTag","parentNode","replaceChild","SVGInjector","elements","_b","_c","afterAll","_d","afterEach","_e","_f","_g","_h","_j","elementsLoaded_1","j"],"mappings":"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"}
1
+ {"version":3,"file":"svg-injector.cjs.development.js","sources":["../compiled/cache.js","../compiled/clone-svg.js","../compiled/is-local.js","../compiled/make-ajax-request.js","../compiled/request-queue.js","../compiled/load-svg-cached.js","../compiled/load-svg-uncached.js","../compiled/unique-id.js","../compiled/inject-element.js","../compiled/svg-injector.js"],"sourcesContent":["var cache = new Map();\nexport default cache;\n//# sourceMappingURL=cache.js.map","var cloneSvg = function (sourceSvg) {\n return sourceSvg.cloneNode(true);\n};\nexport default cloneSvg;\n//# sourceMappingURL=clone-svg.js.map","var isLocal = function () { return window.location.protocol === 'file:'; };\nexport default isLocal;\n//# sourceMappingURL=is-local.js.map","import { parse as parseContentType } from 'content-type';\nimport isLocal from './is-local';\nvar makeAjaxRequest = function (url, httpRequestWithCredentials, callback) {\n var httpRequest = new XMLHttpRequest();\n httpRequest.onreadystatechange = function () {\n try {\n if (!/\\.svg/i.test(url) && httpRequest.readyState === 2) {\n var contentType = httpRequest.getResponseHeader('Content-Type');\n if (!contentType) {\n throw new Error('Content type not found');\n }\n var type = parseContentType(contentType).type;\n if (!(type === 'image/svg+xml' || type === 'text/plain')) {\n throw new Error(\"Invalid content type: \".concat(type));\n }\n }\n if (httpRequest.readyState === 4) {\n if (httpRequest.status === 404 || httpRequest.responseXML === null) {\n throw new Error(isLocal()\n ? 'Note: SVG injection ajax calls do not work locally without ' +\n 'adjusting security settings in your browser. Or consider ' +\n 'using a local webserver.'\n : 'Unable to load SVG file: ' + url);\n }\n if (httpRequest.status === 200 ||\n (isLocal() && httpRequest.status === 0)) {\n callback(null, httpRequest);\n }\n else {\n throw new Error('There was a problem injecting the SVG: ' +\n httpRequest.status +\n ' ' +\n httpRequest.statusText);\n }\n }\n }\n catch (error) {\n httpRequest.abort();\n if (error instanceof Error) {\n callback(error, httpRequest);\n }\n else {\n throw error;\n }\n }\n };\n httpRequest.open('GET', url);\n httpRequest.withCredentials = httpRequestWithCredentials;\n if (httpRequest.overrideMimeType) {\n httpRequest.overrideMimeType('text/xml');\n }\n httpRequest.send();\n};\nexport default makeAjaxRequest;\n//# sourceMappingURL=make-ajax-request.js.map","import cache from './cache';\nimport cloneSvg from './clone-svg';\nvar requestQueue = {};\nexport var clear = function () {\n requestQueue = {};\n};\nexport var queueRequest = function (url, callback) {\n var _a;\n (_a = requestQueue[url]) !== null && _a !== void 0 ? _a : (requestQueue[url] = []);\n requestQueue[url].push(callback);\n};\nexport var processRequestQueue = function (url) {\n var callbacks = requestQueue[url];\n if (!callbacks) {\n return;\n }\n var _loop_1 = function (i, len) {\n setTimeout(function () {\n if (Array.isArray(requestQueue[url])) {\n var cacheValue = cache.get(url);\n var callback = callbacks[i];\n if (!callback) {\n return;\n }\n if (cacheValue instanceof SVGSVGElement) {\n callback(null, cloneSvg(cacheValue));\n }\n if (cacheValue instanceof Error) {\n callback(cacheValue);\n }\n if (i === callbacks.length - 1) {\n delete requestQueue[url];\n }\n }\n }, 0);\n };\n for (var i = 0, len = callbacks.length; i < len; i++) {\n _loop_1(i, len);\n }\n};\n//# sourceMappingURL=request-queue.js.map","import cache from './cache';\nimport cloneSvg from './clone-svg';\nimport makeAjaxRequest from './make-ajax-request';\nimport { processRequestQueue, queueRequest } from './request-queue';\nvar loadSvgCached = function (url, httpRequestWithCredentials, callback) {\n if (cache.has(url)) {\n var cacheValue = cache.get(url);\n if (cacheValue === undefined) {\n queueRequest(url, callback);\n return;\n }\n if (cacheValue instanceof SVGSVGElement) {\n callback(null, cloneSvg(cacheValue));\n return;\n }\n }\n cache.set(url, undefined);\n queueRequest(url, callback);\n makeAjaxRequest(url, httpRequestWithCredentials, function (error, httpRequest) {\n var _a;\n if (error) {\n cache.set(url, error);\n }\n else if (((_a = httpRequest.responseXML) === null || _a === void 0 ? void 0 : _a.documentElement) instanceof SVGSVGElement) {\n cache.set(url, httpRequest.responseXML.documentElement);\n }\n processRequestQueue(url);\n });\n};\nexport default loadSvgCached;\n//# sourceMappingURL=load-svg-cached.js.map","import makeAjaxRequest from './make-ajax-request';\nvar loadSvgUncached = function (url, httpRequestWithCredentials, callback) {\n makeAjaxRequest(url, httpRequestWithCredentials, function (error, httpRequest) {\n var _a;\n if (error) {\n callback(error);\n }\n else if (((_a = httpRequest.responseXML) === null || _a === void 0 ? void 0 : _a.documentElement) instanceof SVGSVGElement) {\n callback(null, httpRequest.responseXML.documentElement);\n }\n });\n};\nexport default loadSvgUncached;\n//# sourceMappingURL=load-svg-uncached.js.map","var idCounter = 0;\nvar uniqueId = function () { return ++idCounter; };\nexport default uniqueId;\n//# sourceMappingURL=unique-id.js.map","import { __spreadArray } from \"tslib\";\nimport loadSvgCached from './load-svg-cached';\nimport loadSvgUncached from './load-svg-uncached';\nimport uniqueId from './unique-id';\nvar injectedElements = [];\nvar ranScripts = {};\nvar svgNamespace = 'http://www.w3.org/2000/svg';\nvar xlinkNamespace = 'http://www.w3.org/1999/xlink';\nvar injectElement = function (el, evalScripts, renumerateIRIElements, cacheRequests, httpRequestWithCredentials, beforeEach, callback) {\n var _a;\n var elUrl = (_a = el.getAttribute('data-src')) !== null && _a !== void 0 ? _a : el.getAttribute('src');\n if (!elUrl) {\n callback(new Error('Invalid data-src or src attribute'));\n return;\n }\n if (injectedElements.indexOf(el) !== -1) {\n injectedElements.splice(injectedElements.indexOf(el), 1);\n el = null;\n return;\n }\n injectedElements.push(el);\n el.setAttribute('src', '');\n var loadSvg = cacheRequests ? loadSvgCached : loadSvgUncached;\n loadSvg(elUrl, httpRequestWithCredentials, function (error, svg) {\n var _a, _b;\n if (!svg) {\n injectedElements.splice(injectedElements.indexOf(el), 1);\n el = null;\n callback(error);\n return;\n }\n var elId = el.getAttribute('id');\n if (elId) {\n svg.setAttribute('id', elId);\n }\n var elTitle = el.getAttribute('title');\n if (elTitle) {\n svg.setAttribute('title', elTitle);\n }\n var elWidth = el.getAttribute('width');\n if (elWidth) {\n svg.setAttribute('width', elWidth);\n }\n var elHeight = el.getAttribute('height');\n if (elHeight) {\n svg.setAttribute('height', elHeight);\n }\n var mergedClasses = Array.from(new Set(__spreadArray(__spreadArray(__spreadArray([], ((_a = svg.getAttribute('class')) !== null && _a !== void 0 ? _a : '').split(' '), true), [\n 'injected-svg'\n ], false), ((_b = el.getAttribute('class')) !== null && _b !== void 0 ? _b : '').split(' '), true)))\n .join(' ')\n .trim();\n svg.setAttribute('class', mergedClasses);\n var elStyle = el.getAttribute('style');\n if (elStyle) {\n svg.setAttribute('style', elStyle);\n }\n svg.setAttribute('data-src', elUrl);\n var elData = [].filter.call(el.attributes, function (at) {\n return /^data-\\w[\\w-]*$/.test(at.name);\n });\n Array.prototype.forEach.call(elData, function (dataAttr) {\n if (dataAttr.name && dataAttr.value) {\n svg.setAttribute(dataAttr.name, dataAttr.value);\n }\n });\n if (renumerateIRIElements) {\n var iriElementsAndProperties_1 = {\n clipPath: ['clip-path'],\n 'color-profile': ['color-profile'],\n cursor: ['cursor'],\n filter: ['filter'],\n linearGradient: ['fill', 'stroke'],\n marker: ['marker', 'marker-start', 'marker-mid', 'marker-end'],\n mask: ['mask'],\n path: [],\n pattern: ['fill', 'stroke'],\n radialGradient: ['fill', 'stroke'],\n };\n var element_1;\n var elements_1;\n var properties_1;\n var currentId_1;\n var newId_1;\n Object.keys(iriElementsAndProperties_1).forEach(function (key) {\n element_1 = key;\n properties_1 = iriElementsAndProperties_1[key];\n elements_1 = svg.querySelectorAll(element_1 + '[id]');\n var _loop_1 = function (a, elementsLen) {\n var currentElement = elements_1[a];\n currentId_1 = currentElement.id;\n newId_1 = currentId_1 + '-' + uniqueId();\n var referencingElements;\n Array.prototype.forEach.call(properties_1, function (property) {\n referencingElements = svg.querySelectorAll('[' + property + '*=\"' + currentId_1 + '\"]');\n for (var b = 0, referencingElementLen = referencingElements.length; b < referencingElementLen; b++) {\n var referencingElement = referencingElements[b];\n var attrValue = referencingElement.getAttribute(property);\n if (attrValue &&\n !attrValue.match(new RegExp('url\\\\(\"?#' + currentId_1 + '\"?\\\\)'))) {\n continue;\n }\n referencingElement.setAttribute(property, 'url(#' + newId_1 + ')');\n }\n });\n var allLinks = svg.querySelectorAll('[*|href]');\n var links = [];\n for (var c = 0, allLinksLen = allLinks.length; c < allLinksLen; c++) {\n var link = allLinks[c];\n var href = link.getAttributeNS(xlinkNamespace, 'href');\n if ((href === null || href === void 0 ? void 0 : href.toString()) === '#' + currentElement.id) {\n links.push(link);\n }\n }\n for (var d = 0, linksLen = links.length; d < linksLen; d++) {\n links[d].setAttributeNS(xlinkNamespace, 'href', '#' + newId_1);\n }\n currentElement.id = newId_1;\n };\n for (var a = 0, elementsLen = elements_1.length; a < elementsLen; a++) {\n _loop_1(a, elementsLen);\n }\n });\n }\n svg.removeAttribute('xmlns:a');\n var scripts = svg.querySelectorAll('script');\n var scriptsToEval = [];\n var script;\n var scriptType;\n for (var i = 0, scriptsLen = scripts.length; i < scriptsLen; i++) {\n var scriptElement = scripts[i];\n scriptType = scriptElement.getAttribute('type');\n if (!scriptType ||\n scriptType === 'application/ecmascript' ||\n scriptType === 'application/javascript' ||\n scriptType === 'text/javascript') {\n script = scriptElement.innerText || scriptElement.textContent;\n if (script) {\n scriptsToEval.push(script);\n }\n svg.removeChild(scriptElement);\n }\n }\n if (scriptsToEval.length > 0 &&\n (evalScripts === 'always' ||\n (evalScripts === 'once' && !ranScripts[elUrl]))) {\n for (var l = 0, scriptsToEvalLen = scriptsToEval.length; l < scriptsToEvalLen; l++) {\n new Function(scriptsToEval[l])(window);\n }\n ranScripts[elUrl] = true;\n }\n var styleTags = svg.querySelectorAll('style');\n Array.prototype.forEach.call(styleTags, function (styleTag) {\n styleTag.textContent += '';\n });\n svg.setAttribute('xmlns', svgNamespace);\n svg.setAttribute('xmlns:xlink', xlinkNamespace);\n beforeEach(svg);\n if (!el.parentNode) {\n injectedElements.splice(injectedElements.indexOf(el), 1);\n el = null;\n callback(new Error('Parent node is null'));\n return;\n }\n el.parentNode.replaceChild(svg, el);\n injectedElements.splice(injectedElements.indexOf(el), 1);\n el = null;\n callback(null, svg);\n });\n};\nexport default injectElement;\n//# sourceMappingURL=inject-element.js.map","import injectElement from './inject-element';\nvar SVGInjector = function (elements, _a) {\n var _b = _a === void 0 ? {} : _a, _c = _b.afterAll, afterAll = _c === void 0 ? function () { return undefined; } : _c, _d = _b.afterEach, afterEach = _d === void 0 ? function () { return undefined; } : _d, _e = _b.beforeEach, beforeEach = _e === void 0 ? function () { return undefined; } : _e, _f = _b.cacheRequests, cacheRequests = _f === void 0 ? true : _f, _g = _b.evalScripts, evalScripts = _g === void 0 ? 'never' : _g, _h = _b.httpRequestWithCredentials, httpRequestWithCredentials = _h === void 0 ? false : _h, _j = _b.renumerateIRIElements, renumerateIRIElements = _j === void 0 ? true : _j;\n if (elements && 'length' in elements) {\n var elementsLoaded_1 = 0;\n for (var i = 0, j = elements.length; i < j; i++) {\n var element = elements[i];\n if (!element) {\n continue;\n }\n injectElement(element, evalScripts, renumerateIRIElements, cacheRequests, httpRequestWithCredentials, beforeEach, function (error, svg) {\n afterEach(error, svg);\n if (elements &&\n 'length' in elements &&\n elements.length === ++elementsLoaded_1) {\n afterAll(elementsLoaded_1);\n }\n });\n }\n }\n else if (elements) {\n injectElement(elements, evalScripts, renumerateIRIElements, cacheRequests, httpRequestWithCredentials, beforeEach, function (error, svg) {\n afterEach(error, svg);\n afterAll(1);\n elements = null;\n });\n }\n else {\n afterAll(0);\n }\n};\nexport default SVGInjector;\n//# sourceMappingURL=svg-injector.js.map"],"names":["cache","Map","cloneSvg","sourceSvg","cloneNode","isLocal","window","location","protocol","makeAjaxRequest","url","httpRequestWithCredentials","callback","httpRequest","XMLHttpRequest","onreadystatechange","test","readyState","contentType","getResponseHeader","Error","type","parseContentType","concat","status","responseXML","statusText","error","abort","open","withCredentials","overrideMimeType","send","requestQueue","queueRequest","_a","push","processRequestQueue","callbacks","i","len","setTimeout","Array","isArray","cacheValue","get","SVGSVGElement","length","loadSvgCached","has","undefined","set","documentElement","loadSvgUncached","idCounter","uniqueId","injectedElements","ranScripts","svgNamespace","xlinkNamespace","injectElement","el","evalScripts","renumerateIRIElements","cacheRequests","beforeEach","elUrl","getAttribute","indexOf","splice","setAttribute","loadSvg","svg","elId","elTitle","elWidth","elHeight","mergedClasses","from","Set","__spreadArray","split","_b","join","trim","elStyle","elData","filter","call","attributes","at","name","prototype","forEach","dataAttr","value","iriElementsAndProperties_1","clipPath","cursor","linearGradient","marker","mask","path","pattern","radialGradient","element_1","elements_1","properties_1","currentId_1","newId_1","Object","keys","key","querySelectorAll","a","elementsLen","currentElement","id","referencingElements","property","b","referencingElementLen","referencingElement","attrValue","match","RegExp","allLinks","links","c","allLinksLen","link","href","getAttributeNS","toString","d","linksLen","setAttributeNS","removeAttribute","scripts","scriptsToEval","script","scriptType","scriptsLen","scriptElement","innerText","textContent","removeChild","l","scriptsToEvalLen","Function","styleTags","styleTag","parentNode","replaceChild","SVGInjector","elements","_c","afterAll","_d","afterEach","_e","_f","_g","_h","_j","elementsLoaded_1","j","element"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";var tslib=require("tslib"),contentType=require("content-type"),cache=new Map,cloneSvg=function(e){return e.cloneNode(!0)},isLocal=function(){return"file:"===window.location.protocol},makeAjaxRequest=function(e,t,r){var n=new XMLHttpRequest;n.onreadystatechange=function(){try{if(!/\.svg/i.test(e)&&2===n.readyState){var t=n.getResponseHeader("Content-Type");if(!t)throw new Error("Content type not found");var i=contentType.parse(t).type;if("image/svg+xml"!==i&&"text/plain"!==i)throw new Error("Invalid content type: ".concat(i))}if(4===n.readyState){if(404===n.status||null===n.responseXML)throw new Error(isLocal()?"Note: SVG injection ajax calls do not work locally without adjusting security settings in your browser. Or consider using a local webserver.":"Unable to load SVG file: "+e);if(!(200===n.status||isLocal()&&0===n.status))throw new Error("There was a problem injecting the SVG: "+n.status+" "+n.statusText);r(null,n)}}catch(e){if(n.abort(),!(e instanceof Error))throw e;r(e,n)}},n.open("GET",e),n.withCredentials=t,n.overrideMimeType&&n.overrideMimeType("text/xml"),n.send()},requestQueue={},queueRequest=function(e,t){requestQueue[e]=requestQueue[e]||[],requestQueue[e].push(t)},processRequestQueue=function(e){for(var t=function(t,r){setTimeout((function(){if(Array.isArray(requestQueue[e])){var r=cache.get(e),n=requestQueue[e][t];r instanceof SVGSVGElement&&n(null,cloneSvg(r)),r instanceof Error&&n(r),t===requestQueue[e].length-1&&delete requestQueue[e]}}),0)},r=0,n=requestQueue[e].length;r<n;r++)t(r)},loadSvgCached=function(e,t,r){if(cache.has(e)){var n=cache.get(e);if(void 0===n)return void queueRequest(e,r);if(n instanceof SVGSVGElement)return void r(null,cloneSvg(n))}cache.set(e,void 0),queueRequest(e,r),makeAjaxRequest(e,t,(function(t,r){var n;t?cache.set(e,t):(null===(n=r.responseXML)||void 0===n?void 0:n.documentElement)instanceof SVGSVGElement&&cache.set(e,r.responseXML.documentElement),processRequestQueue(e)}))},loadSvgUncached=function(e,t,r){makeAjaxRequest(e,t,(function(e,t){var n;e?r(e):(null===(n=t.responseXML)||void 0===n?void 0:n.documentElement)instanceof SVGSVGElement&&r(null,t.responseXML.documentElement)}))},idCounter=0,uniqueId=function(){return++idCounter},injectedElements=[],ranScripts={},svgNamespace="http://www.w3.org/2000/svg",xlinkNamespace="http://www.w3.org/1999/xlink",injectElement=function(e,t,r,n,i,a,o){var l=e.getAttribute("data-src")||e.getAttribute("src");if(l){if(-1!==injectedElements.indexOf(e))return injectedElements.splice(injectedElements.indexOf(e),1),void(e=null);injectedElements.push(e),e.setAttribute("src",""),(n?loadSvgCached:loadSvgUncached)(l,i,(function(n,i){if(!i)return injectedElements.splice(injectedElements.indexOf(e),1),e=null,void o(n);var s=e.getAttribute("id");s&&i.setAttribute("id",s);var u=e.getAttribute("title");u&&i.setAttribute("title",u);var c=e.getAttribute("width");c&&i.setAttribute("width",c);var d=e.getAttribute("height");d&&i.setAttribute("height",d);var f=Array.from(new Set(tslib.__spreadArray(tslib.__spreadArray(tslib.__spreadArray([],(i.getAttribute("class")||"").split(" "),!0),["injected-svg"],!1),(e.getAttribute("class")||"").split(" "),!0))).join(" ").trim();i.setAttribute("class",f);var p=e.getAttribute("style");p&&i.setAttribute("style",p),i.setAttribute("data-src",l);var v=[].filter.call(e.attributes,(function(e){return/^data-\w[\w-]*$/.test(e.name)}));if(Array.prototype.forEach.call(v,(function(e){e.name&&e.value&&i.setAttribute(e.name,e.value)})),r){var h,m,g,A,b={clipPath:["clip-path"],"color-profile":["color-profile"],cursor:["cursor"],filter:["filter"],linearGradient:["fill","stroke"],marker:["marker","marker-start","marker-mid","marker-end"],mask:["mask"],path:[],pattern:["fill","stroke"],radialGradient:["fill","stroke"]};Object.keys(b).forEach((function(e){m=b[e];for(var t=function(e,t){var r;A=(g=h[e].id)+"-"+uniqueId(),Array.prototype.forEach.call(m,(function(e){for(var t=0,n=(r=i.querySelectorAll("["+e+'*="'+g+'"]')).length;t<n;t++){var a=r[t].getAttribute(e);a&&!a.match(new RegExp('url\\("?#'+g+'"?\\)'))||r[t].setAttribute(e,"url(#"+A+")")}}));for(var n=i.querySelectorAll("[*|href]"),a=[],o=0,l=n.length;o<l;o++){var s=n[o].getAttributeNS(xlinkNamespace,"href");s&&s.toString()==="#"+h[e].id&&a.push(n[o])}for(var u=0,c=a.length;u<c;u++)a[u].setAttributeNS(xlinkNamespace,"href","#"+A);h[e].id=A},r=0,n=(h=i.querySelectorAll(e+"[id]")).length;r<n;r++)t(r)}))}i.removeAttribute("xmlns:a");for(var w,y,E=i.querySelectorAll("script"),S=[],q=0,j=E.length;q<j;q++)(y=E[q].getAttribute("type"))&&"application/ecmascript"!==y&&"application/javascript"!==y&&"text/javascript"!==y||((w=E[q].innerText||E[q].textContent)&&S.push(w),i.removeChild(E[q]));if(S.length>0&&("always"===t||"once"===t&&!ranScripts[l])){for(var x=0,k=S.length;x<k;x++)new Function(S[x])(window);ranScripts[l]=!0}var G=i.querySelectorAll("style");if(Array.prototype.forEach.call(G,(function(e){e.textContent+=""})),i.setAttribute("xmlns",svgNamespace),i.setAttribute("xmlns:xlink",xlinkNamespace),a(i),!e.parentNode)return injectedElements.splice(injectedElements.indexOf(e),1),e=null,void o(new Error("Parent node is null"));e.parentNode.replaceChild(i,e),injectedElements.splice(injectedElements.indexOf(e),1),e=null,o(null,i)}))}else o(new Error("Invalid data-src or src attribute"))},SVGInjector=function(e,t){var r=void 0===t?{}:t,n=r.afterAll,i=void 0===n?function(){}:n,a=r.afterEach,o=void 0===a?function(){}:a,l=r.beforeEach,s=void 0===l?function(){}:l,u=r.cacheRequests,c=void 0===u||u,d=r.evalScripts,f=void 0===d?"never":d,p=r.httpRequestWithCredentials,v=void 0!==p&&p,h=r.renumerateIRIElements,m=void 0===h||h;if(e&&"length"in e)for(var g=0,A=0,b=e.length;A<b;A++)injectElement(e[A],f,m,c,v,s,(function(t,r){o(t,r),e&&"length"in e&&e.length===++g&&i(g)}));else e?injectElement(e,f,m,c,v,s,(function(t,r){o(t,r),i(1),e=null})):i(0)};exports.SVGInjector=SVGInjector;
1
+ "use strict";var tslib=require("tslib"),contentType=require("content-type"),cache=new Map,cloneSvg=function(e){return e.cloneNode(!0)},isLocal=function(){return"file:"===window.location.protocol},makeAjaxRequest=function(e,t,r){var n=new XMLHttpRequest;n.onreadystatechange=function(){try{if(!/\.svg/i.test(e)&&2===n.readyState){var t=n.getResponseHeader("Content-Type");if(!t)throw new Error("Content type not found");var i=contentType.parse(t).type;if("image/svg+xml"!==i&&"text/plain"!==i)throw new Error("Invalid content type: ".concat(i))}if(4===n.readyState){if(404===n.status||null===n.responseXML)throw new Error(isLocal()?"Note: SVG injection ajax calls do not work locally without adjusting security settings in your browser. Or consider using a local webserver.":"Unable to load SVG file: "+e);if(!(200===n.status||isLocal()&&0===n.status))throw new Error("There was a problem injecting the SVG: "+n.status+" "+n.statusText);r(null,n)}}catch(e){if(n.abort(),!(e instanceof Error))throw e;r(e,n)}},n.open("GET",e),n.withCredentials=t,n.overrideMimeType&&n.overrideMimeType("text/xml"),n.send()},requestQueue={},queueRequest=function(e,t){var r;null!==(r=requestQueue[e])&&void 0!==r||(requestQueue[e]=[]),requestQueue[e].push(t)},processRequestQueue=function(e){var t=requestQueue[e];if(t)for(var r=function(r,n){setTimeout((function(){if(Array.isArray(requestQueue[e])){var n=cache.get(e),i=t[r];if(!i)return;n instanceof SVGSVGElement&&i(null,cloneSvg(n)),n instanceof Error&&i(n),r===t.length-1&&delete requestQueue[e]}}),0)},n=0,i=t.length;n<i;n++)r(n)},loadSvgCached=function(e,t,r){if(cache.has(e)){var n=cache.get(e);if(void 0===n)return void queueRequest(e,r);if(n instanceof SVGSVGElement)return void r(null,cloneSvg(n))}cache.set(e,void 0),queueRequest(e,r),makeAjaxRequest(e,t,(function(t,r){var n;t?cache.set(e,t):(null===(n=r.responseXML)||void 0===n?void 0:n.documentElement)instanceof SVGSVGElement&&cache.set(e,r.responseXML.documentElement),processRequestQueue(e)}))},loadSvgUncached=function(e,t,r){makeAjaxRequest(e,t,(function(e,t){var n;e?r(e):(null===(n=t.responseXML)||void 0===n?void 0:n.documentElement)instanceof SVGSVGElement&&r(null,t.responseXML.documentElement)}))},idCounter=0,uniqueId=function(){return++idCounter},injectedElements=[],ranScripts={},svgNamespace="http://www.w3.org/2000/svg",xlinkNamespace="http://www.w3.org/1999/xlink",injectElement=function(e,t,r,n,i,a,l){var o,s=null!==(o=e.getAttribute("data-src"))&&void 0!==o?o:e.getAttribute("src");if(s){if(-1!==injectedElements.indexOf(e))return injectedElements.splice(injectedElements.indexOf(e),1),void(e=null);injectedElements.push(e),e.setAttribute("src",""),(n?loadSvgCached:loadSvgUncached)(s,i,(function(n,i){var o,u;if(!i)return injectedElements.splice(injectedElements.indexOf(e),1),e=null,void l(n);var c=e.getAttribute("id");c&&i.setAttribute("id",c);var d=e.getAttribute("title");d&&i.setAttribute("title",d);var f=e.getAttribute("width");f&&i.setAttribute("width",f);var v=e.getAttribute("height");v&&i.setAttribute("height",v);var p=Array.from(new Set(tslib.__spreadArray(tslib.__spreadArray(tslib.__spreadArray([],(null!==(o=i.getAttribute("class"))&&void 0!==o?o:"").split(" "),!0),["injected-svg"],!1),(null!==(u=e.getAttribute("class"))&&void 0!==u?u:"").split(" "),!0))).join(" ").trim();i.setAttribute("class",p);var h=e.getAttribute("style");h&&i.setAttribute("style",h),i.setAttribute("data-src",s);var m=[].filter.call(e.attributes,(function(e){return/^data-\w[\w-]*$/.test(e.name)}));if(Array.prototype.forEach.call(m,(function(e){e.name&&e.value&&i.setAttribute(e.name,e.value)})),r){var g,A,b,w,y={clipPath:["clip-path"],"color-profile":["color-profile"],cursor:["cursor"],filter:["filter"],linearGradient:["fill","stroke"],marker:["marker","marker-start","marker-mid","marker-end"],mask:["mask"],path:[],pattern:["fill","stroke"],radialGradient:["fill","stroke"]};Object.keys(y).forEach((function(e){A=y[e];for(var t=function(e,t){var r,n=g[e];w=(b=n.id)+"-"+uniqueId(),Array.prototype.forEach.call(A,(function(e){for(var t=0,n=(r=i.querySelectorAll("["+e+'*="'+b+'"]')).length;t<n;t++){var a=r[t],l=a.getAttribute(e);l&&!l.match(new RegExp('url\\("?#'+b+'"?\\)'))||a.setAttribute(e,"url(#"+w+")")}}));for(var a=i.querySelectorAll("[*|href]"),l=[],o=0,s=a.length;o<s;o++){var u=a[o],c=u.getAttributeNS(xlinkNamespace,"href");(null==c?void 0:c.toString())==="#"+n.id&&l.push(u)}for(var d=0,f=l.length;d<f;d++)l[d].setAttributeNS(xlinkNamespace,"href","#"+w);n.id=w},r=0,n=(g=i.querySelectorAll(e+"[id]")).length;r<n;r++)t(r)}))}i.removeAttribute("xmlns:a");for(var E,S,q=i.querySelectorAll("script"),j=[],x=0,k=q.length;x<k;x++){var G=q[x];(S=G.getAttribute("type"))&&"application/ecmascript"!==S&&"application/javascript"!==S&&"text/javascript"!==S||((E=G.innerText||G.textContent)&&j.push(E),i.removeChild(G))}if(j.length>0&&("always"===t||"once"===t&&!ranScripts[s])){for(var R=0,V=j.length;R<V;R++)new Function(j[R])(window);ranScripts[s]=!0}var C=i.querySelectorAll("style");if(Array.prototype.forEach.call(C,(function(e){e.textContent+=""})),i.setAttribute("xmlns",svgNamespace),i.setAttribute("xmlns:xlink",xlinkNamespace),a(i),!e.parentNode)return injectedElements.splice(injectedElements.indexOf(e),1),e=null,void l(new Error("Parent node is null"));e.parentNode.replaceChild(i,e),injectedElements.splice(injectedElements.indexOf(e),1),e=null,l(null,i)}))}else l(new Error("Invalid data-src or src attribute"))},SVGInjector=function(e,t){var r=void 0===t?{}:t,n=r.afterAll,i=void 0===n?function(){}:n,a=r.afterEach,l=void 0===a?function(){}:a,o=r.beforeEach,s=void 0===o?function(){}:o,u=r.cacheRequests,c=void 0===u||u,d=r.evalScripts,f=void 0===d?"never":d,v=r.httpRequestWithCredentials,p=void 0!==v&&v,h=r.renumerateIRIElements,m=void 0===h||h;if(e&&"length"in e)for(var g=0,A=0,b=e.length;A<b;A++){var w=e[A];w&&injectElement(w,f,m,c,p,s,(function(t,r){l(t,r),e&&"length"in e&&e.length===++g&&i(g)}))}else e?injectElement(e,f,m,c,p,s,(function(t,r){l(t,r),i(1),e=null})):i(0)};exports.SVGInjector=SVGInjector;
2
2
  //# sourceMappingURL=svg-injector.cjs.production.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"svg-injector.cjs.production.js","sources":["../compiled/cache.js","../compiled/clone-svg.js","../compiled/is-local.js","../compiled/make-ajax-request.js","../compiled/request-queue.js","../compiled/load-svg-cached.js","../compiled/load-svg-uncached.js","../compiled/unique-id.js","../compiled/inject-element.js","../compiled/svg-injector.js"],"sourcesContent":["var cache = new Map();\nexport default cache;\n//# sourceMappingURL=cache.js.map","var cloneSvg = function (sourceSvg) {\n return sourceSvg.cloneNode(true);\n};\nexport default cloneSvg;\n//# sourceMappingURL=clone-svg.js.map","var isLocal = function () { return window.location.protocol === 'file:'; };\nexport default isLocal;\n//# sourceMappingURL=is-local.js.map","import { parse as parseContentType } from 'content-type';\nimport isLocal from './is-local';\nvar makeAjaxRequest = function (url, httpRequestWithCredentials, callback) {\n var httpRequest = new XMLHttpRequest();\n httpRequest.onreadystatechange = function () {\n try {\n if (!/\\.svg/i.test(url) && httpRequest.readyState === 2) {\n var contentType = httpRequest.getResponseHeader('Content-Type');\n if (!contentType) {\n throw new Error('Content type not found');\n }\n var type = parseContentType(contentType).type;\n if (!(type === 'image/svg+xml' || type === 'text/plain')) {\n throw new Error(\"Invalid content type: \".concat(type));\n }\n }\n if (httpRequest.readyState === 4) {\n if (httpRequest.status === 404 || httpRequest.responseXML === null) {\n throw new Error(isLocal()\n ? 'Note: SVG injection ajax calls do not work locally without ' +\n 'adjusting security settings in your browser. Or consider ' +\n 'using a local webserver.'\n : 'Unable to load SVG file: ' + url);\n }\n if (httpRequest.status === 200 ||\n (isLocal() && httpRequest.status === 0)) {\n callback(null, httpRequest);\n }\n else {\n throw new Error('There was a problem injecting the SVG: ' +\n httpRequest.status +\n ' ' +\n httpRequest.statusText);\n }\n }\n }\n catch (error) {\n httpRequest.abort();\n if (error instanceof Error) {\n callback(error, httpRequest);\n }\n else {\n throw error;\n }\n }\n };\n httpRequest.open('GET', url);\n httpRequest.withCredentials = httpRequestWithCredentials;\n if (httpRequest.overrideMimeType) {\n httpRequest.overrideMimeType('text/xml');\n }\n httpRequest.send();\n};\nexport default makeAjaxRequest;\n//# sourceMappingURL=make-ajax-request.js.map","import cache from './cache';\nimport cloneSvg from './clone-svg';\nvar requestQueue = {};\nexport var clear = function () {\n requestQueue = {};\n};\nexport var queueRequest = function (url, callback) {\n requestQueue[url] = requestQueue[url] || [];\n requestQueue[url].push(callback);\n};\nexport var processRequestQueue = function (url) {\n var _loop_1 = function (i, len) {\n setTimeout(function () {\n if (Array.isArray(requestQueue[url])) {\n var cacheValue = cache.get(url);\n var callback = requestQueue[url][i];\n if (cacheValue instanceof SVGSVGElement) {\n callback(null, cloneSvg(cacheValue));\n }\n if (cacheValue instanceof Error) {\n callback(cacheValue);\n }\n if (i === requestQueue[url].length - 1) {\n delete requestQueue[url];\n }\n }\n }, 0);\n };\n for (var i = 0, len = requestQueue[url].length; i < len; i++) {\n _loop_1(i, len);\n }\n};\n//# sourceMappingURL=request-queue.js.map","import cache from './cache';\nimport cloneSvg from './clone-svg';\nimport makeAjaxRequest from './make-ajax-request';\nimport { processRequestQueue, queueRequest } from './request-queue';\nvar loadSvgCached = function (url, httpRequestWithCredentials, callback) {\n if (cache.has(url)) {\n var cacheValue = cache.get(url);\n if (cacheValue === undefined) {\n queueRequest(url, callback);\n return;\n }\n if (cacheValue instanceof SVGSVGElement) {\n callback(null, cloneSvg(cacheValue));\n return;\n }\n }\n cache.set(url, undefined);\n queueRequest(url, callback);\n makeAjaxRequest(url, httpRequestWithCredentials, function (error, httpRequest) {\n var _a;\n if (error) {\n cache.set(url, error);\n }\n else if (((_a = httpRequest.responseXML) === null || _a === void 0 ? void 0 : _a.documentElement) instanceof SVGSVGElement) {\n cache.set(url, httpRequest.responseXML.documentElement);\n }\n processRequestQueue(url);\n });\n};\nexport default loadSvgCached;\n//# sourceMappingURL=load-svg-cached.js.map","import makeAjaxRequest from './make-ajax-request';\nvar loadSvgUncached = function (url, httpRequestWithCredentials, callback) {\n makeAjaxRequest(url, httpRequestWithCredentials, function (error, httpRequest) {\n var _a;\n if (error) {\n callback(error);\n }\n else if (((_a = httpRequest.responseXML) === null || _a === void 0 ? void 0 : _a.documentElement) instanceof SVGSVGElement) {\n callback(null, httpRequest.responseXML.documentElement);\n }\n });\n};\nexport default loadSvgUncached;\n//# sourceMappingURL=load-svg-uncached.js.map","var idCounter = 0;\nvar uniqueId = function () { return ++idCounter; };\nexport default uniqueId;\n//# sourceMappingURL=unique-id.js.map","import { __spreadArray } from \"tslib\";\nimport loadSvgCached from './load-svg-cached';\nimport loadSvgUncached from './load-svg-uncached';\nimport uniqueId from './unique-id';\nvar injectedElements = [];\nvar ranScripts = {};\nvar svgNamespace = 'http://www.w3.org/2000/svg';\nvar xlinkNamespace = 'http://www.w3.org/1999/xlink';\nvar injectElement = function (el, evalScripts, renumerateIRIElements, cacheRequests, httpRequestWithCredentials, beforeEach, callback) {\n var elUrl = el.getAttribute('data-src') || el.getAttribute('src');\n if (!elUrl) {\n callback(new Error('Invalid data-src or src attribute'));\n return;\n }\n if (injectedElements.indexOf(el) !== -1) {\n injectedElements.splice(injectedElements.indexOf(el), 1);\n el = null;\n return;\n }\n injectedElements.push(el);\n el.setAttribute('src', '');\n var loadSvg = cacheRequests ? loadSvgCached : loadSvgUncached;\n loadSvg(elUrl, httpRequestWithCredentials, function (error, svg) {\n if (!svg) {\n injectedElements.splice(injectedElements.indexOf(el), 1);\n el = null;\n callback(error);\n return;\n }\n var elId = el.getAttribute('id');\n if (elId) {\n svg.setAttribute('id', elId);\n }\n var elTitle = el.getAttribute('title');\n if (elTitle) {\n svg.setAttribute('title', elTitle);\n }\n var elWidth = el.getAttribute('width');\n if (elWidth) {\n svg.setAttribute('width', elWidth);\n }\n var elHeight = el.getAttribute('height');\n if (elHeight) {\n svg.setAttribute('height', elHeight);\n }\n var mergedClasses = Array.from(new Set(__spreadArray(__spreadArray(__spreadArray([], (svg.getAttribute('class') || '').split(' '), true), [\n 'injected-svg'\n ], false), (el.getAttribute('class') || '').split(' '), true)))\n .join(' ')\n .trim();\n svg.setAttribute('class', mergedClasses);\n var elStyle = el.getAttribute('style');\n if (elStyle) {\n svg.setAttribute('style', elStyle);\n }\n svg.setAttribute('data-src', elUrl);\n var elData = [].filter.call(el.attributes, function (at) {\n return /^data-\\w[\\w-]*$/.test(at.name);\n });\n Array.prototype.forEach.call(elData, function (dataAttr) {\n if (dataAttr.name && dataAttr.value) {\n svg.setAttribute(dataAttr.name, dataAttr.value);\n }\n });\n if (renumerateIRIElements) {\n var iriElementsAndProperties_1 = {\n clipPath: ['clip-path'],\n 'color-profile': ['color-profile'],\n cursor: ['cursor'],\n filter: ['filter'],\n linearGradient: ['fill', 'stroke'],\n marker: ['marker', 'marker-start', 'marker-mid', 'marker-end'],\n mask: ['mask'],\n path: [],\n pattern: ['fill', 'stroke'],\n radialGradient: ['fill', 'stroke'],\n };\n var element_1;\n var elements_1;\n var properties_1;\n var currentId_1;\n var newId_1;\n Object.keys(iriElementsAndProperties_1).forEach(function (key) {\n element_1 = key;\n properties_1 = iriElementsAndProperties_1[key];\n elements_1 = svg.querySelectorAll(element_1 + '[id]');\n var _loop_1 = function (a, elementsLen) {\n currentId_1 = elements_1[a].id;\n newId_1 = currentId_1 + '-' + uniqueId();\n var referencingElements;\n Array.prototype.forEach.call(properties_1, function (property) {\n referencingElements = svg.querySelectorAll('[' + property + '*=\"' + currentId_1 + '\"]');\n for (var b = 0, referencingElementLen = referencingElements.length; b < referencingElementLen; b++) {\n var attrValue = referencingElements[b].getAttribute(property);\n if (attrValue &&\n !attrValue.match(new RegExp('url\\\\(\"?#' + currentId_1 + '\"?\\\\)'))) {\n continue;\n }\n referencingElements[b].setAttribute(property, 'url(#' + newId_1 + ')');\n }\n });\n var allLinks = svg.querySelectorAll('[*|href]');\n var links = [];\n for (var c = 0, allLinksLen = allLinks.length; c < allLinksLen; c++) {\n var href = allLinks[c].getAttributeNS(xlinkNamespace, 'href');\n if (href && href.toString() === '#' + elements_1[a].id) {\n links.push(allLinks[c]);\n }\n }\n for (var d = 0, linksLen = links.length; d < linksLen; d++) {\n links[d].setAttributeNS(xlinkNamespace, 'href', '#' + newId_1);\n }\n elements_1[a].id = newId_1;\n };\n for (var a = 0, elementsLen = elements_1.length; a < elementsLen; a++) {\n _loop_1(a, elementsLen);\n }\n });\n }\n svg.removeAttribute('xmlns:a');\n var scripts = svg.querySelectorAll('script');\n var scriptsToEval = [];\n var script;\n var scriptType;\n for (var i = 0, scriptsLen = scripts.length; i < scriptsLen; i++) {\n scriptType = scripts[i].getAttribute('type');\n if (!scriptType ||\n scriptType === 'application/ecmascript' ||\n scriptType === 'application/javascript' ||\n scriptType === 'text/javascript') {\n script = scripts[i].innerText || scripts[i].textContent;\n if (script) {\n scriptsToEval.push(script);\n }\n svg.removeChild(scripts[i]);\n }\n }\n if (scriptsToEval.length > 0 &&\n (evalScripts === 'always' ||\n (evalScripts === 'once' && !ranScripts[elUrl]))) {\n for (var l = 0, scriptsToEvalLen = scriptsToEval.length; l < scriptsToEvalLen; l++) {\n new Function(scriptsToEval[l])(window);\n }\n ranScripts[elUrl] = true;\n }\n var styleTags = svg.querySelectorAll('style');\n Array.prototype.forEach.call(styleTags, function (styleTag) {\n styleTag.textContent += '';\n });\n svg.setAttribute('xmlns', svgNamespace);\n svg.setAttribute('xmlns:xlink', xlinkNamespace);\n beforeEach(svg);\n if (!el.parentNode) {\n injectedElements.splice(injectedElements.indexOf(el), 1);\n el = null;\n callback(new Error('Parent node is null'));\n return;\n }\n el.parentNode.replaceChild(svg, el);\n injectedElements.splice(injectedElements.indexOf(el), 1);\n el = null;\n callback(null, svg);\n });\n};\nexport default injectElement;\n//# sourceMappingURL=inject-element.js.map","import injectElement from './inject-element';\nvar SVGInjector = function (elements, _a) {\n var _b = _a === void 0 ? {} : _a, _c = _b.afterAll, afterAll = _c === void 0 ? function () { return undefined; } : _c, _d = _b.afterEach, afterEach = _d === void 0 ? function () { return undefined; } : _d, _e = _b.beforeEach, beforeEach = _e === void 0 ? function () { return undefined; } : _e, _f = _b.cacheRequests, cacheRequests = _f === void 0 ? true : _f, _g = _b.evalScripts, evalScripts = _g === void 0 ? 'never' : _g, _h = _b.httpRequestWithCredentials, httpRequestWithCredentials = _h === void 0 ? false : _h, _j = _b.renumerateIRIElements, renumerateIRIElements = _j === void 0 ? true : _j;\n if (elements && 'length' in elements) {\n var elementsLoaded_1 = 0;\n for (var i = 0, j = elements.length; i < j; i++) {\n injectElement(elements[i], evalScripts, renumerateIRIElements, cacheRequests, httpRequestWithCredentials, beforeEach, function (error, svg) {\n afterEach(error, svg);\n if (elements &&\n 'length' in elements &&\n elements.length === ++elementsLoaded_1) {\n afterAll(elementsLoaded_1);\n }\n });\n }\n }\n else if (elements) {\n injectElement(elements, evalScripts, renumerateIRIElements, cacheRequests, httpRequestWithCredentials, beforeEach, function (error, svg) {\n afterEach(error, svg);\n afterAll(1);\n elements = null;\n });\n }\n else {\n afterAll(0);\n }\n};\nexport default SVGInjector;\n//# sourceMappingURL=svg-injector.js.map"],"names":["cache","Map","cloneSvg","sourceSvg","cloneNode","isLocal","window","location","protocol","makeAjaxRequest","url","httpRequestWithCredentials","callback","httpRequest","XMLHttpRequest","onreadystatechange","test","readyState","contentType","getResponseHeader","Error","type","parseContentType","concat","status","responseXML","statusText","error","abort","open","withCredentials","overrideMimeType","send","requestQueue","queueRequest","push","processRequestQueue","i","len","setTimeout","Array","isArray","cacheValue","get","SVGSVGElement","length","loadSvgCached","has","undefined","set","_a","documentElement","loadSvgUncached","idCounter","uniqueId","injectedElements","ranScripts","svgNamespace","xlinkNamespace","injectElement","el","evalScripts","renumerateIRIElements","cacheRequests","beforeEach","elUrl","getAttribute","indexOf","splice","setAttribute","svg","elId","elTitle","elWidth","elHeight","mergedClasses","from","Set","__spreadArray","split","join","trim","elStyle","elData","filter","call","attributes","at","name","prototype","forEach","dataAttr","value","elements_1","properties_1","currentId_1","newId_1","iriElementsAndProperties_1","clipPath","cursor","linearGradient","marker","mask","path","pattern","radialGradient","Object","keys","key","a","elementsLen","referencingElements","id","property","b","referencingElementLen","querySelectorAll","attrValue","match","RegExp","allLinks","links","c","allLinksLen","href","getAttributeNS","toString","d","linksLen","setAttributeNS","removeAttribute","script","scriptType","scripts","scriptsToEval","scriptsLen","innerText","textContent","removeChild","l","scriptsToEvalLen","Function","styleTags","styleTag","parentNode","replaceChild","SVGInjector","elements","_b","_c","afterAll","_d","afterEach","_e","_f","_g","_h","_j","elementsLoaded_1","j"],"mappings":"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"}
1
+ {"version":3,"file":"svg-injector.cjs.production.js","sources":["../compiled/cache.js","../compiled/clone-svg.js","../compiled/is-local.js","../compiled/make-ajax-request.js","../compiled/request-queue.js","../compiled/load-svg-cached.js","../compiled/load-svg-uncached.js","../compiled/unique-id.js","../compiled/inject-element.js","../compiled/svg-injector.js"],"sourcesContent":["var cache = new Map();\nexport default cache;\n//# sourceMappingURL=cache.js.map","var cloneSvg = function (sourceSvg) {\n return sourceSvg.cloneNode(true);\n};\nexport default cloneSvg;\n//# sourceMappingURL=clone-svg.js.map","var isLocal = function () { return window.location.protocol === 'file:'; };\nexport default isLocal;\n//# sourceMappingURL=is-local.js.map","import { parse as parseContentType } from 'content-type';\nimport isLocal from './is-local';\nvar makeAjaxRequest = function (url, httpRequestWithCredentials, callback) {\n var httpRequest = new XMLHttpRequest();\n httpRequest.onreadystatechange = function () {\n try {\n if (!/\\.svg/i.test(url) && httpRequest.readyState === 2) {\n var contentType = httpRequest.getResponseHeader('Content-Type');\n if (!contentType) {\n throw new Error('Content type not found');\n }\n var type = parseContentType(contentType).type;\n if (!(type === 'image/svg+xml' || type === 'text/plain')) {\n throw new Error(\"Invalid content type: \".concat(type));\n }\n }\n if (httpRequest.readyState === 4) {\n if (httpRequest.status === 404 || httpRequest.responseXML === null) {\n throw new Error(isLocal()\n ? 'Note: SVG injection ajax calls do not work locally without ' +\n 'adjusting security settings in your browser. Or consider ' +\n 'using a local webserver.'\n : 'Unable to load SVG file: ' + url);\n }\n if (httpRequest.status === 200 ||\n (isLocal() && httpRequest.status === 0)) {\n callback(null, httpRequest);\n }\n else {\n throw new Error('There was a problem injecting the SVG: ' +\n httpRequest.status +\n ' ' +\n httpRequest.statusText);\n }\n }\n }\n catch (error) {\n httpRequest.abort();\n if (error instanceof Error) {\n callback(error, httpRequest);\n }\n else {\n throw error;\n }\n }\n };\n httpRequest.open('GET', url);\n httpRequest.withCredentials = httpRequestWithCredentials;\n if (httpRequest.overrideMimeType) {\n httpRequest.overrideMimeType('text/xml');\n }\n httpRequest.send();\n};\nexport default makeAjaxRequest;\n//# sourceMappingURL=make-ajax-request.js.map","import cache from './cache';\nimport cloneSvg from './clone-svg';\nvar requestQueue = {};\nexport var clear = function () {\n requestQueue = {};\n};\nexport var queueRequest = function (url, callback) {\n var _a;\n (_a = requestQueue[url]) !== null && _a !== void 0 ? _a : (requestQueue[url] = []);\n requestQueue[url].push(callback);\n};\nexport var processRequestQueue = function (url) {\n var callbacks = requestQueue[url];\n if (!callbacks) {\n return;\n }\n var _loop_1 = function (i, len) {\n setTimeout(function () {\n if (Array.isArray(requestQueue[url])) {\n var cacheValue = cache.get(url);\n var callback = callbacks[i];\n if (!callback) {\n return;\n }\n if (cacheValue instanceof SVGSVGElement) {\n callback(null, cloneSvg(cacheValue));\n }\n if (cacheValue instanceof Error) {\n callback(cacheValue);\n }\n if (i === callbacks.length - 1) {\n delete requestQueue[url];\n }\n }\n }, 0);\n };\n for (var i = 0, len = callbacks.length; i < len; i++) {\n _loop_1(i, len);\n }\n};\n//# sourceMappingURL=request-queue.js.map","import cache from './cache';\nimport cloneSvg from './clone-svg';\nimport makeAjaxRequest from './make-ajax-request';\nimport { processRequestQueue, queueRequest } from './request-queue';\nvar loadSvgCached = function (url, httpRequestWithCredentials, callback) {\n if (cache.has(url)) {\n var cacheValue = cache.get(url);\n if (cacheValue === undefined) {\n queueRequest(url, callback);\n return;\n }\n if (cacheValue instanceof SVGSVGElement) {\n callback(null, cloneSvg(cacheValue));\n return;\n }\n }\n cache.set(url, undefined);\n queueRequest(url, callback);\n makeAjaxRequest(url, httpRequestWithCredentials, function (error, httpRequest) {\n var _a;\n if (error) {\n cache.set(url, error);\n }\n else if (((_a = httpRequest.responseXML) === null || _a === void 0 ? void 0 : _a.documentElement) instanceof SVGSVGElement) {\n cache.set(url, httpRequest.responseXML.documentElement);\n }\n processRequestQueue(url);\n });\n};\nexport default loadSvgCached;\n//# sourceMappingURL=load-svg-cached.js.map","import makeAjaxRequest from './make-ajax-request';\nvar loadSvgUncached = function (url, httpRequestWithCredentials, callback) {\n makeAjaxRequest(url, httpRequestWithCredentials, function (error, httpRequest) {\n var _a;\n if (error) {\n callback(error);\n }\n else if (((_a = httpRequest.responseXML) === null || _a === void 0 ? void 0 : _a.documentElement) instanceof SVGSVGElement) {\n callback(null, httpRequest.responseXML.documentElement);\n }\n });\n};\nexport default loadSvgUncached;\n//# sourceMappingURL=load-svg-uncached.js.map","var idCounter = 0;\nvar uniqueId = function () { return ++idCounter; };\nexport default uniqueId;\n//# sourceMappingURL=unique-id.js.map","import { __spreadArray } from \"tslib\";\nimport loadSvgCached from './load-svg-cached';\nimport loadSvgUncached from './load-svg-uncached';\nimport uniqueId from './unique-id';\nvar injectedElements = [];\nvar ranScripts = {};\nvar svgNamespace = 'http://www.w3.org/2000/svg';\nvar xlinkNamespace = 'http://www.w3.org/1999/xlink';\nvar injectElement = function (el, evalScripts, renumerateIRIElements, cacheRequests, httpRequestWithCredentials, beforeEach, callback) {\n var _a;\n var elUrl = (_a = el.getAttribute('data-src')) !== null && _a !== void 0 ? _a : el.getAttribute('src');\n if (!elUrl) {\n callback(new Error('Invalid data-src or src attribute'));\n return;\n }\n if (injectedElements.indexOf(el) !== -1) {\n injectedElements.splice(injectedElements.indexOf(el), 1);\n el = null;\n return;\n }\n injectedElements.push(el);\n el.setAttribute('src', '');\n var loadSvg = cacheRequests ? loadSvgCached : loadSvgUncached;\n loadSvg(elUrl, httpRequestWithCredentials, function (error, svg) {\n var _a, _b;\n if (!svg) {\n injectedElements.splice(injectedElements.indexOf(el), 1);\n el = null;\n callback(error);\n return;\n }\n var elId = el.getAttribute('id');\n if (elId) {\n svg.setAttribute('id', elId);\n }\n var elTitle = el.getAttribute('title');\n if (elTitle) {\n svg.setAttribute('title', elTitle);\n }\n var elWidth = el.getAttribute('width');\n if (elWidth) {\n svg.setAttribute('width', elWidth);\n }\n var elHeight = el.getAttribute('height');\n if (elHeight) {\n svg.setAttribute('height', elHeight);\n }\n var mergedClasses = Array.from(new Set(__spreadArray(__spreadArray(__spreadArray([], ((_a = svg.getAttribute('class')) !== null && _a !== void 0 ? _a : '').split(' '), true), [\n 'injected-svg'\n ], false), ((_b = el.getAttribute('class')) !== null && _b !== void 0 ? _b : '').split(' '), true)))\n .join(' ')\n .trim();\n svg.setAttribute('class', mergedClasses);\n var elStyle = el.getAttribute('style');\n if (elStyle) {\n svg.setAttribute('style', elStyle);\n }\n svg.setAttribute('data-src', elUrl);\n var elData = [].filter.call(el.attributes, function (at) {\n return /^data-\\w[\\w-]*$/.test(at.name);\n });\n Array.prototype.forEach.call(elData, function (dataAttr) {\n if (dataAttr.name && dataAttr.value) {\n svg.setAttribute(dataAttr.name, dataAttr.value);\n }\n });\n if (renumerateIRIElements) {\n var iriElementsAndProperties_1 = {\n clipPath: ['clip-path'],\n 'color-profile': ['color-profile'],\n cursor: ['cursor'],\n filter: ['filter'],\n linearGradient: ['fill', 'stroke'],\n marker: ['marker', 'marker-start', 'marker-mid', 'marker-end'],\n mask: ['mask'],\n path: [],\n pattern: ['fill', 'stroke'],\n radialGradient: ['fill', 'stroke'],\n };\n var element_1;\n var elements_1;\n var properties_1;\n var currentId_1;\n var newId_1;\n Object.keys(iriElementsAndProperties_1).forEach(function (key) {\n element_1 = key;\n properties_1 = iriElementsAndProperties_1[key];\n elements_1 = svg.querySelectorAll(element_1 + '[id]');\n var _loop_1 = function (a, elementsLen) {\n var currentElement = elements_1[a];\n currentId_1 = currentElement.id;\n newId_1 = currentId_1 + '-' + uniqueId();\n var referencingElements;\n Array.prototype.forEach.call(properties_1, function (property) {\n referencingElements = svg.querySelectorAll('[' + property + '*=\"' + currentId_1 + '\"]');\n for (var b = 0, referencingElementLen = referencingElements.length; b < referencingElementLen; b++) {\n var referencingElement = referencingElements[b];\n var attrValue = referencingElement.getAttribute(property);\n if (attrValue &&\n !attrValue.match(new RegExp('url\\\\(\"?#' + currentId_1 + '\"?\\\\)'))) {\n continue;\n }\n referencingElement.setAttribute(property, 'url(#' + newId_1 + ')');\n }\n });\n var allLinks = svg.querySelectorAll('[*|href]');\n var links = [];\n for (var c = 0, allLinksLen = allLinks.length; c < allLinksLen; c++) {\n var link = allLinks[c];\n var href = link.getAttributeNS(xlinkNamespace, 'href');\n if ((href === null || href === void 0 ? void 0 : href.toString()) === '#' + currentElement.id) {\n links.push(link);\n }\n }\n for (var d = 0, linksLen = links.length; d < linksLen; d++) {\n links[d].setAttributeNS(xlinkNamespace, 'href', '#' + newId_1);\n }\n currentElement.id = newId_1;\n };\n for (var a = 0, elementsLen = elements_1.length; a < elementsLen; a++) {\n _loop_1(a, elementsLen);\n }\n });\n }\n svg.removeAttribute('xmlns:a');\n var scripts = svg.querySelectorAll('script');\n var scriptsToEval = [];\n var script;\n var scriptType;\n for (var i = 0, scriptsLen = scripts.length; i < scriptsLen; i++) {\n var scriptElement = scripts[i];\n scriptType = scriptElement.getAttribute('type');\n if (!scriptType ||\n scriptType === 'application/ecmascript' ||\n scriptType === 'application/javascript' ||\n scriptType === 'text/javascript') {\n script = scriptElement.innerText || scriptElement.textContent;\n if (script) {\n scriptsToEval.push(script);\n }\n svg.removeChild(scriptElement);\n }\n }\n if (scriptsToEval.length > 0 &&\n (evalScripts === 'always' ||\n (evalScripts === 'once' && !ranScripts[elUrl]))) {\n for (var l = 0, scriptsToEvalLen = scriptsToEval.length; l < scriptsToEvalLen; l++) {\n new Function(scriptsToEval[l])(window);\n }\n ranScripts[elUrl] = true;\n }\n var styleTags = svg.querySelectorAll('style');\n Array.prototype.forEach.call(styleTags, function (styleTag) {\n styleTag.textContent += '';\n });\n svg.setAttribute('xmlns', svgNamespace);\n svg.setAttribute('xmlns:xlink', xlinkNamespace);\n beforeEach(svg);\n if (!el.parentNode) {\n injectedElements.splice(injectedElements.indexOf(el), 1);\n el = null;\n callback(new Error('Parent node is null'));\n return;\n }\n el.parentNode.replaceChild(svg, el);\n injectedElements.splice(injectedElements.indexOf(el), 1);\n el = null;\n callback(null, svg);\n });\n};\nexport default injectElement;\n//# sourceMappingURL=inject-element.js.map","import injectElement from './inject-element';\nvar SVGInjector = function (elements, _a) {\n var _b = _a === void 0 ? {} : _a, _c = _b.afterAll, afterAll = _c === void 0 ? function () { return undefined; } : _c, _d = _b.afterEach, afterEach = _d === void 0 ? function () { return undefined; } : _d, _e = _b.beforeEach, beforeEach = _e === void 0 ? function () { return undefined; } : _e, _f = _b.cacheRequests, cacheRequests = _f === void 0 ? true : _f, _g = _b.evalScripts, evalScripts = _g === void 0 ? 'never' : _g, _h = _b.httpRequestWithCredentials, httpRequestWithCredentials = _h === void 0 ? false : _h, _j = _b.renumerateIRIElements, renumerateIRIElements = _j === void 0 ? true : _j;\n if (elements && 'length' in elements) {\n var elementsLoaded_1 = 0;\n for (var i = 0, j = elements.length; i < j; i++) {\n var element = elements[i];\n if (!element) {\n continue;\n }\n injectElement(element, evalScripts, renumerateIRIElements, cacheRequests, httpRequestWithCredentials, beforeEach, function (error, svg) {\n afterEach(error, svg);\n if (elements &&\n 'length' in elements &&\n elements.length === ++elementsLoaded_1) {\n afterAll(elementsLoaded_1);\n }\n });\n }\n }\n else if (elements) {\n injectElement(elements, evalScripts, renumerateIRIElements, cacheRequests, httpRequestWithCredentials, beforeEach, function (error, svg) {\n afterEach(error, svg);\n afterAll(1);\n elements = null;\n });\n }\n else {\n afterAll(0);\n }\n};\nexport default SVGInjector;\n//# sourceMappingURL=svg-injector.js.map"],"names":["cache","Map","cloneSvg","sourceSvg","cloneNode","isLocal","window","location","protocol","makeAjaxRequest","url","httpRequestWithCredentials","callback","httpRequest","XMLHttpRequest","onreadystatechange","test","readyState","contentType","getResponseHeader","Error","type","parseContentType","concat","status","responseXML","statusText","error","abort","open","withCredentials","overrideMimeType","send","requestQueue","queueRequest","_a","push","processRequestQueue","callbacks","i","len","setTimeout","Array","isArray","cacheValue","get","SVGSVGElement","length","loadSvgCached","has","undefined","set","documentElement","loadSvgUncached","idCounter","uniqueId","injectedElements","ranScripts","svgNamespace","xlinkNamespace","injectElement","el","evalScripts","renumerateIRIElements","cacheRequests","beforeEach","elUrl","getAttribute","indexOf","splice","setAttribute","svg","elId","elTitle","elWidth","elHeight","mergedClasses","from","Set","__spreadArray","split","_b","join","trim","elStyle","elData","filter","call","attributes","at","name","prototype","forEach","dataAttr","value","elements_1","properties_1","currentId_1","newId_1","iriElementsAndProperties_1","clipPath","cursor","linearGradient","marker","mask","path","pattern","radialGradient","Object","keys","key","a","elementsLen","referencingElements","currentElement","id","property","b","referencingElementLen","querySelectorAll","referencingElement","attrValue","match","RegExp","allLinks","links","c","allLinksLen","link","href","getAttributeNS","toString","d","linksLen","setAttributeNS","removeAttribute","script","scriptType","scripts","scriptsToEval","scriptsLen","scriptElement","innerText","textContent","removeChild","l","scriptsToEvalLen","Function","styleTags","styleTag","parentNode","replaceChild","SVGInjector","elements","_c","afterAll","_d","afterEach","_e","_f","_g","_h","_j","elementsLoaded_1","j","element"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { AfterAll, BeforeEach, Errback, EvalScripts } from './types';
1
+ import type { AfterAll, BeforeEach, Errback, EvalScripts } from './types';
2
2
  type Elements = HTMLCollectionOf<Element> | NodeListOf<Element> | Element | null;
3
3
  interface OptionalArgs {
4
4
  afterAll?: AfterAll;