react-inlinesvg 2.2.1 → 3.0.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 +26 -19
- package/esm/helpers.d.ts +6 -1
- package/esm/helpers.js +28 -8
- package/esm/helpers.js.map +1 -1
- package/esm/index.d.ts +9 -7
- package/esm/index.js +79 -95
- package/esm/index.js.map +1 -1
- package/esm/types.d.ts +2 -3
- package/lib/helpers.d.ts +6 -1
- package/lib/helpers.js +31 -10
- package/lib/helpers.js.map +1 -1
- package/lib/index.d.ts +9 -7
- package/lib/index.js +96 -107
- package/lib/index.js.map +1 -1
- package/lib/types.d.ts +2 -3
- package/package.json +57 -57
- package/src/helpers.ts +35 -7
- package/src/index.tsx +152 -160
- package/src/types.ts +2 -3
package/lib/helpers.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { PlainObject } from './types';
|
|
1
2
|
export declare const STATUS: {
|
|
2
3
|
FAILED: string;
|
|
3
4
|
LOADED: string;
|
|
@@ -7,6 +8,10 @@ export declare const STATUS: {
|
|
|
7
8
|
UNSUPPORTED: string;
|
|
8
9
|
};
|
|
9
10
|
export declare function canUseDOM(): boolean;
|
|
10
|
-
export declare function supportsInlineSVG(): boolean;
|
|
11
11
|
export declare function isSupportedEnvironment(): boolean;
|
|
12
|
+
export declare function supportsInlineSVG(): boolean;
|
|
12
13
|
export declare function randomString(length: number): string;
|
|
14
|
+
/**
|
|
15
|
+
* Remove properties from an object
|
|
16
|
+
*/
|
|
17
|
+
export declare function omit<T extends PlainObject, K extends keyof T>(input: T, ...filter: K[]): Omit<T, K>;
|
package/lib/helpers.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.omit = exports.randomString = exports.supportsInlineSVG = exports.isSupportedEnvironment = exports.canUseDOM = exports.STATUS = void 0;
|
|
4
4
|
var exenv_1 = require("exenv");
|
|
5
5
|
exports.STATUS = {
|
|
6
6
|
FAILED: 'failed',
|
|
@@ -14,6 +14,10 @@ function canUseDOM() {
|
|
|
14
14
|
return exenv_1.canUseDOM;
|
|
15
15
|
}
|
|
16
16
|
exports.canUseDOM = canUseDOM;
|
|
17
|
+
function isSupportedEnvironment() {
|
|
18
|
+
return supportsInlineSVG() && typeof window !== 'undefined' && window !== null;
|
|
19
|
+
}
|
|
20
|
+
exports.isSupportedEnvironment = isSupportedEnvironment;
|
|
17
21
|
function supportsInlineSVG() {
|
|
18
22
|
/* istanbul ignore next */
|
|
19
23
|
if (!document) {
|
|
@@ -21,25 +25,42 @@ function supportsInlineSVG() {
|
|
|
21
25
|
}
|
|
22
26
|
var div = document.createElement('div');
|
|
23
27
|
div.innerHTML = '<svg />';
|
|
24
|
-
|
|
28
|
+
var svg = div.firstChild;
|
|
29
|
+
return !!svg && svg.namespaceURI === 'http://www.w3.org/2000/svg';
|
|
25
30
|
}
|
|
26
31
|
exports.supportsInlineSVG = supportsInlineSVG;
|
|
27
|
-
function
|
|
28
|
-
return
|
|
32
|
+
function randomCharacter(character) {
|
|
33
|
+
return character[Math.floor(Math.random() * character.length)];
|
|
29
34
|
}
|
|
30
|
-
exports.isSupportedEnvironment = isSupportedEnvironment;
|
|
31
35
|
function randomString(length) {
|
|
32
36
|
var letters = 'abcdefghijklmnopqrstuvwxyz';
|
|
33
37
|
var numbers = '1234567890';
|
|
34
|
-
var charset = ""
|
|
35
|
-
var randomCharacter = function (character) {
|
|
36
|
-
return character[Math.floor(Math.random() * character.length)];
|
|
37
|
-
};
|
|
38
|
+
var charset = "".concat(letters).concat(letters.toUpperCase()).concat(numbers);
|
|
38
39
|
var R = '';
|
|
39
|
-
for (var
|
|
40
|
+
for (var index = 0; index < length; index++) {
|
|
40
41
|
R += randomCharacter(charset);
|
|
41
42
|
}
|
|
42
43
|
return R;
|
|
43
44
|
}
|
|
44
45
|
exports.randomString = randomString;
|
|
46
|
+
/**
|
|
47
|
+
* Remove properties from an object
|
|
48
|
+
*/
|
|
49
|
+
function omit(input) {
|
|
50
|
+
var filter = [];
|
|
51
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
52
|
+
filter[_i - 1] = arguments[_i];
|
|
53
|
+
}
|
|
54
|
+
var output = {};
|
|
55
|
+
for (var key in input) {
|
|
56
|
+
/* istanbul ignore else */
|
|
57
|
+
if ({}.hasOwnProperty.call(input, key)) {
|
|
58
|
+
if (!filter.includes(key)) {
|
|
59
|
+
output[key] = input[key];
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return output;
|
|
64
|
+
}
|
|
65
|
+
exports.omit = omit;
|
|
45
66
|
//# sourceMappingURL=helpers.js.map
|
package/lib/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":";;;AAAA,+BAAmD;
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":";;;AAAA,+BAAmD;AAItC,QAAA,MAAM,GAAG;IACpB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;CAC3B,CAAC;AAEF,SAAgB,SAAS;IACvB,OAAO,iBAAa,CAAC;AACvB,CAAC;AAFD,8BAEC;AAED,SAAgB,sBAAsB;IACpC,OAAO,iBAAiB,EAAE,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,IAAI,CAAC;AACjF,CAAC;AAFD,wDAEC;AAED,SAAgB,iBAAiB;IAC/B,0BAA0B;IAC1B,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,KAAK,CAAC;KACd;IAED,IAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAE1C,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;IAC1B,IAAM,GAAG,GAAG,GAAG,CAAC,UAA2B,CAAC;IAE5C,OAAO,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,YAAY,KAAK,4BAA4B,CAAC;AACpE,CAAC;AAZD,8CAYC;AAED,SAAS,eAAe,CAAC,SAAiB;IACxC,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,SAAgB,YAAY,CAAC,MAAc;IACzC,IAAM,OAAO,GAAG,4BAA4B,CAAC;IAC7C,IAAM,OAAO,GAAG,YAAY,CAAC;IAC7B,IAAM,OAAO,GAAG,UAAG,OAAO,SAAG,OAAO,CAAC,WAAW,EAAE,SAAG,OAAO,CAAE,CAAC;IAE/D,IAAI,CAAC,GAAG,EAAE,CAAC;IAEX,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,EAAE,EAAE;QAC3C,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;KAC/B;IAED,OAAO,CAAC,CAAC;AACX,CAAC;AAZD,oCAYC;AAED;;GAEG;AACH,SAAgB,IAAI,CAClB,KAAQ;IACR,gBAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,+BAAc;;IAEd,IAAM,MAAM,GAAQ,EAAE,CAAC;IAEvB,KAAK,IAAM,GAAG,IAAI,KAAK,EAAE;QACvB,0BAA0B;QAC1B,IAAI,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE;YACtC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAmB,CAAC,EAAE;gBACzC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;aAC1B;SACF;KACF;IAED,OAAO,MAAoB,CAAC;AAC9B,CAAC;AAhBD,oBAgBC"}
|
package/lib/index.d.ts
CHANGED
|
@@ -1,25 +1,27 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { Props, State } from './types';
|
|
2
|
+
import { Props, State, StorageItem } from './types';
|
|
3
|
+
export declare const cacheStore: {
|
|
4
|
+
[key: string]: StorageItem;
|
|
5
|
+
};
|
|
3
6
|
export default class InlineSVG extends React.PureComponent<Props, State> {
|
|
4
|
-
constructor(props: Props);
|
|
5
7
|
private isActive;
|
|
6
8
|
private readonly hash;
|
|
7
9
|
static defaultProps: {
|
|
8
10
|
cacheRequests: boolean;
|
|
9
11
|
uniquifyIDs: boolean;
|
|
10
12
|
};
|
|
13
|
+
constructor(props: Props);
|
|
11
14
|
componentDidMount(): void;
|
|
12
|
-
componentDidUpdate(
|
|
15
|
+
componentDidUpdate(previousProps: Props, previousState: State): void;
|
|
13
16
|
componentWillUnmount(): void;
|
|
14
|
-
private processSVG;
|
|
15
|
-
private updateSVGAttributes;
|
|
16
17
|
private getNode;
|
|
17
18
|
private getElement;
|
|
18
|
-
private load;
|
|
19
|
-
private handleCacheQueue;
|
|
20
19
|
private handleLoad;
|
|
21
20
|
private handleError;
|
|
22
21
|
private request;
|
|
22
|
+
private load;
|
|
23
|
+
private updateSVGAttributes;
|
|
24
|
+
private processSVG;
|
|
23
25
|
render(): React.ReactNode;
|
|
24
26
|
}
|
|
25
27
|
export * from './types';
|
package/lib/index.js
CHANGED
|
@@ -7,6 +7,8 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
7
7
|
return extendStatics(d, b);
|
|
8
8
|
};
|
|
9
9
|
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
10
12
|
extendStatics(d, b);
|
|
11
13
|
function __() { this.constructor = d; }
|
|
12
14
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
@@ -25,7 +27,11 @@ var __assign = (this && this.__assign) || function () {
|
|
|
25
27
|
};
|
|
26
28
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
27
29
|
if (k2 === undefined) k2 = k;
|
|
28
|
-
Object.
|
|
30
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
31
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
32
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
33
|
+
}
|
|
34
|
+
Object.defineProperty(o, k2, desc);
|
|
29
35
|
}) : (function(o, m, k, k2) {
|
|
30
36
|
if (k2 === undefined) k2 = k;
|
|
31
37
|
o[k2] = m[k];
|
|
@@ -33,17 +39,6 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
|
33
39
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
34
40
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
35
41
|
};
|
|
36
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
37
|
-
var t = {};
|
|
38
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
39
|
-
t[p] = s[p];
|
|
40
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
41
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
42
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
43
|
-
t[p[i]] = s[p[i]];
|
|
44
|
-
}
|
|
45
|
-
return t;
|
|
46
|
-
};
|
|
47
42
|
var __read = (this && this.__read) || function (o, n) {
|
|
48
43
|
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
49
44
|
if (!m) return o;
|
|
@@ -60,28 +55,26 @@ var __read = (this && this.__read) || function (o, n) {
|
|
|
60
55
|
}
|
|
61
56
|
return ar;
|
|
62
57
|
};
|
|
63
|
-
var
|
|
64
|
-
for (var
|
|
65
|
-
|
|
58
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
59
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
60
|
+
if (ar || !(i in from)) {
|
|
61
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
62
|
+
ar[i] = from[i];
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
66
66
|
};
|
|
67
67
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
68
|
+
exports.cacheStore = void 0;
|
|
68
69
|
var React = require("react");
|
|
69
70
|
var react_from_dom_1 = require("react-from-dom");
|
|
70
71
|
var helpers_1 = require("./helpers");
|
|
71
|
-
|
|
72
|
+
exports.cacheStore = Object.create(null);
|
|
72
73
|
var InlineSVG = /** @class */ (function (_super) {
|
|
73
74
|
__extends(InlineSVG, _super);
|
|
74
75
|
function InlineSVG(props) {
|
|
75
76
|
var _this = _super.call(this, props) || this;
|
|
76
77
|
_this.isActive = false;
|
|
77
|
-
_this.handleCacheQueue = function (content) {
|
|
78
|
-
/* istanbul ignore else */
|
|
79
|
-
if (typeof content === 'string') {
|
|
80
|
-
_this.handleLoad(content);
|
|
81
|
-
return;
|
|
82
|
-
}
|
|
83
|
-
_this.handleError(content);
|
|
84
|
-
};
|
|
85
78
|
_this.handleLoad = function (content) {
|
|
86
79
|
/* istanbul ignore else */
|
|
87
80
|
if (_this.isActive) {
|
|
@@ -105,36 +98,40 @@ var InlineSVG = /** @class */ (function (_super) {
|
|
|
105
98
|
}
|
|
106
99
|
};
|
|
107
100
|
_this.request = function () {
|
|
108
|
-
var _a = _this.props, cacheRequests = _a.cacheRequests, src = _a.src;
|
|
101
|
+
var _a = _this.props, cacheRequests = _a.cacheRequests, fetchOptions = _a.fetchOptions, src = _a.src;
|
|
109
102
|
try {
|
|
110
103
|
if (cacheRequests) {
|
|
111
|
-
cacheStore[src] = { content: '', status: helpers_1.STATUS.LOADING
|
|
104
|
+
exports.cacheStore[src] = { content: '', status: helpers_1.STATUS.LOADING };
|
|
112
105
|
}
|
|
113
|
-
return fetch(src)
|
|
106
|
+
return fetch(src, fetchOptions)
|
|
114
107
|
.then(function (response) {
|
|
115
108
|
var contentType = response.headers.get('content-type');
|
|
116
109
|
var _a = __read((contentType || '').split(/ ?; ?/), 1), fileType = _a[0];
|
|
117
110
|
if (response.status > 299) {
|
|
118
111
|
throw new Error('Not found');
|
|
119
112
|
}
|
|
120
|
-
if (!['image/svg+xml', 'text/plain'].some(function (d) { return fileType.
|
|
121
|
-
throw new Error("Content type isn't valid: "
|
|
113
|
+
if (!['image/svg+xml', 'text/plain'].some(function (d) { return fileType.includes(d); })) {
|
|
114
|
+
throw new Error("Content type isn't valid: ".concat(fileType));
|
|
122
115
|
}
|
|
123
116
|
return response.text();
|
|
124
117
|
})
|
|
125
118
|
.then(function (content) {
|
|
119
|
+
var currentSrc = _this.props.src;
|
|
120
|
+
// the current src don't match the previous one, skipping...
|
|
121
|
+
if (src !== currentSrc) {
|
|
122
|
+
if (exports.cacheStore[src].status === helpers_1.STATUS.LOADING) {
|
|
123
|
+
delete exports.cacheStore[src];
|
|
124
|
+
}
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
126
127
|
_this.handleLoad(content);
|
|
127
128
|
/* istanbul ignore else */
|
|
128
129
|
if (cacheRequests) {
|
|
129
|
-
var cache = cacheStore[src];
|
|
130
|
+
var cache = exports.cacheStore[src];
|
|
130
131
|
/* istanbul ignore else */
|
|
131
132
|
if (cache) {
|
|
132
133
|
cache.content = content;
|
|
133
134
|
cache.status = helpers_1.STATUS.LOADED;
|
|
134
|
-
cache.queue = cache.queue.filter(function (cb) {
|
|
135
|
-
cb(content);
|
|
136
|
-
return false;
|
|
137
|
-
});
|
|
138
135
|
}
|
|
139
136
|
}
|
|
140
137
|
})
|
|
@@ -142,13 +139,10 @@ var InlineSVG = /** @class */ (function (_super) {
|
|
|
142
139
|
_this.handleError(error);
|
|
143
140
|
/* istanbul ignore else */
|
|
144
141
|
if (cacheRequests) {
|
|
145
|
-
var cache = cacheStore[src];
|
|
142
|
+
var cache = exports.cacheStore[src];
|
|
146
143
|
/* istanbul ignore else */
|
|
147
144
|
if (cache) {
|
|
148
|
-
|
|
149
|
-
cb(error);
|
|
150
|
-
});
|
|
151
|
-
delete cacheStore[src];
|
|
145
|
+
delete exports.cacheStore[src];
|
|
152
146
|
}
|
|
153
147
|
}
|
|
154
148
|
});
|
|
@@ -160,15 +154,15 @@ var InlineSVG = /** @class */ (function (_super) {
|
|
|
160
154
|
_this.state = {
|
|
161
155
|
content: '',
|
|
162
156
|
element: null,
|
|
163
|
-
hasCache: !!props.cacheRequests && !!cacheStore[props.src],
|
|
157
|
+
hasCache: !!props.cacheRequests && !!exports.cacheStore[props.src],
|
|
164
158
|
status: helpers_1.STATUS.PENDING,
|
|
165
159
|
};
|
|
166
|
-
_this.hash = props.uniqueHash || helpers_1.randomString(8);
|
|
160
|
+
_this.hash = props.uniqueHash || (0, helpers_1.randomString)(8);
|
|
167
161
|
return _this;
|
|
168
162
|
}
|
|
169
163
|
InlineSVG.prototype.componentDidMount = function () {
|
|
170
164
|
this.isActive = true;
|
|
171
|
-
if (!helpers_1.canUseDOM()) {
|
|
165
|
+
if (!(0, helpers_1.canUseDOM)()) {
|
|
172
166
|
return;
|
|
173
167
|
}
|
|
174
168
|
var status = this.state.status;
|
|
@@ -177,7 +171,7 @@ var InlineSVG = /** @class */ (function (_super) {
|
|
|
177
171
|
/* istanbul ignore else */
|
|
178
172
|
if (status === helpers_1.STATUS.PENDING) {
|
|
179
173
|
/* istanbul ignore else */
|
|
180
|
-
if (!helpers_1.isSupportedEnvironment()) {
|
|
174
|
+
if (!(0, helpers_1.isSupportedEnvironment)()) {
|
|
181
175
|
throw new Error('Browser does not support SVG');
|
|
182
176
|
}
|
|
183
177
|
/* istanbul ignore else */
|
|
@@ -191,19 +185,19 @@ var InlineSVG = /** @class */ (function (_super) {
|
|
|
191
185
|
this.handleError(error);
|
|
192
186
|
}
|
|
193
187
|
};
|
|
194
|
-
InlineSVG.prototype.componentDidUpdate = function (
|
|
195
|
-
if (!helpers_1.canUseDOM()) {
|
|
188
|
+
InlineSVG.prototype.componentDidUpdate = function (previousProps, previousState) {
|
|
189
|
+
if (!(0, helpers_1.canUseDOM)()) {
|
|
196
190
|
return;
|
|
197
191
|
}
|
|
198
192
|
var _a = this.state, hasCache = _a.hasCache, status = _a.status;
|
|
199
193
|
var _b = this.props, onLoad = _b.onLoad, src = _b.src;
|
|
200
|
-
if (
|
|
194
|
+
if (previousState.status !== helpers_1.STATUS.READY && status === helpers_1.STATUS.READY) {
|
|
201
195
|
/* istanbul ignore else */
|
|
202
196
|
if (onLoad) {
|
|
203
197
|
onLoad(src, hasCache);
|
|
204
198
|
}
|
|
205
199
|
}
|
|
206
|
-
if (
|
|
200
|
+
if (previousProps.src !== src) {
|
|
207
201
|
if (!src) {
|
|
208
202
|
this.handleError(new Error('Missing src'));
|
|
209
203
|
return;
|
|
@@ -214,54 +208,11 @@ var InlineSVG = /** @class */ (function (_super) {
|
|
|
214
208
|
InlineSVG.prototype.componentWillUnmount = function () {
|
|
215
209
|
this.isActive = false;
|
|
216
210
|
};
|
|
217
|
-
InlineSVG.prototype.processSVG = function () {
|
|
218
|
-
var content = this.state.content;
|
|
219
|
-
var preProcessor = this.props.preProcessor;
|
|
220
|
-
if (preProcessor) {
|
|
221
|
-
return preProcessor(content);
|
|
222
|
-
}
|
|
223
|
-
return content;
|
|
224
|
-
};
|
|
225
|
-
InlineSVG.prototype.updateSVGAttributes = function (node) {
|
|
226
|
-
var _this = this;
|
|
227
|
-
var _a = this.props, _b = _a.baseURL, baseURL = _b === void 0 ? '' : _b, uniquifyIDs = _a.uniquifyIDs;
|
|
228
|
-
var replaceableAttributes = ['id', 'href', 'xlink:href', 'xlink:role', 'xlink:arcrole'];
|
|
229
|
-
var linkAttributes = ['href', 'xlink:href'];
|
|
230
|
-
var isDataValue = function (name, value) {
|
|
231
|
-
return linkAttributes.indexOf(name) >= 0 && (value ? value.indexOf('#') < 0 : false);
|
|
232
|
-
};
|
|
233
|
-
if (!uniquifyIDs) {
|
|
234
|
-
return node;
|
|
235
|
-
}
|
|
236
|
-
__spread(node.children).map(function (d) {
|
|
237
|
-
if (d.attributes && d.attributes.length) {
|
|
238
|
-
var attributes_1 = Object.values(d.attributes).map(function (a) {
|
|
239
|
-
var attr = a;
|
|
240
|
-
var match = a.value.match(/url\((.*?)\)/);
|
|
241
|
-
if (match && match[1]) {
|
|
242
|
-
attr.value = a.value.replace(match[0], "url(" + baseURL + match[1] + "__" + _this.hash + ")");
|
|
243
|
-
}
|
|
244
|
-
return attr;
|
|
245
|
-
});
|
|
246
|
-
replaceableAttributes.forEach(function (r) {
|
|
247
|
-
var attribute = attributes_1.find(function (a) { return a.name === r; });
|
|
248
|
-
if (attribute && !isDataValue(r, attribute.value)) {
|
|
249
|
-
attribute.value = attribute.value + "__" + _this.hash;
|
|
250
|
-
}
|
|
251
|
-
});
|
|
252
|
-
}
|
|
253
|
-
if (d.children.length) {
|
|
254
|
-
return _this.updateSVGAttributes(d);
|
|
255
|
-
}
|
|
256
|
-
return d;
|
|
257
|
-
});
|
|
258
|
-
return node;
|
|
259
|
-
};
|
|
260
211
|
InlineSVG.prototype.getNode = function () {
|
|
261
212
|
var _a = this.props, description = _a.description, title = _a.title;
|
|
262
213
|
try {
|
|
263
214
|
var svgText = this.processSVG();
|
|
264
|
-
var node = react_from_dom_1.default(svgText, { nodeOnly: true });
|
|
215
|
+
var node = (0, react_from_dom_1.default)(svgText, { nodeOnly: true });
|
|
265
216
|
if (!node || !(node instanceof SVGSVGElement)) {
|
|
266
217
|
throw new Error('Could not convert the src to a DOM Node');
|
|
267
218
|
}
|
|
@@ -293,7 +244,7 @@ var InlineSVG = /** @class */ (function (_super) {
|
|
|
293
244
|
InlineSVG.prototype.getElement = function () {
|
|
294
245
|
try {
|
|
295
246
|
var node = this.getNode();
|
|
296
|
-
var element = react_from_dom_1.default(node);
|
|
247
|
+
var element = (0, react_from_dom_1.default)(node);
|
|
297
248
|
if (!element || !React.isValidElement(element)) {
|
|
298
249
|
throw new Error('Could not convert the src to a React element');
|
|
299
250
|
}
|
|
@@ -316,23 +267,17 @@ var InlineSVG = /** @class */ (function (_super) {
|
|
|
316
267
|
status: helpers_1.STATUS.LOADING,
|
|
317
268
|
}, function () {
|
|
318
269
|
var _a = _this.props, cacheRequests = _a.cacheRequests, src = _a.src;
|
|
319
|
-
var cache = cacheRequests && cacheStore[src];
|
|
320
|
-
if (cache) {
|
|
321
|
-
|
|
322
|
-
if (cache.status === helpers_1.STATUS.LOADING) {
|
|
323
|
-
cache.queue.push(_this.handleCacheQueue);
|
|
324
|
-
}
|
|
325
|
-
else if (cache.status === helpers_1.STATUS.LOADED) {
|
|
326
|
-
_this.handleLoad(cache.content);
|
|
327
|
-
}
|
|
270
|
+
var cache = cacheRequests && exports.cacheStore[src];
|
|
271
|
+
if (cache && cache.status === helpers_1.STATUS.LOADED) {
|
|
272
|
+
_this.handleLoad(cache.content);
|
|
328
273
|
return;
|
|
329
274
|
}
|
|
330
275
|
var dataURI = src.match(/data:image\/svg[^,]*?(;base64)?,(.*)/);
|
|
331
276
|
var inlineSrc;
|
|
332
277
|
if (dataURI) {
|
|
333
|
-
inlineSrc = dataURI[1] ? atob(dataURI[2]) : decodeURIComponent(dataURI[2]);
|
|
278
|
+
inlineSrc = dataURI[1] ? window.atob(dataURI[2]) : decodeURIComponent(dataURI[2]);
|
|
334
279
|
}
|
|
335
|
-
else if (src.
|
|
280
|
+
else if (src.includes('<svg')) {
|
|
336
281
|
inlineSrc = src;
|
|
337
282
|
}
|
|
338
283
|
if (inlineSrc) {
|
|
@@ -343,16 +288,60 @@ var InlineSVG = /** @class */ (function (_super) {
|
|
|
343
288
|
});
|
|
344
289
|
}
|
|
345
290
|
};
|
|
291
|
+
InlineSVG.prototype.updateSVGAttributes = function (node) {
|
|
292
|
+
var _this = this;
|
|
293
|
+
var _a = this.props, _b = _a.baseURL, baseURL = _b === void 0 ? '' : _b, uniquifyIDs = _a.uniquifyIDs;
|
|
294
|
+
var replaceableAttributes = ['id', 'href', 'xlink:href', 'xlink:role', 'xlink:arcrole'];
|
|
295
|
+
var linkAttributes = ['href', 'xlink:href'];
|
|
296
|
+
var isDataValue = function (name, value) {
|
|
297
|
+
return linkAttributes.includes(name) && (value ? !value.includes('#') : false);
|
|
298
|
+
};
|
|
299
|
+
if (!uniquifyIDs) {
|
|
300
|
+
return node;
|
|
301
|
+
}
|
|
302
|
+
__spreadArray([], __read(node.children), false).map(function (d) {
|
|
303
|
+
if (d.attributes && d.attributes.length) {
|
|
304
|
+
var attributes_1 = Object.values(d.attributes).map(function (a) {
|
|
305
|
+
var attribute = a;
|
|
306
|
+
var match = a.value.match(/url\((.*?)\)/);
|
|
307
|
+
if (match && match[1]) {
|
|
308
|
+
attribute.value = a.value.replace(match[0], "url(".concat(baseURL).concat(match[1], "__").concat(_this.hash, ")"));
|
|
309
|
+
}
|
|
310
|
+
return attribute;
|
|
311
|
+
});
|
|
312
|
+
replaceableAttributes.forEach(function (r) {
|
|
313
|
+
var attribute = attributes_1.find(function (a) { return a.name === r; });
|
|
314
|
+
if (attribute && !isDataValue(r, attribute.value)) {
|
|
315
|
+
attribute.value = "".concat(attribute.value, "__").concat(_this.hash);
|
|
316
|
+
}
|
|
317
|
+
});
|
|
318
|
+
}
|
|
319
|
+
if (d.children.length) {
|
|
320
|
+
return _this.updateSVGAttributes(d);
|
|
321
|
+
}
|
|
322
|
+
return d;
|
|
323
|
+
});
|
|
324
|
+
return node;
|
|
325
|
+
};
|
|
326
|
+
InlineSVG.prototype.processSVG = function () {
|
|
327
|
+
var content = this.state.content;
|
|
328
|
+
var preProcessor = this.props.preProcessor;
|
|
329
|
+
if (preProcessor) {
|
|
330
|
+
return preProcessor(content);
|
|
331
|
+
}
|
|
332
|
+
return content;
|
|
333
|
+
};
|
|
346
334
|
InlineSVG.prototype.render = function () {
|
|
347
335
|
var _a = this.state, element = _a.element, status = _a.status;
|
|
348
|
-
var _b = this.props,
|
|
349
|
-
|
|
336
|
+
var _b = this.props, _c = _b.children, children = _c === void 0 ? null : _c, innerRef = _b.innerRef, _d = _b.loader, loader = _d === void 0 ? null : _d;
|
|
337
|
+
var elementProps = (0, helpers_1.omit)(this.props, 'baseURL', 'cacheRequests', 'children', 'description', 'fetchOptions', 'innerRef', 'loader', 'onError', 'onLoad', 'preProcessor', 'src', 'title', 'uniqueHash', 'uniquifyIDs');
|
|
338
|
+
if (!(0, helpers_1.canUseDOM)()) {
|
|
350
339
|
return loader;
|
|
351
340
|
}
|
|
352
341
|
if (element) {
|
|
353
|
-
return React.cloneElement(element, __assign({ ref: innerRef },
|
|
342
|
+
return React.cloneElement(element, __assign({ ref: innerRef }, elementProps));
|
|
354
343
|
}
|
|
355
|
-
if ([helpers_1.STATUS.UNSUPPORTED, helpers_1.STATUS.FAILED].
|
|
344
|
+
if ([helpers_1.STATUS.UNSUPPORTED, helpers_1.STATUS.FAILED].includes(status)) {
|
|
356
345
|
return children;
|
|
357
346
|
}
|
|
358
347
|
return loader;
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
|
package/lib/types.d.ts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
declare type Callback = (...args: any[]) => void;
|
|
3
2
|
export declare type ErrorCallback = (error: Error | FetchError) => void;
|
|
4
3
|
export declare type LoadCallback = (src: string, isCached: boolean) => void;
|
|
4
|
+
export declare type PlainObject<T = unknown> = Record<string | number | symbol, T>;
|
|
5
5
|
export declare type PreProcessorCallback = (code: string) => string;
|
|
6
6
|
export interface Props extends Omit<React.SVGProps<SVGElement>, 'onLoad' | 'onError' | 'ref'> {
|
|
7
7
|
baseURL?: string;
|
|
8
8
|
cacheRequests?: boolean;
|
|
9
9
|
children?: React.ReactNode;
|
|
10
10
|
description?: string;
|
|
11
|
+
fetchOptions?: RequestInit;
|
|
11
12
|
innerRef?: React.Ref<SVGElement>;
|
|
12
13
|
loader?: React.ReactNode;
|
|
13
14
|
onError?: ErrorCallback;
|
|
@@ -32,7 +33,5 @@ export interface FetchError extends Error {
|
|
|
32
33
|
}
|
|
33
34
|
export interface StorageItem {
|
|
34
35
|
content: string;
|
|
35
|
-
queue: Callback[];
|
|
36
36
|
status: string;
|
|
37
37
|
}
|
|
38
|
-
export {};
|