@tanem/svg-injector 11.1.1 → 11.2.0
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 +23 -0
- package/dist/extract-symbol.d.ts +2 -0
- package/dist/svg-injector.cjs.development.js +37 -2
- package/dist/svg-injector.cjs.development.js.map +1 -1
- package/dist/svg-injector.cjs.production.js +1 -1
- package/dist/svg-injector.cjs.production.js.map +1 -1
- package/dist/svg-injector.esm.js +37 -2
- package/dist/svg-injector.esm.js.map +1 -1
- package/dist/svg-injector.umd.development.js +37 -2
- package/dist/svg-injector.umd.development.js.map +1 -1
- package/dist/svg-injector.umd.production.js +1 -1
- package/dist/svg-injector.umd.production.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -26,6 +26,28 @@ import { SVGInjector } from '@tanem/svg-injector'
|
|
|
26
26
|
SVGInjector(document.getElementById('inject-me'))
|
|
27
27
|
```
|
|
28
28
|
|
|
29
|
+
## SVG Sprite Support
|
|
30
|
+
|
|
31
|
+
You can inject individual symbols from an SVG sprite sheet by appending a fragment identifier to the `data-src` URL. The library will fetch the sprite file, extract the `<symbol>` matching the fragment ID, and inject it as a standalone inline `<svg>`.
|
|
32
|
+
|
|
33
|
+
```html
|
|
34
|
+
<div class="icon" data-src="sprite.svg#icon-star"></div>
|
|
35
|
+
<div class="icon" data-src="sprite.svg#icon-heart"></div>
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
```js
|
|
39
|
+
import { SVGInjector } from '@tanem/svg-injector'
|
|
40
|
+
|
|
41
|
+
SVGInjector(document.getElementsByClassName('icon'))
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
When `cacheRequests` is `true` (the default), the sprite file is fetched once and reused for all symbol extractions, so multiple icons from the same sprite file result in only a single HTTP request.
|
|
45
|
+
|
|
46
|
+
**Limitations:**
|
|
47
|
+
|
|
48
|
+
- Each `<symbol>` must be self-contained. Shared `<defs>` at the root level of the sprite (e.g. gradients or filters referenced by multiple symbols) are **not** copied into the extracted SVG. If your symbols depend on shared definitions, use individual SVG files instead or inline the required definitions within each `<symbol>`.
|
|
49
|
+
- Only `<symbol>` elements are supported for extraction. The fragment ID must match the `id` of a `<symbol>` in the sprite.
|
|
50
|
+
|
|
29
51
|
## Avoiding XSS
|
|
30
52
|
|
|
31
53
|
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.
|
|
@@ -49,6 +71,7 @@ SVGInjector(document.getElementById('inject-me'), {
|
|
|
49
71
|
- Basic Usage: [Source](https://github.com/tanem/svg-injector/tree/master/examples/basic-usage) | [Sandbox](https://codesandbox.io/s/github/tanem/svg-injector/tree/master/examples/basic-usage)
|
|
50
72
|
- API Usage: [Source](https://github.com/tanem/svg-injector/tree/master/examples/api-usage) | [Sandbox](https://codesandbox.io/s/github/tanem/svg-injector/tree/master/examples/api-usage)
|
|
51
73
|
- IRI Renumeration: [Source](https://github.com/tanem/svg-injector/tree/master/examples/iri-renumeration) | [Sandbox](https://codesandbox.io/s/github/tanem/svg-injector/tree/master/examples/iri-renumeration)
|
|
74
|
+
- Sprite Usage: [Source](https://github.com/tanem/svg-injector/tree/master/examples/sprite-usage) | [Sandbox](https://codesandbox.io/s/github/tanem/svg-injector/tree/master/examples/sprite-usage)
|
|
52
75
|
- UMD Build (Development): [Source](https://github.com/tanem/svg-injector/tree/master/examples/umd-dev) | [Sandbox](https://codesandbox.io/s/github/tanem/svg-injector/tree/master/examples/umd-dev)
|
|
53
76
|
- UMD Build (Production): [Source](https://github.com/tanem/svg-injector/tree/master/examples/umd-prod) | [Sandbox](https://codesandbox.io/s/github/tanem/svg-injector/tree/master/examples/umd-prod)
|
|
54
77
|
|
|
@@ -3,6 +3,27 @@
|
|
|
3
3
|
var tslib = require('tslib');
|
|
4
4
|
var contentType = require('content-type');
|
|
5
5
|
|
|
6
|
+
var svgNamespace$1 = 'http://www.w3.org/2000/svg';
|
|
7
|
+
var extractSymbol = function (spriteSvg, symbolId) {
|
|
8
|
+
var symbol = spriteSvg.querySelector('#' + CSS.escape(symbolId));
|
|
9
|
+
if ((symbol === null || symbol === void 0 ? void 0 : symbol.tagName.toLowerCase()) !== 'symbol') {
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
12
|
+
var svg = document.createElementNS(svgNamespace$1, 'svg');
|
|
13
|
+
var attrs = symbol.attributes;
|
|
14
|
+
for (var i = 0, len = attrs.length; i < len; i++) {
|
|
15
|
+
var attr = attrs[i];
|
|
16
|
+
if (attr.name !== 'id') {
|
|
17
|
+
svg.setAttribute(attr.name, attr.value);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
var children = symbol.childNodes;
|
|
21
|
+
for (var i = 0, len = children.length; i < len; i++) {
|
|
22
|
+
svg.appendChild(children[i].cloneNode(true));
|
|
23
|
+
}
|
|
24
|
+
return svg;
|
|
25
|
+
};
|
|
26
|
+
|
|
6
27
|
var cache = new Map();
|
|
7
28
|
|
|
8
29
|
var cloneSvg = function (sourceSvg) {
|
|
@@ -149,15 +170,29 @@ var injectElement = function (el, evalScripts, renumerateIRIElements, cacheReque
|
|
|
149
170
|
}
|
|
150
171
|
injectedElements.push(el);
|
|
151
172
|
el.setAttribute('src', '');
|
|
173
|
+
var hashIndex = elUrl.indexOf('#');
|
|
174
|
+
var baseUrl = hashIndex !== -1 ? elUrl.slice(0, hashIndex) : elUrl;
|
|
175
|
+
var symbolId = hashIndex !== -1 ? elUrl.slice(hashIndex + 1) : null;
|
|
152
176
|
var loadSvg = cacheRequests ? loadSvgCached : loadSvgUncached;
|
|
153
|
-
loadSvg(
|
|
177
|
+
loadSvg(baseUrl, httpRequestWithCredentials, function (error, loadedSvg) {
|
|
154
178
|
var _a, _b;
|
|
155
|
-
if (!
|
|
179
|
+
if (!loadedSvg) {
|
|
156
180
|
injectedElements.splice(injectedElements.indexOf(el), 1);
|
|
157
181
|
el = null;
|
|
158
182
|
callback(error);
|
|
159
183
|
return;
|
|
160
184
|
}
|
|
185
|
+
var svg = loadedSvg;
|
|
186
|
+
if (symbolId) {
|
|
187
|
+
var symbolSvg = extractSymbol(loadedSvg, symbolId);
|
|
188
|
+
if (!symbolSvg) {
|
|
189
|
+
injectedElements.splice(injectedElements.indexOf(el), 1);
|
|
190
|
+
el = null;
|
|
191
|
+
callback(new Error("Symbol \"".concat(symbolId, "\" not found in ").concat(baseUrl)));
|
|
192
|
+
return;
|
|
193
|
+
}
|
|
194
|
+
svg = symbolSvg;
|
|
195
|
+
}
|
|
161
196
|
var elId = el.getAttribute('id');
|
|
162
197
|
if (elId) {
|
|
163
198
|
svg.setAttribute('id', elId);
|
|
@@ -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 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 replaceIriReferences_1 = function (value, iriIdMap) {\n return value.replace(/url\\((['\"]?)\\s*#([^\\s'\"\\)]+)\\s*\\1\\)/g, function (match, _quote, iriId) {\n var newId = iriIdMap[iriId];\n return newId ? \"url(#\".concat(newId, \")\") : match;\n });\n };\n var replaceHrefReference = function (value, iriIdMap) {\n if (!value.startsWith('#')) {\n return value;\n }\n var iriId = value.slice(1);\n var newId = iriIdMap[iriId];\n return newId ? '#' + newId : value;\n };\n var element_1;\n var elements_1;\n var properties_1;\n var currentId_1;\n var newId_1;\n var renumeratedElements_1 = [];\n var iriIdMap_1 = {};\n Object.keys(iriElementsAndProperties_1).forEach(function (key) {\n element_1 = key;\n elements_1 = svg.querySelectorAll(element_1 + '[id]');\n for (var a = 0, elementsLen = elements_1.length; a < elementsLen; a++) {\n var currentElement = elements_1[a];\n currentId_1 = currentElement.id;\n newId_1 = currentId_1 + '-' + uniqueId();\n iriIdMap_1[currentId_1] = newId_1;\n renumeratedElements_1.push({\n element: currentElement,\n currentId: currentId_1,\n newId: newId_1,\n });\n }\n });\n Object.keys(iriElementsAndProperties_1).forEach(function (key) {\n properties_1 = iriElementsAndProperties_1[key];\n var referencingElements;\n Array.prototype.forEach.call(properties_1, function (property) {\n referencingElements = svg.querySelectorAll('[' + property + ']');\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 var nextValue = replaceIriReferences_1(attrValue, iriIdMap_1);\n if (nextValue !== attrValue) {\n referencingElement.setAttribute(property, nextValue);\n }\n }\n }\n });\n });\n var allLinks = svg.querySelectorAll('*');\n for (var c = 0, allLinksLen = allLinks.length; c < allLinksLen; c++) {\n var link = allLinks[c];\n var href = link.getAttribute('href');\n if (href) {\n var nextHref = replaceHrefReference(href, iriIdMap_1);\n if (nextHref !== href) {\n link.setAttribute('href', nextHref);\n }\n }\n var xlinkHref = link.getAttributeNS(xlinkNamespace, 'href');\n if (xlinkHref) {\n var nextXlinkHref = replaceHrefReference(xlinkHref, iriIdMap_1);\n if (nextXlinkHref !== xlinkHref) {\n link.setAttributeNS(xlinkNamespace, 'href', nextXlinkHref);\n }\n }\n }\n var styleElements = svg.querySelectorAll('[style]');\n for (var d = 0, styleElementsLen = styleElements.length; d < styleElementsLen; d++) {\n var styleElement = styleElements[d];\n var styleValue = styleElement.getAttribute('style');\n if (styleValue) {\n var nextStyleValue = replaceIriReferences_1(styleValue, iriIdMap_1);\n if (nextStyleValue !== styleValue) {\n styleElement.setAttribute('style', nextStyleValue);\n }\n }\n }\n var styleTagElements = svg.querySelectorAll('style');\n for (var e = 0, styleTagElementsLen = styleTagElements.length; e < styleTagElementsLen; e++) {\n var styleTagElement = styleTagElements[e];\n var textContent = styleTagElement.textContent;\n if (textContent) {\n var nextTextContent = replaceIriReferences_1(textContent, iriIdMap_1);\n if (nextTextContent !== textContent) {\n styleTagElement.textContent = nextTextContent;\n }\n }\n }\n for (var f = 0, renumeratedElementsLen = renumeratedElements_1.length; f < renumeratedElementsLen; f++) {\n renumeratedElements_1[f].element.id = renumeratedElements_1[f].newId;\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","replaceIriReferences_1","iriIdMap","replace","match","_quote","iriId","newId","replaceHrefReference","startsWith","slice","element_1","elements_1","properties_1","currentId_1","newId_1","renumeratedElements_1","iriIdMap_1","Object","keys","key","querySelectorAll","a","elementsLen","currentElement","id","element","currentId","referencingElements","property","b","referencingElementLen","referencingElement","attrValue","nextValue","allLinks","c","allLinksLen","link","href","nextHref","xlinkHref","getAttributeNS","nextXlinkHref","setAttributeNS","styleElements","d","styleElementsLen","styleElement","styleValue","nextStyleValue","styleTagElements","e","styleTagElementsLen","styleTagElement","textContent","nextTextContent","f","renumeratedElementsLen","removeAttribute","scripts","scriptsToEval","script","scriptType","scriptsLen","scriptElement","innerText","removeChild","l","scriptsToEvalLen","Function","styleTags","styleTag","parentNode","replaceChild","SVGInjector","elements","_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/extract-symbol.js","../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 svgNamespace = 'http://www.w3.org/2000/svg';\nvar extractSymbol = function (spriteSvg, symbolId) {\n var symbol = spriteSvg.querySelector('#' + CSS.escape(symbolId));\n if ((symbol === null || symbol === void 0 ? void 0 : symbol.tagName.toLowerCase()) !== 'symbol') {\n return null;\n }\n var svg = document.createElementNS(svgNamespace, 'svg');\n var attrs = symbol.attributes;\n for (var i = 0, len = attrs.length; i < len; i++) {\n var attr = attrs[i];\n if (attr.name !== 'id') {\n svg.setAttribute(attr.name, attr.value);\n }\n }\n var children = symbol.childNodes;\n for (var i = 0, len = children.length; i < len; i++) {\n svg.appendChild(children[i].cloneNode(true));\n }\n return svg;\n};\nexport default extractSymbol;\n//# sourceMappingURL=extract-symbol.js.map","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 extractSymbol from './extract-symbol';\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 hashIndex = elUrl.indexOf('#');\n var baseUrl = hashIndex !== -1 ? elUrl.slice(0, hashIndex) : elUrl;\n var symbolId = hashIndex !== -1 ? elUrl.slice(hashIndex + 1) : null;\n var loadSvg = cacheRequests ? loadSvgCached : loadSvgUncached;\n loadSvg(baseUrl, httpRequestWithCredentials, function (error, loadedSvg) {\n var _a, _b;\n if (!loadedSvg) {\n injectedElements.splice(injectedElements.indexOf(el), 1);\n el = null;\n callback(error);\n return;\n }\n var svg = loadedSvg;\n if (symbolId) {\n var symbolSvg = extractSymbol(loadedSvg, symbolId);\n if (!symbolSvg) {\n injectedElements.splice(injectedElements.indexOf(el), 1);\n el = null;\n callback(new Error(\"Symbol \\\"\".concat(symbolId, \"\\\" not found in \").concat(baseUrl)));\n return;\n }\n svg = symbolSvg;\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 replaceIriReferences_1 = function (value, iriIdMap) {\n return value.replace(/url\\((['\"]?)\\s*#([^\\s'\"\\)]+)\\s*\\1\\)/g, function (match, _quote, iriId) {\n var newId = iriIdMap[iriId];\n return newId ? \"url(#\".concat(newId, \")\") : match;\n });\n };\n var replaceHrefReference = function (value, iriIdMap) {\n if (!value.startsWith('#')) {\n return value;\n }\n var iriId = value.slice(1);\n var newId = iriIdMap[iriId];\n return newId ? '#' + newId : value;\n };\n var element_1;\n var elements_1;\n var properties_1;\n var currentId_1;\n var newId_1;\n var renumeratedElements_1 = [];\n var iriIdMap_1 = {};\n Object.keys(iriElementsAndProperties_1).forEach(function (key) {\n element_1 = key;\n elements_1 = svg.querySelectorAll(element_1 + '[id]');\n for (var a = 0, elementsLen = elements_1.length; a < elementsLen; a++) {\n var currentElement = elements_1[a];\n currentId_1 = currentElement.id;\n newId_1 = currentId_1 + '-' + uniqueId();\n iriIdMap_1[currentId_1] = newId_1;\n renumeratedElements_1.push({\n element: currentElement,\n currentId: currentId_1,\n newId: newId_1,\n });\n }\n });\n Object.keys(iriElementsAndProperties_1).forEach(function (key) {\n properties_1 = iriElementsAndProperties_1[key];\n var referencingElements;\n Array.prototype.forEach.call(properties_1, function (property) {\n referencingElements = svg.querySelectorAll('[' + property + ']');\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 var nextValue = replaceIriReferences_1(attrValue, iriIdMap_1);\n if (nextValue !== attrValue) {\n referencingElement.setAttribute(property, nextValue);\n }\n }\n }\n });\n });\n var allLinks = svg.querySelectorAll('*');\n for (var c = 0, allLinksLen = allLinks.length; c < allLinksLen; c++) {\n var link = allLinks[c];\n var href = link.getAttribute('href');\n if (href) {\n var nextHref = replaceHrefReference(href, iriIdMap_1);\n if (nextHref !== href) {\n link.setAttribute('href', nextHref);\n }\n }\n var xlinkHref = link.getAttributeNS(xlinkNamespace, 'href');\n if (xlinkHref) {\n var nextXlinkHref = replaceHrefReference(xlinkHref, iriIdMap_1);\n if (nextXlinkHref !== xlinkHref) {\n link.setAttributeNS(xlinkNamespace, 'href', nextXlinkHref);\n }\n }\n }\n var styleElements = svg.querySelectorAll('[style]');\n for (var d = 0, styleElementsLen = styleElements.length; d < styleElementsLen; d++) {\n var styleElement = styleElements[d];\n var styleValue = styleElement.getAttribute('style');\n if (styleValue) {\n var nextStyleValue = replaceIriReferences_1(styleValue, iriIdMap_1);\n if (nextStyleValue !== styleValue) {\n styleElement.setAttribute('style', nextStyleValue);\n }\n }\n }\n var styleTagElements = svg.querySelectorAll('style');\n for (var e = 0, styleTagElementsLen = styleTagElements.length; e < styleTagElementsLen; e++) {\n var styleTagElement = styleTagElements[e];\n var textContent = styleTagElement.textContent;\n if (textContent) {\n var nextTextContent = replaceIriReferences_1(textContent, iriIdMap_1);\n if (nextTextContent !== textContent) {\n styleTagElement.textContent = nextTextContent;\n }\n }\n }\n for (var f = 0, renumeratedElementsLen = renumeratedElements_1.length; f < renumeratedElementsLen; f++) {\n renumeratedElements_1[f].element.id = renumeratedElements_1[f].newId;\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":["svgNamespace","extractSymbol","spriteSvg","symbolId","symbol","querySelector","CSS","escape","tagName","toLowerCase","svg","document","createElementNS","attrs","attributes","i","len","length","attr","name","setAttribute","value","children","childNodes","appendChild","cloneNode","cache","Map","cloneSvg","sourceSvg","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","setTimeout","Array","isArray","cacheValue","get","SVGSVGElement","loadSvgCached","has","undefined","set","documentElement","loadSvgUncached","idCounter","uniqueId","injectedElements","ranScripts","xlinkNamespace","injectElement","el","evalScripts","renumerateIRIElements","cacheRequests","beforeEach","elUrl","getAttribute","indexOf","splice","hashIndex","baseUrl","slice","loadSvg","loadedSvg","symbolSvg","elId","elTitle","elWidth","elHeight","mergedClasses","from","Set","__spreadArray","split","_b","join","trim","elStyle","elData","filter","call","at","prototype","forEach","dataAttr","iriElementsAndProperties_1","clipPath","cursor","linearGradient","marker","mask","path","pattern","radialGradient","replaceIriReferences_1","iriIdMap","replace","match","_quote","iriId","newId","replaceHrefReference","startsWith","element_1","elements_1","properties_1","currentId_1","newId_1","renumeratedElements_1","iriIdMap_1","Object","keys","key","querySelectorAll","a","elementsLen","currentElement","id","element","currentId","referencingElements","property","b","referencingElementLen","referencingElement","attrValue","nextValue","allLinks","c","allLinksLen","link","href","nextHref","xlinkHref","getAttributeNS","nextXlinkHref","setAttributeNS","styleElements","d","styleElementsLen","styleElement","styleValue","nextStyleValue","styleTagElements","e","styleTagElementsLen","styleTagElement","textContent","nextTextContent","f","renumeratedElementsLen","removeAttribute","scripts","scriptsToEval","script","scriptType","scriptsLen","scriptElement","innerText","removeChild","l","scriptsToEvalLen","Function","styleTags","styleTag","parentNode","replaceChild","SVGInjector","elements","_c","afterAll","_d","afterEach","_e","_f","_g","_h","_j","elementsLoaded_1","j"],"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){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)(
|
|
1
|
+
"use strict";var tslib=require("tslib"),contentType=require("content-type"),svgNamespace$1="http://www.w3.org/2000/svg",extractSymbol=function(e,t){var r=e.querySelector("#"+CSS.escape(t));if("symbol"!==(null==r?void 0:r.tagName.toLowerCase()))return null;for(var n=document.createElementNS(svgNamespace$1,"svg"),i=r.attributes,a=0,l=i.length;a<l;a++){var o=i[a];"id"!==o.name&&n.setAttribute(o.name,o.value)}var s=r.childNodes;for(a=0,l=s.length;a<l;a++)n.appendChild(s[a].cloneNode(!0));return n},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","");var u=s.indexOf("#"),c=-1!==u?s.slice(0,u):s,d=-1!==u?s.slice(u+1):null;(n?loadSvgCached:loadSvgUncached)(c,i,(function(n,i){var o,u;if(!i)return injectedElements.splice(injectedElements.indexOf(e),1),e=null,void l(n);var v=i;if(d){var f=extractSymbol(i,d);if(!f)return injectedElements.splice(injectedElements.indexOf(e),1),e=null,void l(new Error('Symbol "'.concat(d,'" not found in ').concat(c)));v=f}var p=e.getAttribute("id");p&&v.setAttribute("id",p);var m=e.getAttribute("title");m&&v.setAttribute("title",m);var h=e.getAttribute("width");h&&v.setAttribute("width",h);var g=e.getAttribute("height");g&&v.setAttribute("height",g);var b=Array.from(new Set(tslib.__spreadArray(tslib.__spreadArray(tslib.__spreadArray([],(null!==(o=v.getAttribute("class"))&&void 0!==o?o:"").split(" "),!0),["injected-svg"],!1),(null!==(u=e.getAttribute("class"))&&void 0!==u?u:"").split(" "),!0))).join(" ").trim();v.setAttribute("class",b);var y=e.getAttribute("style");y&&v.setAttribute("style",y),v.setAttribute("data-src",s);var A=[].filter.call(e.attributes,(function(e){return/^data-\w[\w-]*$/.test(e.name)}));if(Array.prototype.forEach.call(A,(function(e){e.name&&e.value&&v.setAttribute(e.name,e.value)})),r){var w,S,E,x={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"]},q=function(e,t){return e.replace(/url\((['"]?)\s*#([^\s'"\)]+)\s*\1\)/g,(function(e,r,n){var i=t[n];return i?"url(#".concat(i,")"):e}))},j=function(e,t){if(!e.startsWith("#"))return e;var r=t[e.slice(1)];return r?"#"+r:e},k=[],N={};Object.keys(x).forEach((function(e){for(var t=0,r=(w=v.querySelectorAll(e+"[id]")).length;t<r;t++){var n=w[t];E=(S=n.id)+"-"+uniqueId(),N[S]=E,k.push({element:n,currentId:S,newId:E})}})),Object.keys(x).forEach((function(e){var t;Array.prototype.forEach.call(x[e],(function(e){for(var r=0,n=(t=v.querySelectorAll("["+e+"]")).length;r<n;r++){var i=t[r],a=i.getAttribute(e);if(a){var l=q(a,N);l!==a&&i.setAttribute(e,l)}}}))}));for(var C=v.querySelectorAll("*"),G=0,V=C.length;G<V;G++){var R=C[G],I=R.getAttribute("href");if(I){var L=j(I,N);L!==I&&R.setAttribute("href",L)}var O=R.getAttributeNS(xlinkNamespace,"href");if(O){var T=j(O,N);T!==O&&R.setAttributeNS(xlinkNamespace,"href",T)}}for(var M=v.querySelectorAll("[style]"),Q=0,X=M.length;Q<X;Q++){var _=M[Q],U=_.getAttribute("style");if(U){var $=q(U,N);$!==U&&_.setAttribute("style",$)}}for(var H=v.querySelectorAll("style"),P=0,W=H.length;P<W;P++){var F=H[P],z=F.textContent;if(z){var B=q(z,N);B!==z&&(F.textContent=B)}}for(var D=0,J=k.length;D<J;D++)k[D].element.id=k[D].newId}v.removeAttribute("xmlns:a");for(var K,Y,Z=v.querySelectorAll("script"),ee=[],te=0,re=Z.length;te<re;te++){var ne=Z[te];(Y=ne.getAttribute("type"))&&"application/ecmascript"!==Y&&"application/javascript"!==Y&&"text/javascript"!==Y||((K=ne.innerText||ne.textContent)&&ee.push(K),v.removeChild(ne))}if(ee.length>0&&("always"===t||"once"===t&&!ranScripts[s])){for(var ie=0,ae=ee.length;ie<ae;ie++)new Function(ee[ie])(window);ranScripts[s]=!0}var le=v.querySelectorAll("style");if(Array.prototype.forEach.call(le,(function(e){e.textContent+=""})),v.setAttribute("xmlns",svgNamespace),v.setAttribute("xmlns:xlink",xlinkNamespace),a(v),!e.parentNode)return injectedElements.splice(injectedElements.indexOf(e),1),e=null,void l(new Error("Parent node is null"));e.parentNode.replaceChild(v,e),injectedElements.splice(injectedElements.indexOf(e),1),e=null,l(null,v)}))}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,v=void 0===d?"never":d,f=r.httpRequestWithCredentials,p=void 0!==f&&f,m=r.renumerateIRIElements,h=void 0===m||m;if(e&&"length"in e)for(var g=0,b=0,y=e.length;b<y;b++){var A=e[b];A&&injectElement(A,v,h,c,p,s,(function(t,r){l(t,r),e&&"length"in e&&e.length===++g&&i(g)}))}else e?injectElement(e,v,h,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 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 replaceIriReferences_1 = function (value, iriIdMap) {\n return value.replace(/url\\((['\"]?)\\s*#([^\\s'\"\\)]+)\\s*\\1\\)/g, function (match, _quote, iriId) {\n var newId = iriIdMap[iriId];\n return newId ? \"url(#\".concat(newId, \")\") : match;\n });\n };\n var replaceHrefReference = function (value, iriIdMap) {\n if (!value.startsWith('#')) {\n return value;\n }\n var iriId = value.slice(1);\n var newId = iriIdMap[iriId];\n return newId ? '#' + newId : value;\n };\n var element_1;\n var elements_1;\n var properties_1;\n var currentId_1;\n var newId_1;\n var renumeratedElements_1 = [];\n var iriIdMap_1 = {};\n Object.keys(iriElementsAndProperties_1).forEach(function (key) {\n element_1 = key;\n elements_1 = svg.querySelectorAll(element_1 + '[id]');\n for (var a = 0, elementsLen = elements_1.length; a < elementsLen; a++) {\n var currentElement = elements_1[a];\n currentId_1 = currentElement.id;\n newId_1 = currentId_1 + '-' + uniqueId();\n iriIdMap_1[currentId_1] = newId_1;\n renumeratedElements_1.push({\n element: currentElement,\n currentId: currentId_1,\n newId: newId_1,\n });\n }\n });\n Object.keys(iriElementsAndProperties_1).forEach(function (key) {\n properties_1 = iriElementsAndProperties_1[key];\n var referencingElements;\n Array.prototype.forEach.call(properties_1, function (property) {\n referencingElements = svg.querySelectorAll('[' + property + ']');\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 var nextValue = replaceIriReferences_1(attrValue, iriIdMap_1);\n if (nextValue !== attrValue) {\n referencingElement.setAttribute(property, nextValue);\n }\n }\n }\n });\n });\n var allLinks = svg.querySelectorAll('*');\n for (var c = 0, allLinksLen = allLinks.length; c < allLinksLen; c++) {\n var link = allLinks[c];\n var href = link.getAttribute('href');\n if (href) {\n var nextHref = replaceHrefReference(href, iriIdMap_1);\n if (nextHref !== href) {\n link.setAttribute('href', nextHref);\n }\n }\n var xlinkHref = link.getAttributeNS(xlinkNamespace, 'href');\n if (xlinkHref) {\n var nextXlinkHref = replaceHrefReference(xlinkHref, iriIdMap_1);\n if (nextXlinkHref !== xlinkHref) {\n link.setAttributeNS(xlinkNamespace, 'href', nextXlinkHref);\n }\n }\n }\n var styleElements = svg.querySelectorAll('[style]');\n for (var d = 0, styleElementsLen = styleElements.length; d < styleElementsLen; d++) {\n var styleElement = styleElements[d];\n var styleValue = styleElement.getAttribute('style');\n if (styleValue) {\n var nextStyleValue = replaceIriReferences_1(styleValue, iriIdMap_1);\n if (nextStyleValue !== styleValue) {\n styleElement.setAttribute('style', nextStyleValue);\n }\n }\n }\n var styleTagElements = svg.querySelectorAll('style');\n for (var e = 0, styleTagElementsLen = styleTagElements.length; e < styleTagElementsLen; e++) {\n var styleTagElement = styleTagElements[e];\n var textContent = styleTagElement.textContent;\n if (textContent) {\n var nextTextContent = replaceIriReferences_1(textContent, iriIdMap_1);\n if (nextTextContent !== textContent) {\n styleTagElement.textContent = nextTextContent;\n }\n }\n }\n for (var f = 0, renumeratedElementsLen = renumeratedElements_1.length; f < renumeratedElementsLen; f++) {\n renumeratedElements_1[f].element.id = renumeratedElements_1[f].newId;\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","currentId_1","newId_1","iriElementsAndProperties_1","clipPath","cursor","linearGradient","marker","mask","path","pattern","radialGradient","replaceIriReferences_1","iriIdMap","replace","match","_quote","iriId","newId","replaceHrefReference","startsWith","slice","renumeratedElements_1","iriIdMap_1","Object","keys","key","a","elementsLen","querySelectorAll","currentElement","id","element","currentId","referencingElements","property","b","referencingElementLen","referencingElement","attrValue","nextValue","allLinks","c","allLinksLen","link","href","nextHref","xlinkHref","getAttributeNS","nextXlinkHref","setAttributeNS","styleElements","d","styleElementsLen","styleElement","styleValue","nextStyleValue","styleTagElements","e","styleTagElementsLen","styleTagElement","textContent","nextTextContent","f","renumeratedElementsLen","removeAttribute","script","scriptType","scripts","scriptsToEval","scriptsLen","scriptElement","innerText","removeChild","l","scriptsToEvalLen","Function","styleTags","styleTag","parentNode","replaceChild","SVGInjector","elements","_c","afterAll","_d","afterEach","_e","_f","_g","_h","_j","elementsLoaded_1","j"],"mappings":"4EAAMA,MAAQ,IAAIC,ICAZC,SAAW,SAACC,GAChB,OAAAA,EAAUC,WAAU,EAApB,ECDIC,QAAU,WAAM,MAA6B,UAA7BC,OAAOC,SAASC,QAAhB,ECGhBC,gBAAkB,SACtBC,EACAC,EACAC,GAEA,IAAMC,EAAc,IAAIC,eAExBD,EAAYE,mBAAqB,WAC/B,IACE,IAAK,SAASC,KAAKN,IAAmC,IAA3BG,EAAYI,WAAkB,CACvD,IAAMC,EAAcL,EAAYM,kBAAkB,gBAClD,IAAKD,EACH,MAAM,IAAIE,MAAM,0BAGV,IAAAC,EAASC,YAAAA,MAAiBJ,GAAYG,KAC9C,GAAe,kBAATA,GAAqC,eAATA,EAChC,MAAM,IAAID,MAAM,yBAAAG,OAAyBF,GAE7C,CAEA,GAA+B,IAA3BR,EAAYI,WAAkB,CAChC,GAA2B,MAAvBJ,EAAYW,QAA8C,OAA5BX,EAAYY,YAC5C,MAAM,IAAIL,MACRf,UACI,+IAGA,4BAA8BK,GAItC,KACyB,MAAvBG,EAAYW,QACXnB,WAAoC,IAAvBQ,EAAYW,QAI1B,MAAM,IAAIJ,MACR,0CACEP,EAAYW,OACZ,IACAX,EAAYa,YANhBd,EAAS,KAAMC,EASnB,CACF,CAAE,MAAOc,GAEP,GADAd,EAAYe,UACRD,aAAiBP,OAGnB,MAAMO,EAFNf,EAASe,EAAOd,EAIpB,CACF,EAEAA,EAAYgB,KAAK,MAAOnB,GAExBG,EAAYiB,gBAAkBnB,EAK1BE,EAAYkB,kBACdlB,EAAYkB,iBAAiB,YAG/BlB,EAAYmB,MACd,ECnEIC,aAA0C,CAAA,EAMjCC,aAAe,SAACxB,EAAaE,SACxB,QAAhBuB,EAAAF,aAAavB,UAAG,IAAAyB,IAAhBF,aAAavB,GAAS,IACtBuB,aAAavB,GAAM0B,KAAKxB,EAC1B,EAEayB,oBAAsB,SAAC3B,GAClC,IAAM4B,EAAYL,aAAavB,GAC/B,GAAK4B,EAIL,IAASC,IAAAA,EAAAA,SAAAA,EAAOC,GAEdC,YAAW,WAET,GAAIC,MAAMC,QAAQV,aAAavB,IAAO,CACpC,IAAMkC,EAAa5C,MAAM6C,IAAInC,GACvBE,EAAW0B,EAAUC,GAG3B,IAAK3B,EACH,OAIEgC,aAAsBE,eACxBlC,EAAS,KAAMV,SAAS0C,IAItBA,aAAsBxB,OACxBR,EAASgC,GAIPL,IAAMD,EAAUS,OAAS,UACpBd,aAAavB,EAExB,CACF,GAAG,IA5BI6B,EAAI,EAAGC,EAAMF,EAAUS,OAAQR,EAAIC,EAAKD,IAAxCA,EAAAA,EA8BX,EC7CMS,cAAgB,SACpBtC,EACAC,EACAC,GAEA,GAAIZ,MAAMiD,IAAIvC,GAAM,CAClB,IAAMkC,EAAa5C,MAAM6C,IAAInC,GAE7B,QAAmBwC,IAAfN,EAEF,YADAV,aAAaxB,EAAKE,GAKpB,GAAIgC,aAAsBE,cAExB,YADAlC,EAAS,KAAMV,SAAS0C,GAK5B,CAGA5C,MAAMmD,IAAIzC,OAAKwC,GACfhB,aAAaxB,EAAKE,GAElBH,gBAAgBC,EAAKC,GAA4B,SAACgB,EAAOd,SAEnDc,EACF3B,MAAMmD,IAAIzC,EAAKiB,IAEQ,QAAvBQ,EAAAtB,EAAYY,uBAAWU,SAAAA,EAAEiB,2BAA2BN,eAEpD9C,MAAMmD,IAAIzC,EAAKG,EAAYY,YAAY2B,iBAEzCf,oBAAoB3B,EACtB,GACF,ECxCM2C,gBAAkB,SACtB3C,EACAC,EACAC,GAEAH,gBAAgBC,EAAKC,GAA4B,SAACgB,EAAOd,SAEnDc,EACFf,EAASe,IAEc,QAAvBQ,EAAAtB,EAAYY,uBAAWU,SAAAA,EAAEiB,2BAA2BN,eAEpDlC,EAAS,KAAMC,EAAYY,YAAY2B,gBAE3C,GACF,EClBIE,UAAY,EACVC,SAAW,WAAM,QAAED,SAAF,ECMjBE,iBAAkC,GAClCC,WAAsC,CAAA,EACtCC,aAAe,6BACfC,eAAiB,+BAEjBC,cAAgB,SACpBC,EACAC,EACAC,EACAC,EACArD,EACAsD,EACArD,SAEMsD,EAAmC,QAA3B/B,EAAA0B,EAAGM,aAAa,uBAAWhC,EAAAA,EAAI0B,EAAGM,aAAa,OAG7D,GAAKD,EAAL,CAUA,IAAqC,IAAjCV,iBAAiBY,QAAQP,GAI3B,OAFAL,iBAAiBa,OAAOb,iBAAiBY,QAAQP,GAAK,QACpDA,EAAqB,MAMzBL,iBAAiBpB,KAAKyB,GAGtBA,EAAGS,aAAa,MAAO,KAEPN,EAAgBhB,cAAgBK,iBAExCa,EAAOvD,GAA4B,SAACgB,EAAO4C,WAEjD,IAAKA,EAKH,OAHAf,iBAAiBa,OAAOb,iBAAiBY,QAAQP,GAAK,GACpDA,EAAqB,UACvBjD,EAASe,GAIX,IAAM6C,EAAOX,EAAGM,aAAa,MAEzBK,GACFD,EAAID,aAAa,KAAME,GAGzB,IAAMC,EAAUZ,EAAGM,aAAa,SAE5BM,GACFF,EAAID,aAAa,QAASG,GAG5B,IAAMC,EAAUb,EAAGM,aAAa,SAE5BO,GACFH,EAAID,aAAa,QAASI,GAG5B,IAAMC,EAAWd,EAAGM,aAAa,UAE7BQ,GACFJ,EAAID,aAAa,SAAUK,GAG7B,IAAMC,EAAgBlC,MAAMmC,KAC1B,IAAIC,IAAGC,MAAAA,cAAAA,oBAAAA,MAAAA,cAAA,IACwB,QAAzB5C,EAAAoC,EAAIJ,aAAa,oBAAQhC,EAAAA,EAAI,IAAI6C,MAAM,MAAI,GAAA,CAC/C,6BACIC,EAAApB,EAAGM,aAAa,gBAAQ,IAAAc,EAAAA,EAAI,IAAID,MAAM,MAAI,KAG/CE,KAAK,KACLC,OACHZ,EAAID,aAAa,QAASM,GAE1B,IAAMQ,EAAUvB,EAAGM,aAAa,SAE5BiB,GACFb,EAAID,aAAa,QAASc,GAG5Bb,EAAID,aAAa,WAAYJ,GAG7B,IAAMmB,EAAiB,GAAGC,OAAOC,KAAK1B,EAAG2B,YAAY,SAACC,GACpD,MAAO,kBAAkBzE,KAAKyE,EAAGC,KACnC,IAUA,GARAhD,MAAMiD,UAAUC,QAAQL,KAAKF,GAAQ,SAACQ,GAEhCA,EAASH,MAAQG,EAASC,OAC5BvB,EAAID,aAAauB,EAASH,KAAMG,EAASC,MAE7C,IAGI/B,EAAuB,CAezB,IAwCIgC,EAEAC,EACAC,EA3CEC,EAAqD,CACzDC,SAAU,CAAC,aACX,gBAAiB,CAAC,iBAClBC,OAAQ,CAAC,UACTd,OAAQ,CAAC,UACTe,eAAgB,CAAC,OAAQ,UACzBC,OAAQ,CAAC,SAAU,eAAgB,aAAc,cACjDC,KAAM,CAAC,QACPC,KAAM,GACNC,QAAS,CAAC,OAAQ,UAClBC,eAAgB,CAAC,OAAQ,WAGrBC,EAAuB,SAC3Bb,EACAc,GAEA,OAAOd,EAAMe,QACX,wCACA,SAACC,EAAeC,EAAgBC,GAC9B,IAAMC,EAAQL,EAASI,GACvB,OAAOC,EAAQ,QAAA1F,OAAQ0F,EAAK,KAAMH,CACpC,GAEJ,EAEMI,EAAuB,SAC3BpB,EACAc,GAEA,IAAKd,EAAMqB,WAAW,KACpB,OAAOrB,EAGT,IACMmB,EAAQL,EADAd,EAAMsB,MAAM,IAE1B,OAAOH,EAAQ,IAAMA,EAAQnB,CAC/B,EAQMuB,EAID,GACCC,EAAmC,CAAA,EAEzCC,OAAOC,KAAKtB,GAA0BN,SAAQ,SAAC6B,GAG7C,IAAK,IAAIC,EAAI,EAAGC,GADhB5B,EAAWxB,EAAIqD,iBADLH,EACgC,SACH1E,OAAQ2E,EAAIC,EAAaD,IAAK,CACnE,IAAMG,EAAiB9B,EAAS2B,GAEhCzB,GADAD,EAAY6B,EAAeC,IACP,IAAMvE,WAE1B+D,EAAStB,GAAaC,EACtBoB,EAAoBjF,KAAK,CACvB2F,QAASF,EACTG,UAAShC,EACTiB,MAAKhB,GAET,CACF,IAEAsB,OAAOC,KAAKtB,GAA0BN,SAAQ,SAAC6B,GAI7C,IAAIQ,EACJvF,MAAMiD,UAAUC,QAAQL,KAJXW,EAAyBuB,IAIG,SAACS,GAExC,IACE,IAAIC,EAAI,EAAGC,GAFbH,EAAsB1D,EAAIqD,iBAAiB,IAAMM,EAAW,MAEHnF,OACvDoF,EAAIC,EACJD,IACA,CACA,IAAME,EAAqBJ,EAAoBE,GACzCG,EACJD,EAAmBlE,aAAa+D,GAElC,GAAII,EAAW,CACb,IAAMC,EAAY5B,EAAqB2B,EAAWhB,GAC9CiB,IAAcD,GAChBD,EAAmB/D,aAAa4D,EAAUK,EAE9C,CACF,CACF,GACF,IAGA,IADA,IAAMC,EAAWjE,EAAIqD,iBAAiB,KAC7Ba,EAAI,EAAGC,EAAcF,EAASzF,OAAQ0F,EAAIC,EAAaD,IAAK,CACnE,IAAME,EAAOH,EAASC,GAChBG,EAAOD,EAAKxE,aAAa,QAE/B,GAAIyE,EAAM,CACR,IAAMC,EAAW3B,EAAqB0B,EAAMtB,GACxCuB,IAAaD,GACfD,EAAKrE,aAAa,OAAQuE,EAE9B,CAEA,IAAMC,EAAYH,EAAKI,eAAepF,eAAgB,QAEtD,GAAImF,EAAW,CACb,IAAME,EAAgB9B,EAAqB4B,EAAWxB,GAClD0B,IAAkBF,GACpBH,EAAKM,eAAetF,eAAgB,OAAQqF,EAEhD,CACF,CAGA,IADA,IAAME,EAAgB3E,EAAIqD,iBAAiB,WAErCuB,EAAI,EAAGC,EAAmBF,EAAcnG,OAC5CoG,EAAIC,EACJD,IACA,CACA,IAAME,EAAeH,EAAcC,GAC7BG,EAAaD,EAAalF,aAAa,SAE7C,GAAImF,EAAY,CACd,IAAMC,EAAiB5C,EAAqB2C,EAAYhC,GACpDiC,IAAmBD,GACrBD,EAAa/E,aAAa,QAASiF,EAEvC,CACF,CAGA,IADA,IAAMC,EAAmBjF,EAAIqD,iBAAiB,SAExC6B,EAAI,EAAGC,EAAsBF,EAAiBzG,OAClD0G,EAAIC,EACJD,IACA,CACA,IAAME,EAAkBH,EAAiBC,GACnCG,EAAcD,EAAgBC,YAEpC,GAAIA,EAAa,CACf,IAAMC,EAAkBlD,EAAqBiD,EAAatC,GACtDuC,IAAoBD,IACtBD,EAAgBC,YAAcC,EAElC,CACF,CAEA,IACE,IAAIC,EAAI,EAAGC,EAAyB1C,EAAoBtE,OACxD+G,EAAIC,EACJD,IAEAzC,EAAoByC,GAAI/B,QAAQD,GAAKT,EAAoByC,GAAI7C,KAEjE,CAIA1C,EAAIyF,gBAAgB,WAWpB,IALA,IAEIC,EACAC,EAHEC,EAAU5F,EAAIqD,iBAAiB,UAC/BwC,EAA0B,GAIvB7H,EAAI,EAAG8H,EAAaF,EAAQpH,OAAQR,EAAI8H,EAAY9H,IAAK,CAChE,IAAM+H,EAAgBH,EAAQ5H,IAC9B2H,EAAaI,EAAcnG,aAAa,UAOvB,2BAAf+F,GACe,2BAAfA,GACe,oBAAfA,KAGAD,EAASK,EAAcC,WAAaD,EAAcV,cAKhDQ,EAAchI,KAAK6H,GAIrB1F,EAAIiG,YAAYF,GAEpB,CAIA,GACEF,EAAcrH,OAAS,IACN,WAAhBe,GACkB,SAAhBA,IAA2BL,WAAWS,IACzC,CACA,IACE,IAAIuG,GAAI,EAAGC,GAAmBN,EAAcrH,OAC5C0H,GAAIC,GACJD,KAQA,IAAIE,SAASP,EAAcK,IAA3B,CAAgCnK,QAIlCmD,WAAWS,IAAS,CACtB,CAOA,IAAM0G,GAAYrG,EAAIqD,iBAAiB,SAUvC,GATAlF,MAAMiD,UAAUC,QAAQL,KAAKqF,IAAW,SAACC,GACvCA,EAASjB,aAAe,EAC1B,IAEArF,EAAID,aAAa,QAASZ,cAC1Ba,EAAID,aAAa,cAAeX,gBAEhCM,EAAWM,IAENV,EAAGiH,WAIN,OAHAtH,iBAAiBa,OAAOb,iBAAiBY,QAAQP,GAAK,GACpDA,EAAqB,UACvBjD,EAAS,IAAIQ,MAAM,wBAKrByC,EAAGiH,WAAWC,aAAaxG,EAAKV,GAKhCL,iBAAiBa,OAAOb,iBAAiBY,QAAQP,GAAK,GACpDA,EAAqB,KAEvBjD,EAAS,KAAM2D,EACjB,GAzWA,MAFE3D,EAAS,IAAIQ,MAAM,qCA4WvB,ECtXM4J,YAAc,SAClBC,EACA9I,GAAA8C,IAAAA,OAAA,IAAA9C,EAQkB,CAAA,EAAEA,EAPlB+I,EAAAjG,EAAAkG,SAAAA,OAAQ,IAAAD,EAAG,WAAM,EAASA,EAC1BE,EAAAnG,EAAAoG,UAAAA,OAAS,IAAAD,EAAG,WAAM,EAASA,EAC3BE,EAAArG,EAAAhB,WAAAA,OAAU,IAAAqH,EAAG,WAAM,EAASA,EAC5BC,EAAAtG,EAAAjB,cAAAA,OAAa,IAAAuH,GAAOA,EACpBC,EAAAvG,EAAAnB,YAAAA,OAAW,IAAA0H,EAAG,QAAOA,EACrBC,EAAAxG,EAAAtE,2BAAAA,OAA0B,IAAA8K,GAAQA,EAClCC,EAAAzG,EAAAlB,sBAAAA,OAAqB,IAAA2H,GAAOA,EAG9B,GAAIT,GAAY,WAAYA,EAE1B,IADA,IAAIU,EAAiB,EACZpJ,EAAI,EAAGqJ,EAAIX,EAASlI,OAAQR,EAAIqJ,EAAGrJ,IAAK,CAC/C,IAAMwF,EAAUkD,EAAS1I,GACpBwF,GAGLnE,cACEmE,EACAjE,EACAC,EACAC,EACArD,EACAsD,GACA,SAACtC,EAAO4C,GACN8G,EAAU1J,EAAO4C,GAEf0G,GACA,WAAYA,GACZA,EAASlI,WAAa4I,GAEtBR,EAASQ,EAEb,GAEJ,MACSV,EACTrH,cACEqH,EACAnH,EACAC,EACAC,EACArD,EACAsD,GACA,SAACtC,EAAO4C,GACN8G,EAAU1J,EAAO4C,GACjB4G,EAAS,GACTF,EAAW,IACb,IAGFE,EAAS,EAEb"}
|
|
1
|
+
{"version":3,"file":"svg-injector.cjs.production.js","sources":["../compiled/extract-symbol.js","../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 svgNamespace = 'http://www.w3.org/2000/svg';\nvar extractSymbol = function (spriteSvg, symbolId) {\n var symbol = spriteSvg.querySelector('#' + CSS.escape(symbolId));\n if ((symbol === null || symbol === void 0 ? void 0 : symbol.tagName.toLowerCase()) !== 'symbol') {\n return null;\n }\n var svg = document.createElementNS(svgNamespace, 'svg');\n var attrs = symbol.attributes;\n for (var i = 0, len = attrs.length; i < len; i++) {\n var attr = attrs[i];\n if (attr.name !== 'id') {\n svg.setAttribute(attr.name, attr.value);\n }\n }\n var children = symbol.childNodes;\n for (var i = 0, len = children.length; i < len; i++) {\n svg.appendChild(children[i].cloneNode(true));\n }\n return svg;\n};\nexport default extractSymbol;\n//# sourceMappingURL=extract-symbol.js.map","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 extractSymbol from './extract-symbol';\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 hashIndex = elUrl.indexOf('#');\n var baseUrl = hashIndex !== -1 ? elUrl.slice(0, hashIndex) : elUrl;\n var symbolId = hashIndex !== -1 ? elUrl.slice(hashIndex + 1) : null;\n var loadSvg = cacheRequests ? loadSvgCached : loadSvgUncached;\n loadSvg(baseUrl, httpRequestWithCredentials, function (error, loadedSvg) {\n var _a, _b;\n if (!loadedSvg) {\n injectedElements.splice(injectedElements.indexOf(el), 1);\n el = null;\n callback(error);\n return;\n }\n var svg = loadedSvg;\n if (symbolId) {\n var symbolSvg = extractSymbol(loadedSvg, symbolId);\n if (!symbolSvg) {\n injectedElements.splice(injectedElements.indexOf(el), 1);\n el = null;\n callback(new Error(\"Symbol \\\"\".concat(symbolId, \"\\\" not found in \").concat(baseUrl)));\n return;\n }\n svg = symbolSvg;\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 replaceIriReferences_1 = function (value, iriIdMap) {\n return value.replace(/url\\((['\"]?)\\s*#([^\\s'\"\\)]+)\\s*\\1\\)/g, function (match, _quote, iriId) {\n var newId = iriIdMap[iriId];\n return newId ? \"url(#\".concat(newId, \")\") : match;\n });\n };\n var replaceHrefReference = function (value, iriIdMap) {\n if (!value.startsWith('#')) {\n return value;\n }\n var iriId = value.slice(1);\n var newId = iriIdMap[iriId];\n return newId ? '#' + newId : value;\n };\n var element_1;\n var elements_1;\n var properties_1;\n var currentId_1;\n var newId_1;\n var renumeratedElements_1 = [];\n var iriIdMap_1 = {};\n Object.keys(iriElementsAndProperties_1).forEach(function (key) {\n element_1 = key;\n elements_1 = svg.querySelectorAll(element_1 + '[id]');\n for (var a = 0, elementsLen = elements_1.length; a < elementsLen; a++) {\n var currentElement = elements_1[a];\n currentId_1 = currentElement.id;\n newId_1 = currentId_1 + '-' + uniqueId();\n iriIdMap_1[currentId_1] = newId_1;\n renumeratedElements_1.push({\n element: currentElement,\n currentId: currentId_1,\n newId: newId_1,\n });\n }\n });\n Object.keys(iriElementsAndProperties_1).forEach(function (key) {\n properties_1 = iriElementsAndProperties_1[key];\n var referencingElements;\n Array.prototype.forEach.call(properties_1, function (property) {\n referencingElements = svg.querySelectorAll('[' + property + ']');\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 var nextValue = replaceIriReferences_1(attrValue, iriIdMap_1);\n if (nextValue !== attrValue) {\n referencingElement.setAttribute(property, nextValue);\n }\n }\n }\n });\n });\n var allLinks = svg.querySelectorAll('*');\n for (var c = 0, allLinksLen = allLinks.length; c < allLinksLen; c++) {\n var link = allLinks[c];\n var href = link.getAttribute('href');\n if (href) {\n var nextHref = replaceHrefReference(href, iriIdMap_1);\n if (nextHref !== href) {\n link.setAttribute('href', nextHref);\n }\n }\n var xlinkHref = link.getAttributeNS(xlinkNamespace, 'href');\n if (xlinkHref) {\n var nextXlinkHref = replaceHrefReference(xlinkHref, iriIdMap_1);\n if (nextXlinkHref !== xlinkHref) {\n link.setAttributeNS(xlinkNamespace, 'href', nextXlinkHref);\n }\n }\n }\n var styleElements = svg.querySelectorAll('[style]');\n for (var d = 0, styleElementsLen = styleElements.length; d < styleElementsLen; d++) {\n var styleElement = styleElements[d];\n var styleValue = styleElement.getAttribute('style');\n if (styleValue) {\n var nextStyleValue = replaceIriReferences_1(styleValue, iriIdMap_1);\n if (nextStyleValue !== styleValue) {\n styleElement.setAttribute('style', nextStyleValue);\n }\n }\n }\n var styleTagElements = svg.querySelectorAll('style');\n for (var e = 0, styleTagElementsLen = styleTagElements.length; e < styleTagElementsLen; e++) {\n var styleTagElement = styleTagElements[e];\n var textContent = styleTagElement.textContent;\n if (textContent) {\n var nextTextContent = replaceIriReferences_1(textContent, iriIdMap_1);\n if (nextTextContent !== textContent) {\n styleTagElement.textContent = nextTextContent;\n }\n }\n }\n for (var f = 0, renumeratedElementsLen = renumeratedElements_1.length; f < renumeratedElementsLen; f++) {\n renumeratedElements_1[f].element.id = renumeratedElements_1[f].newId;\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":["svgNamespace","extractSymbol","spriteSvg","symbolId","symbol","querySelector","CSS","escape","tagName","toLowerCase","svg","document","createElementNS","attrs","attributes","i","len","length","attr","name","setAttribute","value","children","childNodes","appendChild","cloneNode","cache","Map","cloneSvg","sourceSvg","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","setTimeout","Array","isArray","cacheValue","get","SVGSVGElement","loadSvgCached","has","undefined","set","documentElement","loadSvgUncached","idCounter","uniqueId","injectedElements","ranScripts","xlinkNamespace","injectElement","el","evalScripts","renumerateIRIElements","cacheRequests","beforeEach","elUrl","getAttribute","indexOf","splice","hashIndex","baseUrl","slice","loadedSvg","symbolSvg","elId","elTitle","elWidth","elHeight","mergedClasses","from","Set","__spreadArray","split","_b","join","trim","elStyle","elData","filter","call","at","prototype","forEach","dataAttr","elements_1","currentId_1","newId_1","iriElementsAndProperties_1","clipPath","cursor","linearGradient","marker","mask","path","pattern","radialGradient","replaceIriReferences_1","iriIdMap","replace","match","_quote","iriId","newId","replaceHrefReference","startsWith","renumeratedElements_1","iriIdMap_1","Object","keys","key","a","elementsLen","querySelectorAll","currentElement","id","element","currentId","referencingElements","property","b","referencingElementLen","referencingElement","attrValue","nextValue","allLinks","c","allLinksLen","link","href","nextHref","xlinkHref","getAttributeNS","nextXlinkHref","setAttributeNS","styleElements","d","styleElementsLen","styleElement","styleValue","nextStyleValue","styleTagElements","e","styleTagElementsLen","styleTagElement","textContent","nextTextContent","f","renumeratedElementsLen","removeAttribute","script","scriptType","scripts","scriptsToEval","scriptsLen","scriptElement","innerText","removeChild","l","scriptsToEvalLen","Function","styleTags","styleTag","parentNode","replaceChild","SVGInjector","elements","_c","afterAll","_d","afterEach","_e","_f","_g","_h","_j","elementsLoaded_1","j"],"mappings":"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"}
|
package/dist/svg-injector.esm.js
CHANGED
|
@@ -1,6 +1,27 @@
|
|
|
1
1
|
import { __spreadArray } from 'tslib';
|
|
2
2
|
import { parse } from 'content-type';
|
|
3
3
|
|
|
4
|
+
var svgNamespace$1 = 'http://www.w3.org/2000/svg';
|
|
5
|
+
var extractSymbol = function (spriteSvg, symbolId) {
|
|
6
|
+
var symbol = spriteSvg.querySelector('#' + CSS.escape(symbolId));
|
|
7
|
+
if ((symbol === null || symbol === void 0 ? void 0 : symbol.tagName.toLowerCase()) !== 'symbol') {
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
var svg = document.createElementNS(svgNamespace$1, 'svg');
|
|
11
|
+
var attrs = symbol.attributes;
|
|
12
|
+
for (var i = 0, len = attrs.length; i < len; i++) {
|
|
13
|
+
var attr = attrs[i];
|
|
14
|
+
if (attr.name !== 'id') {
|
|
15
|
+
svg.setAttribute(attr.name, attr.value);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
var children = symbol.childNodes;
|
|
19
|
+
for (var i = 0, len = children.length; i < len; i++) {
|
|
20
|
+
svg.appendChild(children[i].cloneNode(true));
|
|
21
|
+
}
|
|
22
|
+
return svg;
|
|
23
|
+
};
|
|
24
|
+
|
|
4
25
|
var cache = new Map();
|
|
5
26
|
|
|
6
27
|
var cloneSvg = function (sourceSvg) {
|
|
@@ -147,15 +168,29 @@ var injectElement = function (el, evalScripts, renumerateIRIElements, cacheReque
|
|
|
147
168
|
}
|
|
148
169
|
injectedElements.push(el);
|
|
149
170
|
el.setAttribute('src', '');
|
|
171
|
+
var hashIndex = elUrl.indexOf('#');
|
|
172
|
+
var baseUrl = hashIndex !== -1 ? elUrl.slice(0, hashIndex) : elUrl;
|
|
173
|
+
var symbolId = hashIndex !== -1 ? elUrl.slice(hashIndex + 1) : null;
|
|
150
174
|
var loadSvg = cacheRequests ? loadSvgCached : loadSvgUncached;
|
|
151
|
-
loadSvg(
|
|
175
|
+
loadSvg(baseUrl, httpRequestWithCredentials, function (error, loadedSvg) {
|
|
152
176
|
var _a, _b;
|
|
153
|
-
if (!
|
|
177
|
+
if (!loadedSvg) {
|
|
154
178
|
injectedElements.splice(injectedElements.indexOf(el), 1);
|
|
155
179
|
el = null;
|
|
156
180
|
callback(error);
|
|
157
181
|
return;
|
|
158
182
|
}
|
|
183
|
+
var svg = loadedSvg;
|
|
184
|
+
if (symbolId) {
|
|
185
|
+
var symbolSvg = extractSymbol(loadedSvg, symbolId);
|
|
186
|
+
if (!symbolSvg) {
|
|
187
|
+
injectedElements.splice(injectedElements.indexOf(el), 1);
|
|
188
|
+
el = null;
|
|
189
|
+
callback(new Error("Symbol \"".concat(symbolId, "\" not found in ").concat(baseUrl)));
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
svg = symbolSvg;
|
|
193
|
+
}
|
|
159
194
|
var elId = el.getAttribute('id');
|
|
160
195
|
if (elId) {
|
|
161
196
|
svg.setAttribute('id', elId);
|