@sankei-arc-shared-components/element_icon 0.2.0 → 0.3.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/build/index.js +54 -216
- package/package.json +1 -1
- package/src/index.js +52 -151
- package/src/index.test.js +52 -62
package/build/index.js
CHANGED
|
@@ -5,7 +5,9 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports["default"] = void 0;
|
|
8
|
+
exports["default"] = exports.SITE_KEYS = void 0;
|
|
9
|
+
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
11
|
|
|
10
12
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
13
|
|
|
@@ -17,142 +19,25 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
17
19
|
|
|
18
20
|
var _fusionContext = require("fusion:context");
|
|
19
21
|
|
|
20
|
-
var
|
|
21
|
-
var _useFusionContext = (0, _fusionContext.useFusionContext)(),
|
|
22
|
-
contextPath = _useFusionContext.contextPath,
|
|
23
|
-
deployment = _useFusionContext.deployment;
|
|
24
|
-
|
|
25
|
-
return /*#__PURE__*/_react["default"].createElement("img", (0, _extends2["default"])({}, props, {
|
|
26
|
-
src: deployment("".concat(contextPath, "/resources/icons/gq.svg"))
|
|
27
|
-
}));
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
var Ironna = function Ironna(props) {
|
|
31
|
-
var _useFusionContext2 = (0, _fusionContext.useFusionContext)(),
|
|
32
|
-
contextPath = _useFusionContext2.contextPath,
|
|
33
|
-
deployment = _useFusionContext2.deployment;
|
|
34
|
-
|
|
35
|
-
return /*#__PURE__*/_react["default"].createElement("img", (0, _extends2["default"])({}, props, {
|
|
36
|
-
src: deployment("".concat(contextPath, "/resources/icons/ironna.svg"))
|
|
37
|
-
}));
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
var JapanForward = function JapanForward(props) {
|
|
41
|
-
var _useFusionContext3 = (0, _fusionContext.useFusionContext)(),
|
|
42
|
-
contextPath = _useFusionContext3.contextPath,
|
|
43
|
-
deployment = _useFusionContext3.deployment;
|
|
44
|
-
|
|
45
|
-
return /*#__PURE__*/_react["default"].createElement("img", (0, _extends2["default"])({}, props, {
|
|
46
|
-
src: deployment("".concat(contextPath, "/resources/icons/japanforward.svg"))
|
|
47
|
-
}));
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
var Sankei = function Sankei(props) {
|
|
51
|
-
var _useFusionContext4 = (0, _fusionContext.useFusionContext)(),
|
|
52
|
-
contextPath = _useFusionContext4.contextPath,
|
|
53
|
-
deployment = _useFusionContext4.deployment;
|
|
22
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
54
23
|
|
|
55
|
-
|
|
56
|
-
src: deployment("".concat(contextPath, "/resources/icons/sankei.svg"))
|
|
57
|
-
}));
|
|
58
|
-
};
|
|
24
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
59
25
|
|
|
60
|
-
var
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
26
|
+
var IconImg = function IconImg(name) {
|
|
27
|
+
return function (props) {
|
|
28
|
+
var _useFusionContext = (0, _fusionContext.useFusionContext)(),
|
|
29
|
+
contextPath = _useFusionContext.contextPath,
|
|
30
|
+
deployment = _useFusionContext.deployment;
|
|
64
31
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
var Naniwa = function Naniwa(props) {
|
|
71
|
-
var _useFusionContext6 = (0, _fusionContext.useFusionContext)(),
|
|
72
|
-
contextPath = _useFusionContext6.contextPath,
|
|
73
|
-
deployment = _useFusionContext6.deployment;
|
|
74
|
-
|
|
75
|
-
return /*#__PURE__*/_react["default"].createElement("img", (0, _extends2["default"])({}, props, {
|
|
76
|
-
src: deployment("".concat(contextPath, "/resources/icons/naniwa.svg"))
|
|
77
|
-
}));
|
|
32
|
+
return /*#__PURE__*/_react["default"].createElement("img", (0, _extends2["default"])({}, props, {
|
|
33
|
+
src: deployment("".concat(contextPath, "/resources/icons/").concat(name, ".svg"))
|
|
34
|
+
}));
|
|
35
|
+
};
|
|
78
36
|
};
|
|
79
37
|
|
|
80
|
-
var
|
|
81
|
-
var _useFusionContext7 = (0, _fusionContext.useFusionContext)(),
|
|
82
|
-
contextPath = _useFusionContext7.contextPath,
|
|
83
|
-
deployment = _useFusionContext7.deployment;
|
|
84
|
-
|
|
85
|
-
return /*#__PURE__*/_react["default"].createElement("img", (0, _extends2["default"])({}, props, {
|
|
86
|
-
src: deployment("".concat(contextPath, "/resources/icons/sankeisyo.svg"))
|
|
87
|
-
}));
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
var Seiron = function Seiron(props) {
|
|
91
|
-
var _useFusionContext8 = (0, _fusionContext.useFusionContext)(),
|
|
92
|
-
contextPath = _useFusionContext8.contextPath,
|
|
93
|
-
deployment = _useFusionContext8.deployment;
|
|
94
|
-
|
|
95
|
-
return /*#__PURE__*/_react["default"].createElement("img", (0, _extends2["default"])({}, props, {
|
|
96
|
-
src: deployment("".concat(contextPath, "/resources/icons/seiron.svg"))
|
|
97
|
-
}));
|
|
98
|
-
};
|
|
99
|
-
|
|
100
|
-
var Wired = function Wired(props) {
|
|
101
|
-
var _useFusionContext9 = (0, _fusionContext.useFusionContext)(),
|
|
102
|
-
contextPath = _useFusionContext9.contextPath,
|
|
103
|
-
deployment = _useFusionContext9.deployment;
|
|
104
|
-
|
|
105
|
-
return /*#__PURE__*/_react["default"].createElement("img", (0, _extends2["default"])({}, props, {
|
|
106
|
-
src: deployment("".concat(contextPath, "/resources/icons/wired.svg"))
|
|
107
|
-
}));
|
|
108
|
-
};
|
|
109
|
-
|
|
110
|
-
var Facebook = function Facebook(_ref) {
|
|
38
|
+
var Bars = function Bars(_ref) {
|
|
111
39
|
var fillColor = _ref.fillColor,
|
|
112
40
|
props = (0, _objectWithoutProperties2["default"])(_ref, ["fillColor"]);
|
|
113
|
-
|
|
114
|
-
var _useFusionContext10 = (0, _fusionContext.useFusionContext)(),
|
|
115
|
-
contextPath = _useFusionContext10.contextPath,
|
|
116
|
-
deployment = _useFusionContext10.deployment;
|
|
117
|
-
|
|
118
|
-
return /*#__PURE__*/_react["default"].createElement("img", (0, _extends2["default"])({}, props, {
|
|
119
|
-
src: deployment("".concat(contextPath, "/resources/icons/facebook.svg"))
|
|
120
|
-
}));
|
|
121
|
-
};
|
|
122
|
-
|
|
123
|
-
var Line = function Line(props) {
|
|
124
|
-
var _useFusionContext11 = (0, _fusionContext.useFusionContext)(),
|
|
125
|
-
contextPath = _useFusionContext11.contextPath,
|
|
126
|
-
deployment = _useFusionContext11.deployment;
|
|
127
|
-
|
|
128
|
-
return /*#__PURE__*/_react["default"].createElement("img", (0, _extends2["default"])({}, props, {
|
|
129
|
-
src: deployment("".concat(contextPath, "/resources/icons/line.svg"))
|
|
130
|
-
}));
|
|
131
|
-
};
|
|
132
|
-
|
|
133
|
-
var Twitter = function Twitter(props) {
|
|
134
|
-
var _useFusionContext12 = (0, _fusionContext.useFusionContext)(),
|
|
135
|
-
contextPath = _useFusionContext12.contextPath,
|
|
136
|
-
deployment = _useFusionContext12.deployment;
|
|
137
|
-
|
|
138
|
-
return /*#__PURE__*/_react["default"].createElement("img", (0, _extends2["default"])({}, props, {
|
|
139
|
-
src: deployment("".concat(contextPath, "/resources/icons/twitter.svg"))
|
|
140
|
-
}));
|
|
141
|
-
};
|
|
142
|
-
|
|
143
|
-
var Youtube = function Youtube(props) {
|
|
144
|
-
var _useFusionContext13 = (0, _fusionContext.useFusionContext)(),
|
|
145
|
-
contextPath = _useFusionContext13.contextPath,
|
|
146
|
-
deployment = _useFusionContext13.deployment;
|
|
147
|
-
|
|
148
|
-
return /*#__PURE__*/_react["default"].createElement("img", (0, _extends2["default"])({}, props, {
|
|
149
|
-
src: deployment("".concat(contextPath, "/resources/icons/youtube.svg"))
|
|
150
|
-
}));
|
|
151
|
-
};
|
|
152
|
-
|
|
153
|
-
var Bars = function Bars(_ref2) {
|
|
154
|
-
var fillColor = _ref2.fillColor,
|
|
155
|
-
props = (0, _objectWithoutProperties2["default"])(_ref2, ["fillColor"]);
|
|
156
41
|
return /*#__PURE__*/_react["default"].createElement("svg", (0, _extends2["default"])({}, props, {
|
|
157
42
|
"data-name": "Group 16",
|
|
158
43
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -171,11 +56,11 @@ var Bars = function Bars(_ref2) {
|
|
|
171
56
|
})));
|
|
172
57
|
};
|
|
173
58
|
|
|
174
|
-
var BorderArrowLeft = function BorderArrowLeft(
|
|
175
|
-
var fillColor =
|
|
176
|
-
backgroundColor =
|
|
177
|
-
strokeColor =
|
|
178
|
-
props = (0, _objectWithoutProperties2["default"])(
|
|
59
|
+
var BorderArrowLeft = function BorderArrowLeft(_ref2) {
|
|
60
|
+
var fillColor = _ref2.fillColor,
|
|
61
|
+
backgroundColor = _ref2.backgroundColor,
|
|
62
|
+
strokeColor = _ref2.strokeColor,
|
|
63
|
+
props = (0, _objectWithoutProperties2["default"])(_ref2, ["fillColor", "backgroundColor", "strokeColor"]);
|
|
179
64
|
return /*#__PURE__*/_react["default"].createElement("svg", (0, _extends2["default"])({}, props, {
|
|
180
65
|
viewBox: "0 0 44 44",
|
|
181
66
|
fill: "none",
|
|
@@ -195,11 +80,11 @@ var BorderArrowLeft = function BorderArrowLeft(_ref3) {
|
|
|
195
80
|
}));
|
|
196
81
|
};
|
|
197
82
|
|
|
198
|
-
var BorderArrowRight = function BorderArrowRight(
|
|
199
|
-
var fillColor =
|
|
200
|
-
backgroundColor =
|
|
201
|
-
strokeColor =
|
|
202
|
-
props = (0, _objectWithoutProperties2["default"])(
|
|
83
|
+
var BorderArrowRight = function BorderArrowRight(_ref3) {
|
|
84
|
+
var fillColor = _ref3.fillColor,
|
|
85
|
+
backgroundColor = _ref3.backgroundColor,
|
|
86
|
+
strokeColor = _ref3.strokeColor,
|
|
87
|
+
props = (0, _objectWithoutProperties2["default"])(_ref3, ["fillColor", "backgroundColor", "strokeColor"]);
|
|
203
88
|
return /*#__PURE__*/_react["default"].createElement("svg", (0, _extends2["default"])({}, props, {
|
|
204
89
|
viewBox: "0 0 44 44",
|
|
205
90
|
fill: "none",
|
|
@@ -218,9 +103,9 @@ var BorderArrowRight = function BorderArrowRight(_ref4) {
|
|
|
218
103
|
}));
|
|
219
104
|
};
|
|
220
105
|
|
|
221
|
-
var Chevron = function Chevron(
|
|
222
|
-
var fillColor =
|
|
223
|
-
props = (0, _objectWithoutProperties2["default"])(
|
|
106
|
+
var Chevron = function Chevron(_ref4) {
|
|
107
|
+
var fillColor = _ref4.fillColor,
|
|
108
|
+
props = (0, _objectWithoutProperties2["default"])(_ref4, ["fillColor"]);
|
|
224
109
|
return /*#__PURE__*/_react["default"].createElement("svg", (0, _extends2["default"])({}, props, {
|
|
225
110
|
"data-name": "Group 16",
|
|
226
111
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -236,9 +121,9 @@ var Chevron = function Chevron(_ref5) {
|
|
|
236
121
|
}));
|
|
237
122
|
};
|
|
238
123
|
|
|
239
|
-
var ChevronUp = function ChevronUp(
|
|
240
|
-
var fillColor =
|
|
241
|
-
props = (0, _objectWithoutProperties2["default"])(
|
|
124
|
+
var ChevronUp = function ChevronUp(_ref5) {
|
|
125
|
+
var fillColor = _ref5.fillColor,
|
|
126
|
+
props = (0, _objectWithoutProperties2["default"])(_ref5, ["fillColor"]);
|
|
242
127
|
return /*#__PURE__*/_react["default"].createElement("svg", (0, _extends2["default"])({}, props, {
|
|
243
128
|
"data-name": "Group 16",
|
|
244
129
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -254,9 +139,9 @@ var ChevronUp = function ChevronUp(_ref6) {
|
|
|
254
139
|
}));
|
|
255
140
|
};
|
|
256
141
|
|
|
257
|
-
var ChevronDown = function ChevronDown(
|
|
258
|
-
var fillColor =
|
|
259
|
-
props = (0, _objectWithoutProperties2["default"])(
|
|
142
|
+
var ChevronDown = function ChevronDown(_ref6) {
|
|
143
|
+
var fillColor = _ref6.fillColor,
|
|
144
|
+
props = (0, _objectWithoutProperties2["default"])(_ref6, ["fillColor"]);
|
|
260
145
|
return /*#__PURE__*/_react["default"].createElement("svg", (0, _extends2["default"])({}, props, {
|
|
261
146
|
"data-name": "Group 16",
|
|
262
147
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -272,9 +157,9 @@ var ChevronDown = function ChevronDown(_ref7) {
|
|
|
272
157
|
}));
|
|
273
158
|
};
|
|
274
159
|
|
|
275
|
-
var ChevronRight = function ChevronRight(
|
|
276
|
-
var fillColor =
|
|
277
|
-
props = (0, _objectWithoutProperties2["default"])(
|
|
160
|
+
var ChevronRight = function ChevronRight(_ref7) {
|
|
161
|
+
var fillColor = _ref7.fillColor,
|
|
162
|
+
props = (0, _objectWithoutProperties2["default"])(_ref7, ["fillColor"]);
|
|
278
163
|
return /*#__PURE__*/_react["default"].createElement("svg", (0, _extends2["default"])({}, props, {
|
|
279
164
|
"data-name": "Group 16",
|
|
280
165
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -290,9 +175,9 @@ var ChevronRight = function ChevronRight(_ref8) {
|
|
|
290
175
|
}));
|
|
291
176
|
};
|
|
292
177
|
|
|
293
|
-
var Lock = function Lock(
|
|
294
|
-
var fillColor =
|
|
295
|
-
props = (0, _objectWithoutProperties2["default"])(
|
|
178
|
+
var Lock = function Lock(_ref8) {
|
|
179
|
+
var fillColor = _ref8.fillColor,
|
|
180
|
+
props = (0, _objectWithoutProperties2["default"])(_ref8, ["fillColor"]);
|
|
296
181
|
return /*#__PURE__*/_react["default"].createElement("svg", (0, _extends2["default"])({}, props, {
|
|
297
182
|
viewBox: "0 0 19 16",
|
|
298
183
|
xmlns: "http://www.w3.org/2000/svg"
|
|
@@ -336,7 +221,10 @@ var Times = function Times(props) {
|
|
|
336
221
|
}));
|
|
337
222
|
};
|
|
338
223
|
|
|
339
|
-
var
|
|
224
|
+
var SITE_KEYS = ['facebook', 'gq', 'ironna', 'japan-forward', 'line', 'sankei', 'member', 'twitter', 'youtube', 'wired', 'sankeisyo', 'naniwa', 'seiron', 'instagram'];
|
|
225
|
+
exports.SITE_KEYS = SITE_KEYS;
|
|
226
|
+
|
|
227
|
+
var icons = _objectSpread({
|
|
340
228
|
bars: {
|
|
341
229
|
Component: Bars
|
|
342
230
|
},
|
|
@@ -358,61 +246,26 @@ var icons = {
|
|
|
358
246
|
'chevron-right': {
|
|
359
247
|
Component: ChevronRight
|
|
360
248
|
},
|
|
361
|
-
facebook: {
|
|
362
|
-
Component: Facebook
|
|
363
|
-
},
|
|
364
|
-
gq: {
|
|
365
|
-
Component: GQ
|
|
366
|
-
},
|
|
367
|
-
ironna: {
|
|
368
|
-
Component: Ironna
|
|
369
|
-
},
|
|
370
|
-
'japan-forward': {
|
|
371
|
-
Component: JapanForward
|
|
372
|
-
},
|
|
373
|
-
line: {
|
|
374
|
-
Component: Line
|
|
375
|
-
},
|
|
376
249
|
lock: {
|
|
377
250
|
Component: Lock
|
|
378
251
|
},
|
|
379
|
-
sankei: {
|
|
380
|
-
Component: Sankei
|
|
381
|
-
},
|
|
382
|
-
member: {
|
|
383
|
-
Component: Member
|
|
384
|
-
},
|
|
385
252
|
search: {
|
|
386
253
|
Component: Search
|
|
387
254
|
},
|
|
388
255
|
times: {
|
|
389
256
|
Component: Times
|
|
390
|
-
},
|
|
391
|
-
twitter: {
|
|
392
|
-
Component: Twitter
|
|
393
|
-
},
|
|
394
|
-
youtube: {
|
|
395
|
-
Component: Youtube
|
|
396
|
-
},
|
|
397
|
-
wired: {
|
|
398
|
-
Component: Wired
|
|
399
|
-
},
|
|
400
|
-
sankeisyo: {
|
|
401
|
-
Component: Sankeisyo
|
|
402
|
-
},
|
|
403
|
-
naniwa: {
|
|
404
|
-
Component: Naniwa
|
|
405
|
-
},
|
|
406
|
-
seiron: {
|
|
407
|
-
Component: Seiron
|
|
408
257
|
}
|
|
409
|
-
}
|
|
258
|
+
}, SITE_KEYS.reduce(function (acc, cur) {
|
|
259
|
+
return _objectSpread(_objectSpread({}, acc), {}, (0, _defineProperty2["default"])({}, cur, {
|
|
260
|
+
Component: IconImg(cur)
|
|
261
|
+
}));
|
|
262
|
+
}, {}));
|
|
410
263
|
|
|
411
|
-
var Icon = function Icon(
|
|
412
|
-
var name =
|
|
413
|
-
props = (0, _objectWithoutProperties2["default"])(
|
|
264
|
+
var Icon = function Icon(_ref9) {
|
|
265
|
+
var name = _ref9.name,
|
|
266
|
+
props = (0, _objectWithoutProperties2["default"])(_ref9, ["name"]);
|
|
414
267
|
|
|
415
|
-
if (icons[name]) {
|
|
268
|
+
if (typeof icons[name] !== 'undefined') {
|
|
416
269
|
var Component = icons[name].Component;
|
|
417
270
|
return /*#__PURE__*/_react["default"].createElement(Component, props);
|
|
418
271
|
}
|
|
@@ -436,9 +289,6 @@ BorderArrowRight.propTypes = {
|
|
|
436
289
|
backgroundColor: _propTypes["default"].string,
|
|
437
290
|
strokeColor: _propTypes["default"].string
|
|
438
291
|
};
|
|
439
|
-
Facebook.propTypes = {
|
|
440
|
-
fillColor: _propTypes["default"].string
|
|
441
|
-
};
|
|
442
292
|
Chevron.propTypes = {
|
|
443
293
|
fillColor: _propTypes["default"].string
|
|
444
294
|
};
|
|
@@ -454,18 +304,6 @@ ChevronRight.propTypes = {
|
|
|
454
304
|
Lock.propTypes = {
|
|
455
305
|
fillColor: _propTypes["default"].string
|
|
456
306
|
};
|
|
457
|
-
Ironna.propTypes = {
|
|
458
|
-
className: _propTypes["default"].string
|
|
459
|
-
};
|
|
460
|
-
Sankeisyo.propTypes = {
|
|
461
|
-
fillColor: _propTypes["default"].string
|
|
462
|
-
};
|
|
463
|
-
Naniwa.propTypes = {
|
|
464
|
-
fillColor: _propTypes["default"].string
|
|
465
|
-
};
|
|
466
|
-
Seiron.propTypes = {
|
|
467
|
-
fillColor: _propTypes["default"].string
|
|
468
|
-
};
|
|
469
307
|
var _default = Icon;
|
|
470
308
|
exports["default"] = _default;
|
|
471
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVua25vd24iXSwibmFtZXMiOlsiR1EiLCJwcm9wcyIsImNvbnRleHRQYXRoIiwiZGVwbG95bWVudCIsIklyb25uYSIsIkphcGFuRm9yd2FyZCIsIlNhbmtlaSIsIk1lbWJlciIsIk5hbml3YSIsIlNhbmtlaXN5byIsIlNlaXJvbiIsIldpcmVkIiwiRmFjZWJvb2siLCJmaWxsQ29sb3IiLCJMaW5lIiwiVHdpdHRlciIsIllvdXR1YmUiLCJCYXJzIiwiQm9yZGVyQXJyb3dMZWZ0IiwiYmFja2dyb3VuZENvbG9yIiwic3Ryb2tlQ29sb3IiLCJCb3JkZXJBcnJvd1JpZ2h0IiwiQ2hldnJvbiIsIkNoZXZyb25VcCIsIkNoZXZyb25Eb3duIiwiQ2hldnJvblJpZ2h0IiwiTG9jayIsIlNlYXJjaCIsIlRpbWVzIiwiaWNvbnMiLCJiYXJzIiwiQ29tcG9uZW50IiwiY2hldnJvbiIsImZhY2Vib29rIiwiZ3EiLCJpcm9ubmEiLCJsaW5lIiwibG9jayIsInNhbmtlaSIsIm1lbWJlciIsInNlYXJjaCIsInRpbWVzIiwidHdpdHRlciIsInlvdXR1YmUiLCJ3aXJlZCIsInNhbmtlaXN5byIsIm5hbml3YSIsInNlaXJvbiIsIkljb24iLCJuYW1lIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwic3RyaW5nIiwiaXNSZXF1aXJlZCIsImNsYXNzTmFtZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUVBLElBQU1BLEVBQUUsR0FBRyxTQUFMQSxFQUFLLENBQUNDLEtBQUQsRUFBVztBQUFBLDBCQUNnQixzQ0FEaEI7QUFBQSxNQUNaQyxXQURZLHFCQUNaQSxXQURZO0FBQUEsTUFDQ0MsVUFERCxxQkFDQ0EsVUFERDs7QUFFcEIsc0JBQU8scUVBQVVGLEtBQVY7QUFBa0IsSUFBQSxHQUFHLEVBQUVFLFVBQVUsV0FBSUQsV0FBSjtBQUFqQyxLQUFQO0FBQ0QsQ0FIRDs7QUFLQSxJQUFNRSxNQUFNLEdBQUcsU0FBVEEsTUFBUyxDQUFDSCxLQUFE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QUFFc0Msc0JBQVVDO0FBREQsQ0FBdEI7QUFJQTVDLE1BQU0sQ0FBQzBDLFNBQVAsR0FBbUI7QUFDakJyQyxFQUFBQSxTQUFTLEVBQUVzQyxzQkFBVUM7QUFESixDQUFuQjtBQUlBMUMsTUFBTSxDQUFDd0MsU0FBUCxHQUFtQjtBQUNqQnJDLEVBQUFBLFNBQVMsRUFBRXNDLHNCQUFVQztBQURKLENBQW5CO2VBSWVKLEkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7IHVzZUZ1c2lvbkNvbnRleHQgfSBmcm9tICdmdXNpb246Y29udGV4dCc7XG5cbmNvbnN0IEdRID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgY29udGV4dFBhdGgsIGRlcGxveW1lbnQgfSA9IHVzZUZ1c2lvbkNvbnRleHQoKTtcbiAgcmV0dXJuIDxpbWcgeyAuLi5wcm9wcyB9IHNyYz17ZGVwbG95bWVudChgJHtjb250ZXh0UGF0aH0vcmVzb3VyY2VzL2ljb25zL2dxLnN2Z2ApfSAvPjtcbn07XG5cbmNvbnN0IElyb25uYSA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IGNvbnRleHRQYXRoLCBkZXBsb3ltZW50IH0gPSB1c2VGdXNpb25Db250ZXh0KCk7XG4gIHJldHVybiA8aW1nIHsgLi4ucHJvcHMgfSBzcmM9e2RlcGxveW1lbnQoYCR7Y29udGV4dFBhdGh9L3Jlc291cmNlcy9pY29ucy9pcm9ubmEuc3ZnYCl9IC8+O1xufTtcblxuY29uc3QgSmFwYW5Gb3J3YXJkID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgY29udGV4dFBhdGgsIGRlcGxveW1lbnQgfSA9IHVzZUZ1c2lvbkNvbnRleHQoKTtcbiAgcmV0dXJuIDxpbWcgeyAuLi5wcm9wcyB9IHNyYz17ZGVwbG95bWVudChgJHtjb250ZXh0UGF0aH0vcmVzb3VyY2VzL2ljb25zL2phcGFuZm9yd2FyZC5zdmdgKX0gLz47XG59O1xuXG5jb25zdCBTYW5rZWkgPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBjb250ZXh0UGF0aCwgZGVwbG95bWVudCB9ID0gdXNlRnVzaW9uQ29udGV4dCgpO1xuICByZXR1cm4gPGltZyB7IC4uLnByb3BzIH0gc3JjPXtkZXBsb3ltZW50KGAke2NvbnRleHRQYXRofS9yZXNvdXJjZXMvaWNvbnMvc2Fua2VpLnN2Z2ApfSAvPjtcbn07XG5cbmNvbnN0IE1lbWJlciA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IGNvbnRleHRQYXRoLCBkZXBsb3ltZW50IH0gPSB1c2VGdXNpb25Db250ZXh0KCk7XG4gIHJldHVybiA8aW1nIHsgLi4ucHJvcHMgfSBzcmM9e2RlcGxveW1lbnQoYCR7Y29udGV4dFBhdGh9L3Jlc291cmNlcy9pY29ucy9tZW1iZXIuc3ZnYCl9IC8+O1xufTtcblxuY29uc3QgTmFuaXdhID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgY29udGV4dFBhdGgsIGRlcGxveW1lbnQgfSA9IHVzZUZ1c2lvbkNvbnRleHQoKTtcbiAgcmV0dXJuIDxpbWcgeyAuLi5wcm9wcyB9IHNyYz17ZGVwbG95bWVudChgJHtjb250ZXh0UGF0aH0vcmVzb3VyY2VzL2ljb25zL25hbml3YS5zdmdgKX0gLz47XG59O1xuXG5jb25zdCBTYW5rZWlzeW8gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBjb250ZXh0UGF0aCwgZGVwbG95bWVudCB9ID0gdXNlRnVzaW9uQ29udGV4dCgpO1xuICByZXR1cm4gPGltZyB7IC4uLnByb3BzIH0gc3JjPXtkZXBsb3ltZW50KGAke2NvbnRleHRQYXRofS9yZXNvdXJjZXMvaWNvbnMvc2Fua2Vpc3lvLnN2Z2ApfSAvPjtcbn07XG5cbmNvbnN0IFNlaXJvbiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IGNvbnRleHRQYXRoLCBkZXBsb3ltZW50IH0gPSB1c2VGdXNpb25Db250ZXh0KCk7XG4gIHJldHVybiA8aW1nIHsgLi4ucHJvcHMgfSBzcmM9e2RlcGxveW1lbnQoYCR7Y29udGV4dFBhdGh9L3Jlc291cmNlcy9pY29ucy9zZWlyb24uc3ZnYCl9IC8+O1xufTtcblxuY29uc3QgV2lyZWQgPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBjb250ZXh0UGF0aCwgZGVwbG95bWVudCB9ID0gdXNlRnVzaW9uQ29udGV4dCgpO1xuICByZXR1cm4gPGltZyB7IC4uLnByb3BzIH0gc3JjPXtkZXBsb3ltZW50KGAke2NvbnRleHRQYXRofS9yZXNvdXJjZXMvaWNvbnMvd2lyZWQuc3ZnYCl9IC8+O1xufTtcblxuY29uc3QgRmFjZWJvb2sgPSAoeyBmaWxsQ29sb3IsIC4uLnByb3BzIH0pID0+IHtcbiAgY29uc3QgeyBjb250ZXh0UGF0aCwgZGVwbG95bWVudCB9ID0gdXNlRnVzaW9uQ29udGV4dCgpO1xuICByZXR1cm4gPGltZyB7IC4uLnByb3BzIH0gc3JjPXtkZXBsb3ltZW50KGAke2NvbnRleHRQYXRofS9yZXNvdXJjZXMvaWNvbnMvZmFjZWJvb2suc3ZnYCl9IC8+O1xufTtcblxuY29uc3QgTGluZSA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IGNvbnRleHRQYXRoLCBkZXBsb3ltZW50IH0gPSB1c2VGdXNpb25Db250ZXh0KCk7XG4gIHJldHVybiA8aW1nIHsgLi4ucHJvcHMgfSBzcmM9e2RlcGxveW1lbnQoYCR7Y29udGV4dFBhdGh9L3Jlc291cmNlcy9pY29ucy9saW5lLnN2Z2ApfSAvPjtcbn07XG5cbmNvbnN0IFR3aXR0ZXIgPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBjb250ZXh0UGF0aCwgZGVwbG95bWVudCB9ID0gdXNlRnVzaW9uQ29udGV4dCgpO1xuICByZXR1cm4gPGltZyB7IC4uLnByb3BzIH0gc3JjPXtkZXBsb3ltZW50KGAke2NvbnRleHRQYXRofS9yZXNvdXJjZXMvaWNvbnMvdHdpdHRlci5zdmdgKX0gLz47XG59O1xuXG5jb25zdCBZb3V0dWJlID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgY29udGV4dFBhdGgsIGRlcGxveW1lbnQgfSA9IHVzZUZ1c2lvbkNvbnRleHQoKTtcbiAgcmV0dXJuIDxpbWcgeyAuLi5wcm9wcyB9IHNyYz17ZGVwbG95bWVudChgJHtjb250ZXh0UGF0aH0vcmVzb3VyY2VzL2ljb25zL3lvdXR1YmUuc3ZnYCl9IC8+O1xufTtcblxuY29uc3QgQmFycyA9ICh7IGZpbGxDb2xvciwgLi4ucHJvcHMgfSkgPT4gKFxuICA8c3ZnIHsgLi4ucHJvcHMgfSBkYXRhLW5hbWU9XCJHcm91cCAxNlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDMyIDMyXCI+XG4gICAgPGcgZmlsbD17ZmlsbENvbG9yIHx8ICcjOTk5J30+XG4gICAgICA8cGF0aCBkYXRhLW5hbWU9XCJGaWxsIDFcIiBkPVwiTTAgMi42N2gzMlYwSDB6XCIvPlxuICAgICAgPHBhdGggZGF0YS1uYW1lPVwiRmlsbCAyXCIgZD1cIk0wIDEzLjMzaDMydi0yLjY2SDB6XCIvPlxuICAgICAgPHBhdGggZGF0YS1uYW1lPVwiRmlsbCAzXCIgZD1cIk0wIDI0aDMydi0yLjY3SDB6XCIvPlxuICAgIDwvZz5cbiAgPC9zdmc+XG4pO1xuXG5jb25zdCBCb3JkZXJBcnJvd0xlZnQgPSAoe1xuICBmaWxsQ29sb3IsIGJhY2tncm91bmRDb2xvciwgc3Ryb2tlQ29sb3IsIC4uLnByb3BzXG59KSA9PiAoXG4gIDxzdmcgeyAuLi5wcm9wc30gdmlld0JveD1cIjAgMCA0NCA0NFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgIDxyZWN0IHg9XCI0My41XCIgeT1cIjQzLjVcIiB3aWR0aD1cIjQzXCIgaGVpZ2h0PVwiNDNcIiByeD1cIjMuNVwiIHRyYW5zZm9ybT1cInJvdGF0ZSgtMTgwIDQzLjUgNDMuNSlcIiBmaWxsPXtiYWNrZ3JvdW5kQ29sb3IgfHwgJ3doaXRlJ30gc3Ryb2tlPXtzdHJva2VDb2xvciB8fCAnbm9uZSd9Lz5cbiAgICA8cGF0aCBkPVwiTTI0IDI4TDI1LjQxIDI2LjU5TDIwLjgzIDIyTDI1LjQxIDE3LjQxTDI0IDE2TDE4IDIyTDI0IDI4WlwiIGZpbGw9e2ZpbGxDb2xvciB8fCAnIzA2NTE3Qid9Lz5cbiAgPC9zdmc+XG4pO1xuXG5jb25zdCBCb3JkZXJBcnJvd1JpZ2h0ID0gKHtcbiAgZmlsbENvbG9yLCBiYWNrZ3JvdW5kQ29sb3IsIHN0cm9rZUNvbG9yLCAuLi5wcm9wc1xufSkgPT4gKFxuICA8c3ZnIHsgLi4ucHJvcHN9IHZpZXdCb3g9XCIwIDAgNDQgNDRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICA8cmVjdCB4PVwiMC41XCIgeT1cIjAuNVwiIHdpZHRoPVwiNDNcIiBoZWlnaHQ9XCI0M1wiIHJ4PVwiMy41XCIgZmlsbD17YmFja2dyb3VuZENvbG9yIHx8ICd3aGl0ZSd9IHN0cm9rZT17c3Ryb2tlQ29sb3IgfHwgJ25vbmUnfS8+XG4gICAgPHBhdGggZD1cIk0yMCAxNkwxOC41OSAxNy40MUwyMy4xNyAyMkwxOC41OSAyNi41OUwyMCAyOEwyNiAyMkwyMCAxNlpcIiBmaWxsPXtmaWxsQ29sb3IgfHwgJyMwNjUxN0InfS8+XG4gIDwvc3ZnPlxuKTtcblxuY29uc3QgQ2hldnJvbiA9ICh7IGZpbGxDb2xvciwgLi4ucHJvcHMgfSkgPT4gKFxuICA8c3ZnIHsgLi4ucHJvcHMgfSBkYXRhLW5hbWU9XCJHcm91cCAxNlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDMyIDMyXCIgPlxuICAgIDxwYXRoIGRhdGEtbmFtZT1cIkZpbGwgMVwiIGQ9XCJNMCAzMmgzMlYwSDB6XCIgZmlsbD1cIiNmZmZcIi8+XG4gICAgPHBhdGggZGF0YS1uYW1lPVwiRmlsbCAyXCIgZD1cIk0xMy4yMyAxNmw3LjA3LTcuMDdhMSAxIDAgMDAwLTEuNDFsLS43LS43MWExIDEgMCAwMC0xLjQyIDBMOS43IDE1LjI5YTEgMSAwIDAwMCAxLjQybDguNDggOC40OGExIDEgMCAwMDEuNDIgMGwuNy0uN2ExIDEgMCAwMDAtMS40MnpcIiBmaWxsPXtmaWxsQ29sb3IgfHwgJyM5OTknfS8+XG4gIDwvc3ZnPlxuKTtcblxuY29uc3QgQ2hldnJvblVwID0gKHsgZmlsbENvbG9yLCAuLi5wcm9wcyB9KSA9PiAoXG4gIDxzdmcgeyAuLi5wcm9wcyB9IGRhdGEtbmFtZT1cIkdyb3VwIDE2XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIj5cbiAgICA8cGF0aCBkYXRhLW5hbWU9XCJGaWxsIDFcIiBkPVwiTTMyIDMyVjBIMHYzMnpcIiBmaWxsPVwiI2ZmZlwiLz5cbiAgICA8cGF0aCBkYXRhLW5hbWU9XCJGaWxsIDJcIiBkPVwiTTE2IDEzLjIzbDcuMDcgNy4wN2ExIDEgMCAwMDEuNDIgMGwuNy0uN2ExIDEgMCAwMDAtMS40MkwxNi43MSA5LjdhMSAxIDAgMDAtMS40MiAwbC04LjQ4IDguNDhhMSAxIDAgMDAwIDEuNDJsLjcuN2ExIDEgMCAwMDEuNDIgMHpcIiBmaWxsPXtmaWxsQ29sb3IgfHwgJyMwNjUxN2InfSAvPlxuICA8L3N2Zz5cbik7XG5cbmNvbnN0IENoZXZyb25Eb3duID0gKHsgZmlsbENvbG9yLCAuLi5wcm9wcyB9KSA9PiAoXG4gIDxzdmcgeyAuLi5wcm9wcyB9IGRhdGEtbmFtZT1cIkdyb3VwIDE2XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIj5cbiAgICA8cGF0aCBkYXRhLW5hbWU9XCJGaWxsIDFcIiBkPVwiTTAgMzJoMzJWMEgwelwiIGZpbGw9XCIjZmZmXCIgLz5cbiAgICA8cGF0aCBkYXRhLW5hbWU9XCJGaWxsIDJcIiBkPVwiTTE2IDE4Ljc3TDguOTMgMTEuN2ExIDEgMCAwMC0xLjQxIDBsLS43MS43YTEgMSAwIDAwMCAxLjQybDguNDggOC40OGExIDEgMCAwMDEuNDIgMGw4LjQ4LTguNDhhMSAxIDAgMDAwLTEuNDFsLS43LS43MWExIDEgMCAwMC0xLjQyIDB6XCIgZmlsbD17ZmlsbENvbG9yIHx8ICcjMDY1MTdiJ30gLz5cbiAgPC9zdmc+XG4pO1xuXG5jb25zdCBDaGV2cm9uUmlnaHQgPSAoeyBmaWxsQ29sb3IsIC4uLnByb3BzIH0pID0+IChcbiAgPHN2ZyB7IC4uLnByb3BzIH0gZGF0YS1uYW1lPVwiR3JvdXAgMTZcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAzMiAzMlwiPlxuICAgIDxwYXRoIGRhdGEtbmFtZT1cIkZpbGwgMVwiIGQ9XCJNMCAzMmgzMlYwSDB6XCIgZmlsbD1cIiNmZmZcIi8+XG4gICAgPHBhdGggZGF0YS1uYW1lPVwiRmlsbCAyXCIgZD1cIk0xOC43NyAxNmwtNy4wNyA3LjA3YTEgMSAwIDAwMCAxLjQybC43LjdhMSAxIDAgMDAxLjQyIDBsOC40OC04LjQ4YTEgMSAwIDAwMC0xLjQybC04LjQ4LTguNDhhMSAxIDAgMDAtMS40MiAwbC0uNy43YTEgMSAwIDAwMCAxLjQyelwiIGZpbGw9e2ZpbGxDb2xvciB8fCAnIzA2NTE3Yid9Lz5cbiAgPC9zdmc+XG4pO1xuXG5jb25zdCBMb2NrID0gKHsgZmlsbENvbG9yLCAuLi5wcm9wcyB9KSA9PiAoXG4gIDxzdmcgeyAuLi5wcm9wcyB9IHZpZXdCb3g9XCIwIDAgMTkgMTZcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgPHBhdGggZD1cIk0xOC4zOSwxNkgzLjYxQS42MS42MSwwLDAsMSwzLDE1LjM5Vi42MUEuNjEuNjEsMCwwLDEsMy42MSwwSDE4LjM5QS42MS42MSwwLDAsMSwxOSwuNjFWMTUuMzlhLjYxLjYxLDAsMCwxLS42MS42MVwiIGZpbGw9e2ZpbGxDb2xvciB8fCAnI2RiYjQwMCd9Lz5cbiAgICA8cGF0aCBkPVwiTTE0LjcyLDcuNTFINy4yOGEuODMuODMsMCwwLDAtLjgzLjgzdjQuOTJhMS40MywxLjQzLDAsMCwwLDEuNDMsMS40M2g2LjI0YTEuNDMsMS40MywwLDAsMCwxLjQzLTEuNDNWOC4zNGEuODMuODMsMCwwLDAtLjgzLS44M1ptLTIuNjcsNS4zM2EuMjQuMjQsMCwwLDEtLjE4LjI5SDEwLjE4YS4yNC4yNCwwLDAsMS0uMjQtLjI0LjEzLjEzLDAsMCwxLDAtLjA2bC40MS0xLjczYTEuMTMsMS4xMywwLDEsMSwxLjU3LS4yOSwxLjMzLDEuMzMsMCwwLDEtLjI5LjI5WlwiIGZpbGw9XCIjZmZmXCIvPlxuICAgIDxwYXRoIGQ9XCJNMTQuNzEsNi45NGgtMS42VjUuMDhhMi4xNiwyLjE2LDAsMCwwLTQuMzIsMFY2Ljk0SDcuMTlWNS4wOGEzLjc2LDMuNzYsMCwxLDEsNy41MiwwWlwiIGZpbGw9XCIjZmZmXCIvPlxuICA8L3N2Zz5cbik7XG5cbmNvbnN0IFNlYXJjaCA9IChwcm9wcykgPT4gKFxuICA8c3ZnIHsgLi4ucHJvcHMgfSB2aWV3Qm94PVwiMCAwIDMyIDMyXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgIDxnIGRhdGEtbmFtZT1cIkdyb3VwIDNcIj5cbiAgICAgIDxwYXRoIGRhdGEtbmFtZT1cIkNsaXAgMlwiIGQ9XCJNMCAwaDMydjMySDB6XCIgZmlsbD1cIm5vbmVcIi8+XG4gICAgICA8ZyBkYXRhLW5hbWU9XCJHcm91cCAzXCI+XG4gICAgICAgIDxwYXRoIGRhdGEtbmFtZT1cIkZpbGwgMVwiIGQ9XCJNMzAgMzJhMS45OSAxLjk5IDAgMDEtMS40MS0uNTlsLTcuOTMtNy45MkExMi45OSAxMi45OSAwIDAxMCAxM2ExMyAxMyAwIDAxMjIuMi05LjIgMTIuOTcgMTIuOTcgMCAwMTEuMjkgMTYuODZsNy45MiA3LjkzQTIgMiAwIDAxMzAgMzJ6TTEzIDRhOSA5IDAgMTA5IDkgOS4wMSA5LjAxIDAgMDAtOS05elwiIGZpbGw9XCIjOTk5XCIvPlxuICAgICAgPC9nPlxuICAgIDwvZz5cbiAgPC9zdmc+XG4pO1xuXG5jb25zdCBUaW1lcyA9IChwcm9wcykgPT4gKFxuICA8c3ZnIHsgLi4ucHJvcHMgfSB2aWV3Qm94PVwiMCAwIDM1MiA1MTJcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgPHBhdGggZD1cIk0yNDIuNzIgMjU2bDEwMC4wNy0xMDAuMDdhMzEuNDYgMzEuNDYgMCAwMDAtNDQuNDhsLTIyLjI0LTIyLjI0YTMxLjQ2IDMxLjQ2IDAgMDAtNDQuNDggMEwxNzYgMTg5LjI4IDc1LjkzIDg5LjIxYTMxLjQ2IDMxLjQ2IDAgMDAtNDQuNDggMEw5LjIxIDExMS40NWEzMS40NiAzMS40NiAwIDAwMCA0NC40OEwxMDkuMjggMjU2IDkuMjEgMzU2LjA3YTMxLjQ2IDMxLjQ2IDAgMDAwIDQ0LjQ4bDIyLjI0IDIyLjI0YTMxLjQ2IDMxLjQ2IDAgMDA0NC40OCAwTDE3NiAzMjIuNzJsMTAwLjA3IDEwMC4wN2EzMS40NiAzMS40NiAwIDAwNDQuNDggMGwyMi4yNC0yMi4yNGEzMS40NiAzMS40NiAwIDAwMC00NC40OEwyNDIuNzIgMjU2elwiLz5cbiAgPC9zdmc+XG4pO1xuXG5jb25zdCBpY29ucyA9IHtcbiAgYmFyczoge1xuICAgIENvbXBvbmVudDogQmFycyxcbiAgfSxcbiAgJ2JvcmRlci1hcnJvdy1sZWZ0Jzoge1xuICAgIENvbXBvbmVudDogQm9yZGVyQXJyb3dMZWZ0LFxuICB9LFxuICAnYm9yZGVyLWFycm93LXJpZ2h0Jzoge1xuICAgIENvbXBvbmVudDogQm9yZGVyQXJyb3dSaWdodCxcbiAgfSxcbiAgY2hldnJvbjoge1xuICAgIENvbXBvbmVudDogQ2hldnJvbixcbiAgfSxcbiAgJ2NoZXZyb24tdXAnOiB7XG4gICAgQ29tcG9uZW50OiBDaGV2cm9uVXAsXG4gIH0sXG4gICdjaGV2cm9uLWRvd24nOiB7XG4gICAgQ29tcG9uZW50OiBDaGV2cm9uRG93bixcbiAgfSxcbiAgJ2NoZXZyb24tcmlnaHQnOiB7XG4gICAgQ29tcG9uZW50OiBDaGV2cm9uUmlnaHQsXG4gIH0sXG4gIGZhY2Vib29rOiB7XG4gICAgQ29tcG9uZW50OiBGYWNlYm9vayxcbiAgfSxcbiAgZ3E6IHtcbiAgICBDb21wb25lbnQ6IEdRLFxuICB9LFxuICBpcm9ubmE6IHtcbiAgICBDb21wb25lbnQ6IElyb25uYSxcbiAgfSxcbiAgJ2phcGFuLWZvcndhcmQnOiB7XG4gICAgQ29tcG9uZW50OiBKYXBhbkZvcndhcmQsXG4gIH0sXG4gIGxpbmU6IHtcbiAgICBDb21wb25lbnQ6IExpbmUsXG4gIH0sXG4gIGxvY2s6IHtcbiAgICBDb21wb25lbnQ6IExvY2ssXG4gIH0sXG4gIHNhbmtlaToge1xuICAgIENvbXBvbmVudDogU2Fua2VpLFxuICB9LFxuICBtZW1iZXI6IHtcbiAgICBDb21wb25lbnQ6IE1lbWJlcixcbiAgfSxcbiAgc2VhcmNoOiB7XG4gICAgQ29tcG9uZW50OiBTZWFyY2gsXG4gIH0sXG4gIHRpbWVzOiB7XG4gICAgQ29tcG9uZW50OiBUaW1lcyxcbiAgfSxcbiAgdHdpdHRlcjoge1xuICAgIENvbXBvbmVudDogVHdpdHRlcixcbiAgfSxcbiAgeW91dHViZToge1xuICAgIENvbXBvbmVudDogWW91dHViZSxcbiAgfSxcbiAgd2lyZWQ6IHtcbiAgICBDb21wb25lbnQ6IFdpcmVkLFxuICB9LFxuICBzYW5rZWlzeW86IHtcbiAgICBDb21wb25lbnQ6IFNhbmtlaXN5byxcbiAgfSxcbiAgbmFuaXdhOiB7XG4gICAgQ29tcG9uZW50OiBOYW5pd2EsXG4gIH0sXG4gIHNlaXJvbjoge1xuICAgIENvbXBvbmVudDogU2Vpcm9uLFxuICB9LFxufTtcblxuY29uc3QgSWNvbiA9ICh7IG5hbWUsIC4uLnByb3BzIH0pID0+IHtcbiAgaWYgKGljb25zW25hbWVdKSB7XG4gICAgY29uc3QgeyBDb21wb25lbnQgfSA9IGljb25zW25hbWVdO1xuICAgIHJldHVybiA8Q29tcG9uZW50IHsgLi4ucHJvcHMgfSAvPjtcbiAgfVxuXG4gIHJldHVybiBuYW1lO1xufTtcblxuSWNvbi5wcm9wVHlwZXMgPSB7XG4gIG5hbWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbn07XG5cbkJhcnMucHJvcFR5cGVzID0ge1xuICBmaWxsQ29sb3I6IFByb3BUeXBlcy5zdHJpbmcsXG59O1xuXG5Cb3JkZXJBcnJvd0xlZnQucHJvcFR5cGVzID0ge1xuICBmaWxsQ29sb3I6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGJhY2tncm91bmRDb2xvcjogUHJvcFR5cGVzLnN0cmluZyxcbiAgc3Ryb2tlQ29sb3I6IFByb3BUeXBlcy5zdHJpbmcsXG59O1xuXG5Cb3JkZXJBcnJvd1JpZ2h0LnByb3BUeXBlcyA9IHtcbiAgZmlsbENvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBiYWNrZ3JvdW5kQ29sb3I6IFByb3BUeXBlcy5zdHJpbmcsXG4gIHN0cm9rZUNvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuRmFjZWJvb2sucHJvcFR5cGVzID0ge1xuICBmaWxsQ29sb3I6IFByb3BUeXBlcy5zdHJpbmcsXG59O1xuXG5DaGV2cm9uLnByb3BUeXBlcyA9IHtcbiAgZmlsbENvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuQ2hldnJvblVwLnByb3BUeXBlcyA9IHtcbiAgZmlsbENvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuQ2hldnJvbkRvd24ucHJvcFR5cGVzID0ge1xuICBmaWxsQ29sb3I6IFByb3BUeXBlcy5zdHJpbmcsXG59O1xuXG5DaGV2cm9uUmlnaHQucHJvcFR5cGVzID0ge1xuICBmaWxsQ29sb3I6IFByb3BUeXBlcy5zdHJpbmcsXG59O1xuXG5Mb2NrLnByb3BUeXBlcyA9IHtcbiAgZmlsbENvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuSXJvbm5hLnByb3BUeXBlcyA9IHtcbiAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuU2Fua2Vpc3lvLnByb3BUeXBlcyA9IHtcbiAgZmlsbENvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuTmFuaXdhLnByb3BUeXBlcyA9IHtcbiAgZmlsbENvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuU2Vpcm9uLnByb3BUeXBlcyA9IHtcbiAgZmlsbENvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgSWNvbjtcbiJdfQ==
|
|
309
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVua25vd24iXSwibmFtZXMiOlsiSWNvbkltZyIsIm5hbWUiLCJwcm9wcyIsImNvbnRleHRQYXRoIiwiZGVwbG95bWVudCIsIkJhcnMiLCJmaWxsQ29sb3IiLCJCb3JkZXJBcnJvd0xlZnQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJzdHJva2VDb2xvciIsIkJvcmRlckFycm93UmlnaHQiLCJDaGV2cm9uIiwiQ2hldnJvblVwIiwiQ2hldnJvbkRvd24iLCJDaGV2cm9uUmlnaHQiLCJMb2NrIiwiU2VhcmNoIiwiVGltZXMiLCJTSVRFX0tFWVMiLCJpY29ucyIsImJhcnMiLCJDb21wb25lbnQiLCJjaGV2cm9uIiwibG9jayIsInNlYXJjaCIsInRpbWVzIiwicmVkdWNlIiwiYWNjIiwiY3VyIiwiSWNvbiIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInN0cmluZyIsImlzUmVxdWlyZWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOzs7Ozs7QUFFQSxJQUFNQSxPQUFPLEdBQUcsU0FBVkEsT0FBVSxDQUFDQyxJQUFEO0FBQUEsU0FBVSxVQUFDQyxLQUFELEVBQVc7QUFBQSw0QkFDQyxzQ0FERDtBQUFBLFFBQzNCQyxXQUQyQixxQkFDM0JBLFdBRDJCO0FBQUEsUUFDZEMsVUFEYyxxQkFDZEEsVUFEYzs7QUFFbkMsd0JBQU8scUVBQVNGLEtBQVQ7QUFBZ0IsTUFBQSxHQUFHLEVBQUVFLFVBQVUsV0FBSUQsV0FBSiw4QkFBbUNGLElBQW5DO0FBQS9CLE9BQVA7QUFDRCxHQUhlO0FBQUEsQ0FBaEI7O0FBS0EsSUFBTUksSUFBSSxHQUFHLFNBQVBBLElBQU87QUFBQSxNQUFHQyxTQUFILFFBQUdBLFNBQUg7QUFBQSxNQUFpQkosS0FBakI7QUFBQSxzQkFDWCxxRUFBU0EsS0FBVDtBQUFnQixpQkFBVSxVQUExQjtBQUFxQyxJQUFBLEtBQUssRUFBQyw0QkFBM0M7QUFBd0UsSUFBQSxPQUFPLEVBQUM7QUFBaEYsbUJBQ0U7QUFBRyxJQUFB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UyxFQUFFeUIsc0JBQVVDO0FBREgsQ0FBcEI7QUFJQXBCLFNBQVMsQ0FBQ2tCLFNBQVYsR0FBc0I7QUFDcEJ4QixFQUFBQSxTQUFTLEVBQUV5QixzQkFBVUM7QUFERCxDQUF0QjtBQUlBbkIsV0FBVyxDQUFDaUIsU0FBWixHQUF3QjtBQUN0QnhCLEVBQUFBLFNBQVMsRUFBRXlCLHNCQUFVQztBQURDLENBQXhCO0FBSUFsQixZQUFZLENBQUNnQixTQUFiLEdBQXlCO0FBQ3ZCeEIsRUFBQUEsU0FBUyxFQUFFeUIsc0JBQVVDO0FBREUsQ0FBekI7QUFJQWpCLElBQUksQ0FBQ2UsU0FBTCxHQUFpQjtBQUNmeEIsRUFBQUEsU0FBUyxFQUFFeUIsc0JBQVVDO0FBRE4sQ0FBakI7ZUFJZUgsSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgdXNlRnVzaW9uQ29udGV4dCB9IGZyb20gJ2Z1c2lvbjpjb250ZXh0JztcblxuY29uc3QgSWNvbkltZyA9IChuYW1lKSA9PiAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBjb250ZXh0UGF0aCwgZGVwbG95bWVudCB9ID0gdXNlRnVzaW9uQ29udGV4dCgpO1xuICByZXR1cm4gPGltZyB7Li4ucHJvcHN9IHNyYz17ZGVwbG95bWVudChgJHtjb250ZXh0UGF0aH0vcmVzb3VyY2VzL2ljb25zLyR7bmFtZX0uc3ZnYCl9IC8+O1xufTtcblxuY29uc3QgQmFycyA9ICh7IGZpbGxDb2xvciwgLi4ucHJvcHMgfSkgPT4gKFxuICA8c3ZnIHsuLi5wcm9wc30gZGF0YS1uYW1lPVwiR3JvdXAgMTZcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAzMiAzMlwiPlxuICAgIDxnIGZpbGw9e2ZpbGxDb2xvciB8fCAnIzk5OSd9PlxuICAgICAgPHBhdGggZGF0YS1uYW1lPVwiRmlsbCAxXCIgZD1cIk0wIDIuNjdoMzJWMEgwelwiIC8+XG4gICAgICA8cGF0aCBkYXRhLW5hbWU9XCJGaWxsIDJcIiBkPVwiTTAgMTMuMzNoMzJ2LTIuNjZIMHpcIiAvPlxuICAgICAgPHBhdGggZGF0YS1uYW1lPVwiRmlsbCAzXCIgZD1cIk0wIDI0aDMydi0yLjY3SDB6XCIgLz5cbiAgICA8L2c+XG4gIDwvc3ZnPlxuKTtcblxuY29uc3QgQm9yZGVyQXJyb3dMZWZ0ID0gKHtcbiAgZmlsbENvbG9yLCBiYWNrZ3JvdW5kQ29sb3IsIHN0cm9rZUNvbG9yLCAuLi5wcm9wc1xufSkgPT4gKFxuICA8c3ZnIHsuLi5wcm9wc30gdmlld0JveD1cIjAgMCA0NCA0NFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgIDxyZWN0IHg9XCI0My41XCIgeT1cIjQzLjVcIiB3aWR0aD1cIjQzXCIgaGVpZ2h0PVwiNDNcIiByeD1cIjMuNVwiIHRyYW5zZm9ybT1cInJvdGF0ZSgtMTgwIDQzLjUgNDMuNSlcIiBmaWxsPXtiYWNrZ3JvdW5kQ29sb3IgfHwgJ3doaXRlJ30gc3Ryb2tlPXtzdHJva2VDb2xvciB8fCAnbm9uZSd9IC8+XG4gICAgPHBhdGggZD1cIk0yNCAyOEwyNS40MSAyNi41OUwyMC44MyAyMkwyNS40MSAxNy40MUwyNCAxNkwxOCAyMkwyNCAyOFpcIiBmaWxsPXtmaWxsQ29sb3IgfHwgJyMwNjUxN0InfSAvPlxuICA8L3N2Zz5cbik7XG5cbmNvbnN0IEJvcmRlckFycm93UmlnaHQgPSAoe1xuICBmaWxsQ29sb3IsIGJhY2tncm91bmRDb2xvciwgc3Ryb2tlQ29sb3IsIC4uLnByb3BzXG59KSA9PiAoXG4gIDxzdmcgey4uLnByb3BzfSB2aWV3Qm94PVwiMCAwIDQ0IDQ0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgPHJlY3QgeD1cIjAuNVwiIHk9XCIwLjVcIiB3aWR0aD1cIjQzXCIgaGVpZ2h0PVwiNDNcIiByeD1cIjMuNVwiIGZpbGw9e2JhY2tncm91bmRDb2xvciB8fCAnd2hpdGUnfSBzdHJva2U9e3N0cm9rZUNvbG9yIHx8ICdub25lJ30gLz5cbiAgICA8cGF0aCBkPVwiTTIwIDE2TDE4LjU5IDE3LjQxTDIzLjE3IDIyTDE4LjU5IDI2LjU5TDIwIDI4TDI2IDIyTDIwIDE2WlwiIGZpbGw9e2ZpbGxDb2xvciB8fCAnIzA2NTE3Qid9IC8+XG4gIDwvc3ZnPlxuKTtcblxuY29uc3QgQ2hldnJvbiA9ICh7IGZpbGxDb2xvciwgLi4ucHJvcHMgfSkgPT4gKFxuICA8c3ZnIHsuLi5wcm9wc30gZGF0YS1uYW1lPVwiR3JvdXAgMTZcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAzMiAzMlwiID5cbiAgICA8cGF0aCBkYXRhLW5hbWU9XCJGaWxsIDFcIiBkPVwiTTAgMzJoMzJWMEgwelwiIGZpbGw9XCIjZmZmXCIgLz5cbiAgICA8cGF0aCBkYXRhLW5hbWU9XCJGaWxsIDJcIiBkPVwiTTEzLjIzIDE2bDcuMDctNy4wN2ExIDEgMCAwMDAtMS40MWwtLjctLjcxYTEgMSAwIDAwLTEuNDIgMEw5LjcgMTUuMjlhMSAxIDAgMDAwIDEuNDJsOC40OCA4LjQ4YTEgMSAwIDAwMS40MiAwbC43LS43YTEgMSAwIDAwMC0xLjQyelwiIGZpbGw9e2ZpbGxDb2xvciB8fCAnIzk5OSd9IC8+XG4gIDwvc3ZnPlxuKTtcblxuY29uc3QgQ2hldnJvblVwID0gKHsgZmlsbENvbG9yLCAuLi5wcm9wcyB9KSA9PiAoXG4gIDxzdmcgey4uLnByb3BzfSBkYXRhLW5hbWU9XCJHcm91cCAxNlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDMyIDMyXCI+XG4gICAgPHBhdGggZGF0YS1uYW1lPVwiRmlsbCAxXCIgZD1cIk0zMiAzMlYwSDB2MzJ6XCIgZmlsbD1cIiNmZmZcIiAvPlxuICAgIDxwYXRoIGRhdGEtbmFtZT1cIkZpbGwgMlwiIGQ9XCJNMTYgMTMuMjNsNy4wNyA3LjA3YTEgMSAwIDAwMS40MiAwbC43LS43YTEgMSAwIDAwMC0xLjQyTDE2LjcxIDkuN2ExIDEgMCAwMC0xLjQyIDBsLTguNDggOC40OGExIDEgMCAwMDAgMS40MmwuNy43YTEgMSAwIDAwMS40MiAwelwiIGZpbGw9e2ZpbGxDb2xvciB8fCAnIzA2NTE3Yid9IC8+XG4gIDwvc3ZnPlxuKTtcblxuY29uc3QgQ2hldnJvbkRvd24gPSAoeyBmaWxsQ29sb3IsIC4uLnByb3BzIH0pID0+IChcbiAgPHN2ZyB7Li4ucHJvcHN9IGRhdGEtbmFtZT1cIkdyb3VwIDE2XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIj5cbiAgICA8cGF0aCBkYXRhLW5hbWU9XCJGaWxsIDFcIiBkPVwiTTAgMzJoMzJWMEgwelwiIGZpbGw9XCIjZmZmXCIgLz5cbiAgICA8cGF0aCBkYXRhLW5hbWU9XCJGaWxsIDJcIiBkPVwiTTE2IDE4Ljc3TDguOTMgMTEuN2ExIDEgMCAwMC0xLjQxIDBsLS43MS43YTEgMSAwIDAwMCAxLjQybDguNDggOC40OGExIDEgMCAwMDEuNDIgMGw4LjQ4LTguNDhhMSAxIDAgMDAwLTEuNDFsLS43LS43MWExIDEgMCAwMC0xLjQyIDB6XCIgZmlsbD17ZmlsbENvbG9yIHx8ICcjMDY1MTdiJ30gLz5cbiAgPC9zdmc+XG4pO1xuXG5jb25zdCBDaGV2cm9uUmlnaHQgPSAoeyBmaWxsQ29sb3IsIC4uLnByb3BzIH0pID0+IChcbiAgPHN2ZyB7Li4ucHJvcHN9IGRhdGEtbmFtZT1cIkdyb3VwIDE2XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIj5cbiAgICA8cGF0aCBkYXRhLW5hbWU9XCJGaWxsIDFcIiBkPVwiTTAgMzJoMzJWMEgwelwiIGZpbGw9XCIjZmZmXCIgLz5cbiAgICA8cGF0aCBkYXRhLW5hbWU9XCJGaWxsIDJcIiBkPVwiTTE4Ljc3IDE2bC03LjA3IDcuMDdhMSAxIDAgMDAwIDEuNDJsLjcuN2ExIDEgMCAwMDEuNDIgMGw4LjQ4LTguNDhhMSAxIDAgMDAwLTEuNDJsLTguNDgtOC40OGExIDEgMCAwMC0xLjQyIDBsLS43LjdhMSAxIDAgMDAwIDEuNDJ6XCIgZmlsbD17ZmlsbENvbG9yIHx8ICcjMDY1MTdiJ30gLz5cbiAgPC9zdmc+XG4pO1xuXG5jb25zdCBMb2NrID0gKHsgZmlsbENvbG9yLCAuLi5wcm9wcyB9KSA9PiAoXG4gIDxzdmcgey4uLnByb3BzfSB2aWV3Qm94PVwiMCAwIDE5IDE2XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgIDxwYXRoIGQ9XCJNMTguMzksMTZIMy42MUEuNjEuNjEsMCwwLDEsMywxNS4zOVYuNjFBLjYxLjYxLDAsMCwxLDMuNjEsMEgxOC4zOUEuNjEuNjEsMCwwLDEsMTksLjYxVjE1LjM5YS42MS42MSwwLDAsMS0uNjEuNjFcIiBmaWxsPXtmaWxsQ29sb3IgfHwgJyNkYmI0MDAnfSAvPlxuICAgIDxwYXRoIGQ9XCJNMTQuNzIsNy41MUg3LjI4YS44My44MywwLDAsMC0uODMuODN2NC45MmExLjQzLDEuNDMsMCwwLDAsMS40MywxLjQzaDYuMjRhMS40MywxLjQzLDAsMCwwLDEuNDMtMS40M1Y4LjM0YS44My44MywwLDAsMC0uODMtLjgzWm0tMi42Nyw1LjMzYS4yNC4yNCwwLDAsMS0uMTguMjlIMTAuMThhLjI0LjI0LDAsMCwxLS4yNC0uMjQuMTMuMTMsMCwwLDEsMC0uMDZsLjQxLTEuNzNhMS4xMywxLjEzLDAsMSwxLDEuNTctLjI5LDEuMzMsMS4zMywwLDAsMS0uMjkuMjlaXCIgZmlsbD1cIiNmZmZcIiAvPlxuICAgIDxwYXRoIGQ9XCJNMTQuNzEsNi45NGgtMS42VjUuMDhhMi4xNiwyLjE2LDAsMCwwLTQuMzIsMFY2Ljk0SDcuMTlWNS4wOGEzLjc2LDMuNzYsMCwxLDEsNy41MiwwWlwiIGZpbGw9XCIjZmZmXCIgLz5cbiAgPC9zdmc+XG4pO1xuXG5jb25zdCBTZWFyY2ggPSAocHJvcHMpID0+IChcbiAgPHN2ZyB7Li4ucHJvcHN9IHZpZXdCb3g9XCIwIDAgMzIgMzJcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgPGcgZGF0YS1uYW1lPVwiR3JvdXAgM1wiPlxuICAgICAgPHBhdGggZGF0YS1uYW1lPVwiQ2xpcCAyXCIgZD1cIk0wIDBoMzJ2MzJIMHpcIiBmaWxsPVwibm9uZVwiIC8+XG4gICAgICA8ZyBkYXRhLW5hbWU9XCJHcm91cCAzXCI+XG4gICAgICAgIDxwYXRoIGRhdGEtbmFtZT1cIkZpbGwgMVwiIGQ9XCJNMzAgMzJhMS45OSAxLjk5IDAgMDEtMS40MS0uNTlsLTcuOTMtNy45MkExMi45OSAxMi45OSAwIDAxMCAxM2ExMyAxMyAwIDAxMjIuMi05LjIgMTIuOTcgMTIuOTcgMCAwMTEuMjkgMTYuODZsNy45MiA3LjkzQTIgMiAwIDAxMzAgMzJ6TTEzIDRhOSA5IDAgMTA5IDkgOS4wMSA5LjAxIDAgMDAtOS05elwiIGZpbGw9XCIjOTk5XCIgLz5cbiAgICAgIDwvZz5cbiAgICA8L2c+XG4gIDwvc3ZnPlxuKTtcblxuY29uc3QgVGltZXMgPSAocHJvcHMpID0+IChcbiAgPHN2ZyB7Li4ucHJvcHN9IHZpZXdCb3g9XCIwIDAgMzUyIDUxMlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICA8cGF0aCBkPVwiTTI0Mi43MiAyNTZsMTAwLjA3LTEwMC4wN2EzMS40NiAzMS40NiAwIDAwMC00NC40OGwtMjIuMjQtMjIuMjRhMzEuNDYgMzEuNDYgMCAwMC00NC40OCAwTDE3NiAxODkuMjggNzUuOTMgODkuMjFhMzEuNDYgMzEuNDYgMCAwMC00NC40OCAwTDkuMjEgMTExLjQ1YTMxLjQ2IDMxLjQ2IDAgMDAwIDQ0LjQ4TDEwOS4yOCAyNTYgOS4yMSAzNTYuMDdhMzEuNDYgMzEuNDYgMCAwMDAgNDQuNDhsMjIuMjQgMjIuMjRhMzEuNDYgMzEuNDYgMCAwMDQ0LjQ4IDBMMTc2IDMyMi43MmwxMDAuMDcgMTAwLjA3YTMxLjQ2IDMxLjQ2IDAgMDA0NC40OCAwbDIyLjI0LTIyLjI0YTMxLjQ2IDMxLjQ2IDAgMDAwLTQ0LjQ4TDI0Mi43MiAyNTZ6XCIgLz5cbiAgPC9zdmc+XG4pO1xuXG5leHBvcnQgY29uc3QgU0lURV9LRVlTID0gW1xuICAnZmFjZWJvb2snLFxuICAnZ3EnLFxuICAnaXJvbm5hJyxcbiAgJ2phcGFuLWZvcndhcmQnLFxuICAnbGluZScsXG4gICdzYW5rZWknLFxuICAnbWVtYmVyJyxcbiAgJ3R3aXR0ZXInLFxuICAneW91dHViZScsXG4gICd3aXJlZCcsXG4gICdzYW5rZWlzeW8nLFxuICAnbmFuaXdhJyxcbiAgJ3NlaXJvbicsXG4gICdpbnN0YWdyYW0nLFxuXTtcblxuY29uc3QgaWNvbnMgPSB7XG4gIGJhcnM6IHtcbiAgICBDb21wb25lbnQ6IEJhcnMsXG4gIH0sXG4gICdib3JkZXItYXJyb3ctbGVmdCc6IHtcbiAgICBDb21wb25lbnQ6IEJvcmRlckFycm93TGVmdCxcbiAgfSxcbiAgJ2JvcmRlci1hcnJvdy1yaWdodCc6IHtcbiAgICBDb21wb25lbnQ6IEJvcmRlckFycm93UmlnaHQsXG4gIH0sXG4gIGNoZXZyb246IHtcbiAgICBDb21wb25lbnQ6IENoZXZyb24sXG4gIH0sXG4gICdjaGV2cm9uLXVwJzoge1xuICAgIENvbXBvbmVudDogQ2hldnJvblVwLFxuICB9LFxuICAnY2hldnJvbi1kb3duJzoge1xuICAgIENvbXBvbmVudDogQ2hldnJvbkRvd24sXG4gIH0sXG4gICdjaGV2cm9uLXJpZ2h0Jzoge1xuICAgIENvbXBvbmVudDogQ2hldnJvblJpZ2h0LFxuICB9LFxuICBsb2NrOiB7XG4gICAgQ29tcG9uZW50OiBMb2NrLFxuICB9LFxuICBzZWFyY2g6IHtcbiAgICBDb21wb25lbnQ6IFNlYXJjaCxcbiAgfSxcbiAgdGltZXM6IHtcbiAgICBDb21wb25lbnQ6IFRpbWVzLFxuICB9LFxuICAuLi5TSVRFX0tFWVMucmVkdWNlKChhY2MsIGN1cikgPT4gKFxuICAgIHsgLi4uYWNjLCBbY3VyXTogeyBDb21wb25lbnQ6IEljb25JbWcoY3VyKSB9IH1cbiAgKSwge30pLFxufTtcblxuY29uc3QgSWNvbiA9ICh7IG5hbWUsIC4uLnByb3BzIH0pID0+IHtcbiAgaWYgKHR5cGVvZiBpY29uc1tuYW1lXSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBjb25zdCB7IENvbXBvbmVudCB9ID0gaWNvbnNbbmFtZV07XG4gICAgcmV0dXJuIDxDb21wb25lbnQgey4uLnByb3BzfSAvPjtcbiAgfVxuXG4gIHJldHVybiBuYW1lO1xufTtcblxuSWNvbi5wcm9wVHlwZXMgPSB7XG4gIG5hbWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbn07XG5cbkJhcnMucHJvcFR5cGVzID0ge1xuICBmaWxsQ29sb3I6IFByb3BUeXBlcy5zdHJpbmcsXG59O1xuXG5Cb3JkZXJBcnJvd0xlZnQucHJvcFR5cGVzID0ge1xuICBmaWxsQ29sb3I6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGJhY2tncm91bmRDb2xvcjogUHJvcFR5cGVzLnN0cmluZyxcbiAgc3Ryb2tlQ29sb3I6IFByb3BUeXBlcy5zdHJpbmcsXG59O1xuXG5Cb3JkZXJBcnJvd1JpZ2h0LnByb3BUeXBlcyA9IHtcbiAgZmlsbENvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBiYWNrZ3JvdW5kQ29sb3I6IFByb3BUeXBlcy5zdHJpbmcsXG4gIHN0cm9rZUNvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuQ2hldnJvbi5wcm9wVHlwZXMgPSB7XG4gIGZpbGxDb2xvcjogUHJvcFR5cGVzLnN0cmluZyxcbn07XG5cbkNoZXZyb25VcC5wcm9wVHlwZXMgPSB7XG4gIGZpbGxDb2xvcjogUHJvcFR5cGVzLnN0cmluZyxcbn07XG5cbkNoZXZyb25Eb3duLnByb3BUeXBlcyA9IHtcbiAgZmlsbENvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuQ2hldnJvblJpZ2h0LnByb3BUeXBlcyA9IHtcbiAgZmlsbENvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuTG9jay5wcm9wVHlwZXMgPSB7XG4gIGZpbGxDb2xvcjogUHJvcFR5cGVzLnN0cmluZyxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEljb247XG4iXX0=
|
package/package.json
CHANGED
package/src/index.js
CHANGED
|
@@ -2,77 +2,17 @@ import React from 'react';
|
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import { useFusionContext } from 'fusion:context';
|
|
4
4
|
|
|
5
|
-
const
|
|
5
|
+
const IconImg = (name) => (props) => {
|
|
6
6
|
const { contextPath, deployment } = useFusionContext();
|
|
7
|
-
return <img {
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
const Ironna = (props) => {
|
|
11
|
-
const { contextPath, deployment } = useFusionContext();
|
|
12
|
-
return <img { ...props } src={deployment(`${contextPath}/resources/icons/ironna.svg`)} />;
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
const JapanForward = (props) => {
|
|
16
|
-
const { contextPath, deployment } = useFusionContext();
|
|
17
|
-
return <img { ...props } src={deployment(`${contextPath}/resources/icons/japanforward.svg`)} />;
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
const Sankei = (props) => {
|
|
21
|
-
const { contextPath, deployment } = useFusionContext();
|
|
22
|
-
return <img { ...props } src={deployment(`${contextPath}/resources/icons/sankei.svg`)} />;
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
const Member = (props) => {
|
|
26
|
-
const { contextPath, deployment } = useFusionContext();
|
|
27
|
-
return <img { ...props } src={deployment(`${contextPath}/resources/icons/member.svg`)} />;
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
const Naniwa = (props) => {
|
|
31
|
-
const { contextPath, deployment } = useFusionContext();
|
|
32
|
-
return <img { ...props } src={deployment(`${contextPath}/resources/icons/naniwa.svg`)} />;
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
const Sankeisyo = (props) => {
|
|
36
|
-
const { contextPath, deployment } = useFusionContext();
|
|
37
|
-
return <img { ...props } src={deployment(`${contextPath}/resources/icons/sankeisyo.svg`)} />;
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
const Seiron = (props) => {
|
|
41
|
-
const { contextPath, deployment } = useFusionContext();
|
|
42
|
-
return <img { ...props } src={deployment(`${contextPath}/resources/icons/seiron.svg`)} />;
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
const Wired = (props) => {
|
|
46
|
-
const { contextPath, deployment } = useFusionContext();
|
|
47
|
-
return <img { ...props } src={deployment(`${contextPath}/resources/icons/wired.svg`)} />;
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
const Facebook = ({ fillColor, ...props }) => {
|
|
51
|
-
const { contextPath, deployment } = useFusionContext();
|
|
52
|
-
return <img { ...props } src={deployment(`${contextPath}/resources/icons/facebook.svg`)} />;
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
const Line = (props) => {
|
|
56
|
-
const { contextPath, deployment } = useFusionContext();
|
|
57
|
-
return <img { ...props } src={deployment(`${contextPath}/resources/icons/line.svg`)} />;
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
const Twitter = (props) => {
|
|
61
|
-
const { contextPath, deployment } = useFusionContext();
|
|
62
|
-
return <img { ...props } src={deployment(`${contextPath}/resources/icons/twitter.svg`)} />;
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
const Youtube = (props) => {
|
|
66
|
-
const { contextPath, deployment } = useFusionContext();
|
|
67
|
-
return <img { ...props } src={deployment(`${contextPath}/resources/icons/youtube.svg`)} />;
|
|
7
|
+
return <img {...props} src={deployment(`${contextPath}/resources/icons/${name}.svg`)} />;
|
|
68
8
|
};
|
|
69
9
|
|
|
70
10
|
const Bars = ({ fillColor, ...props }) => (
|
|
71
|
-
<svg {
|
|
11
|
+
<svg {...props} data-name="Group 16" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
|
|
72
12
|
<g fill={fillColor || '#999'}>
|
|
73
|
-
<path data-name="Fill 1" d="M0 2.67h32V0H0z"/>
|
|
74
|
-
<path data-name="Fill 2" d="M0 13.33h32v-2.66H0z"/>
|
|
75
|
-
<path data-name="Fill 3" d="M0 24h32v-2.67H0z"/>
|
|
13
|
+
<path data-name="Fill 1" d="M0 2.67h32V0H0z" />
|
|
14
|
+
<path data-name="Fill 2" d="M0 13.33h32v-2.66H0z" />
|
|
15
|
+
<path data-name="Fill 3" d="M0 24h32v-2.67H0z" />
|
|
76
16
|
</g>
|
|
77
17
|
</svg>
|
|
78
18
|
);
|
|
@@ -80,74 +20,91 @@ const Bars = ({ fillColor, ...props }) => (
|
|
|
80
20
|
const BorderArrowLeft = ({
|
|
81
21
|
fillColor, backgroundColor, strokeColor, ...props
|
|
82
22
|
}) => (
|
|
83
|
-
<svg {
|
|
84
|
-
<rect x="43.5" y="43.5" width="43" height="43" rx="3.5" transform="rotate(-180 43.5 43.5)" fill={backgroundColor || 'white'} stroke={strokeColor || 'none'}/>
|
|
85
|
-
<path d="M24 28L25.41 26.59L20.83 22L25.41 17.41L24 16L18 22L24 28Z" fill={fillColor || '#06517B'}/>
|
|
23
|
+
<svg {...props} viewBox="0 0 44 44" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
24
|
+
<rect x="43.5" y="43.5" width="43" height="43" rx="3.5" transform="rotate(-180 43.5 43.5)" fill={backgroundColor || 'white'} stroke={strokeColor || 'none'} />
|
|
25
|
+
<path d="M24 28L25.41 26.59L20.83 22L25.41 17.41L24 16L18 22L24 28Z" fill={fillColor || '#06517B'} />
|
|
86
26
|
</svg>
|
|
87
27
|
);
|
|
88
28
|
|
|
89
29
|
const BorderArrowRight = ({
|
|
90
30
|
fillColor, backgroundColor, strokeColor, ...props
|
|
91
31
|
}) => (
|
|
92
|
-
<svg {
|
|
93
|
-
<rect x="0.5" y="0.5" width="43" height="43" rx="3.5" fill={backgroundColor || 'white'} stroke={strokeColor || 'none'}/>
|
|
94
|
-
<path d="M20 16L18.59 17.41L23.17 22L18.59 26.59L20 28L26 22L20 16Z" fill={fillColor || '#06517B'}/>
|
|
32
|
+
<svg {...props} viewBox="0 0 44 44" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
33
|
+
<rect x="0.5" y="0.5" width="43" height="43" rx="3.5" fill={backgroundColor || 'white'} stroke={strokeColor || 'none'} />
|
|
34
|
+
<path d="M20 16L18.59 17.41L23.17 22L18.59 26.59L20 28L26 22L20 16Z" fill={fillColor || '#06517B'} />
|
|
95
35
|
</svg>
|
|
96
36
|
);
|
|
97
37
|
|
|
98
38
|
const Chevron = ({ fillColor, ...props }) => (
|
|
99
|
-
<svg {
|
|
100
|
-
<path data-name="Fill 1" d="M0 32h32V0H0z" fill="#fff"/>
|
|
101
|
-
<path data-name="Fill 2" d="M13.23 16l7.07-7.07a1 1 0 000-1.41l-.7-.71a1 1 0 00-1.42 0L9.7 15.29a1 1 0 000 1.42l8.48 8.48a1 1 0 001.42 0l.7-.7a1 1 0 000-1.42z" fill={fillColor || '#999'}/>
|
|
39
|
+
<svg {...props} data-name="Group 16" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" >
|
|
40
|
+
<path data-name="Fill 1" d="M0 32h32V0H0z" fill="#fff" />
|
|
41
|
+
<path data-name="Fill 2" d="M13.23 16l7.07-7.07a1 1 0 000-1.41l-.7-.71a1 1 0 00-1.42 0L9.7 15.29a1 1 0 000 1.42l8.48 8.48a1 1 0 001.42 0l.7-.7a1 1 0 000-1.42z" fill={fillColor || '#999'} />
|
|
102
42
|
</svg>
|
|
103
43
|
);
|
|
104
44
|
|
|
105
45
|
const ChevronUp = ({ fillColor, ...props }) => (
|
|
106
|
-
<svg {
|
|
107
|
-
<path data-name="Fill 1" d="M32 32V0H0v32z" fill="#fff"/>
|
|
46
|
+
<svg {...props} data-name="Group 16" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
|
|
47
|
+
<path data-name="Fill 1" d="M32 32V0H0v32z" fill="#fff" />
|
|
108
48
|
<path data-name="Fill 2" d="M16 13.23l7.07 7.07a1 1 0 001.42 0l.7-.7a1 1 0 000-1.42L16.71 9.7a1 1 0 00-1.42 0l-8.48 8.48a1 1 0 000 1.42l.7.7a1 1 0 001.42 0z" fill={fillColor || '#06517b'} />
|
|
109
49
|
</svg>
|
|
110
50
|
);
|
|
111
51
|
|
|
112
52
|
const ChevronDown = ({ fillColor, ...props }) => (
|
|
113
|
-
<svg {
|
|
53
|
+
<svg {...props} data-name="Group 16" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
|
|
114
54
|
<path data-name="Fill 1" d="M0 32h32V0H0z" fill="#fff" />
|
|
115
55
|
<path data-name="Fill 2" d="M16 18.77L8.93 11.7a1 1 0 00-1.41 0l-.71.7a1 1 0 000 1.42l8.48 8.48a1 1 0 001.42 0l8.48-8.48a1 1 0 000-1.41l-.7-.71a1 1 0 00-1.42 0z" fill={fillColor || '#06517b'} />
|
|
116
56
|
</svg>
|
|
117
57
|
);
|
|
118
58
|
|
|
119
59
|
const ChevronRight = ({ fillColor, ...props }) => (
|
|
120
|
-
<svg {
|
|
121
|
-
<path data-name="Fill 1" d="M0 32h32V0H0z" fill="#fff"/>
|
|
122
|
-
<path data-name="Fill 2" d="M18.77 16l-7.07 7.07a1 1 0 000 1.42l.7.7a1 1 0 001.42 0l8.48-8.48a1 1 0 000-1.42l-8.48-8.48a1 1 0 00-1.42 0l-.7.7a1 1 0 000 1.42z" fill={fillColor || '#06517b'}/>
|
|
60
|
+
<svg {...props} data-name="Group 16" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
|
|
61
|
+
<path data-name="Fill 1" d="M0 32h32V0H0z" fill="#fff" />
|
|
62
|
+
<path data-name="Fill 2" d="M18.77 16l-7.07 7.07a1 1 0 000 1.42l.7.7a1 1 0 001.42 0l8.48-8.48a1 1 0 000-1.42l-8.48-8.48a1 1 0 00-1.42 0l-.7.7a1 1 0 000 1.42z" fill={fillColor || '#06517b'} />
|
|
123
63
|
</svg>
|
|
124
64
|
);
|
|
125
65
|
|
|
126
66
|
const Lock = ({ fillColor, ...props }) => (
|
|
127
|
-
<svg {
|
|
128
|
-
<path d="M18.39,16H3.61A.61.61,0,0,1,3,15.39V.61A.61.61,0,0,1,3.61,0H18.39A.61.61,0,0,1,19,.61V15.39a.61.61,0,0,1-.61.61" fill={fillColor || '#dbb400'}/>
|
|
129
|
-
<path d="M14.72,7.51H7.28a.83.83,0,0,0-.83.83v4.92a1.43,1.43,0,0,0,1.43,1.43h6.24a1.43,1.43,0,0,0,1.43-1.43V8.34a.83.83,0,0,0-.83-.83Zm-2.67,5.33a.24.24,0,0,1-.18.29H10.18a.24.24,0,0,1-.24-.24.13.13,0,0,1,0-.06l.41-1.73a1.13,1.13,0,1,1,1.57-.29,1.33,1.33,0,0,1-.29.29Z" fill="#fff"/>
|
|
130
|
-
<path d="M14.71,6.94h-1.6V5.08a2.16,2.16,0,0,0-4.32,0V6.94H7.19V5.08a3.76,3.76,0,1,1,7.52,0Z" fill="#fff"/>
|
|
67
|
+
<svg {...props} viewBox="0 0 19 16" xmlns="http://www.w3.org/2000/svg">
|
|
68
|
+
<path d="M18.39,16H3.61A.61.61,0,0,1,3,15.39V.61A.61.61,0,0,1,3.61,0H18.39A.61.61,0,0,1,19,.61V15.39a.61.61,0,0,1-.61.61" fill={fillColor || '#dbb400'} />
|
|
69
|
+
<path d="M14.72,7.51H7.28a.83.83,0,0,0-.83.83v4.92a1.43,1.43,0,0,0,1.43,1.43h6.24a1.43,1.43,0,0,0,1.43-1.43V8.34a.83.83,0,0,0-.83-.83Zm-2.67,5.33a.24.24,0,0,1-.18.29H10.18a.24.24,0,0,1-.24-.24.13.13,0,0,1,0-.06l.41-1.73a1.13,1.13,0,1,1,1.57-.29,1.33,1.33,0,0,1-.29.29Z" fill="#fff" />
|
|
70
|
+
<path d="M14.71,6.94h-1.6V5.08a2.16,2.16,0,0,0-4.32,0V6.94H7.19V5.08a3.76,3.76,0,1,1,7.52,0Z" fill="#fff" />
|
|
131
71
|
</svg>
|
|
132
72
|
);
|
|
133
73
|
|
|
134
74
|
const Search = (props) => (
|
|
135
|
-
<svg {
|
|
75
|
+
<svg {...props} viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
|
|
136
76
|
<g data-name="Group 3">
|
|
137
|
-
<path data-name="Clip 2" d="M0 0h32v32H0z" fill="none"/>
|
|
77
|
+
<path data-name="Clip 2" d="M0 0h32v32H0z" fill="none" />
|
|
138
78
|
<g data-name="Group 3">
|
|
139
|
-
<path data-name="Fill 1" d="M30 32a1.99 1.99 0 01-1.41-.59l-7.93-7.92A12.99 12.99 0 010 13a13 13 0 0122.2-9.2 12.97 12.97 0 011.29 16.86l7.92 7.93A2 2 0 0130 32zM13 4a9 9 0 109 9 9.01 9.01 0 00-9-9z" fill="#999"/>
|
|
79
|
+
<path data-name="Fill 1" d="M30 32a1.99 1.99 0 01-1.41-.59l-7.93-7.92A12.99 12.99 0 010 13a13 13 0 0122.2-9.2 12.97 12.97 0 011.29 16.86l7.92 7.93A2 2 0 0130 32zM13 4a9 9 0 109 9 9.01 9.01 0 00-9-9z" fill="#999" />
|
|
140
80
|
</g>
|
|
141
81
|
</g>
|
|
142
82
|
</svg>
|
|
143
83
|
);
|
|
144
84
|
|
|
145
85
|
const Times = (props) => (
|
|
146
|
-
<svg {
|
|
147
|
-
<path d="M242.72 256l100.07-100.07a31.46 31.46 0 000-44.48l-22.24-22.24a31.46 31.46 0 00-44.48 0L176 189.28 75.93 89.21a31.46 31.46 0 00-44.48 0L9.21 111.45a31.46 31.46 0 000 44.48L109.28 256 9.21 356.07a31.46 31.46 0 000 44.48l22.24 22.24a31.46 31.46 0 0044.48 0L176 322.72l100.07 100.07a31.46 31.46 0 0044.48 0l22.24-22.24a31.46 31.46 0 000-44.48L242.72 256z"/>
|
|
86
|
+
<svg {...props} viewBox="0 0 352 512" xmlns="http://www.w3.org/2000/svg">
|
|
87
|
+
<path d="M242.72 256l100.07-100.07a31.46 31.46 0 000-44.48l-22.24-22.24a31.46 31.46 0 00-44.48 0L176 189.28 75.93 89.21a31.46 31.46 0 00-44.48 0L9.21 111.45a31.46 31.46 0 000 44.48L109.28 256 9.21 356.07a31.46 31.46 0 000 44.48l22.24 22.24a31.46 31.46 0 0044.48 0L176 322.72l100.07 100.07a31.46 31.46 0 0044.48 0l22.24-22.24a31.46 31.46 0 000-44.48L242.72 256z" />
|
|
148
88
|
</svg>
|
|
149
89
|
);
|
|
150
90
|
|
|
91
|
+
export const SITE_KEYS = [
|
|
92
|
+
'facebook',
|
|
93
|
+
'gq',
|
|
94
|
+
'ironna',
|
|
95
|
+
'japan-forward',
|
|
96
|
+
'line',
|
|
97
|
+
'sankei',
|
|
98
|
+
'member',
|
|
99
|
+
'twitter',
|
|
100
|
+
'youtube',
|
|
101
|
+
'wired',
|
|
102
|
+
'sankeisyo',
|
|
103
|
+
'naniwa',
|
|
104
|
+
'seiron',
|
|
105
|
+
'instagram',
|
|
106
|
+
];
|
|
107
|
+
|
|
151
108
|
const icons = {
|
|
152
109
|
bars: {
|
|
153
110
|
Component: Bars,
|
|
@@ -170,60 +127,24 @@ const icons = {
|
|
|
170
127
|
'chevron-right': {
|
|
171
128
|
Component: ChevronRight,
|
|
172
129
|
},
|
|
173
|
-
facebook: {
|
|
174
|
-
Component: Facebook,
|
|
175
|
-
},
|
|
176
|
-
gq: {
|
|
177
|
-
Component: GQ,
|
|
178
|
-
},
|
|
179
|
-
ironna: {
|
|
180
|
-
Component: Ironna,
|
|
181
|
-
},
|
|
182
|
-
'japan-forward': {
|
|
183
|
-
Component: JapanForward,
|
|
184
|
-
},
|
|
185
|
-
line: {
|
|
186
|
-
Component: Line,
|
|
187
|
-
},
|
|
188
130
|
lock: {
|
|
189
131
|
Component: Lock,
|
|
190
132
|
},
|
|
191
|
-
sankei: {
|
|
192
|
-
Component: Sankei,
|
|
193
|
-
},
|
|
194
|
-
member: {
|
|
195
|
-
Component: Member,
|
|
196
|
-
},
|
|
197
133
|
search: {
|
|
198
134
|
Component: Search,
|
|
199
135
|
},
|
|
200
136
|
times: {
|
|
201
137
|
Component: Times,
|
|
202
138
|
},
|
|
203
|
-
|
|
204
|
-
Component:
|
|
205
|
-
},
|
|
206
|
-
youtube: {
|
|
207
|
-
Component: Youtube,
|
|
208
|
-
},
|
|
209
|
-
wired: {
|
|
210
|
-
Component: Wired,
|
|
211
|
-
},
|
|
212
|
-
sankeisyo: {
|
|
213
|
-
Component: Sankeisyo,
|
|
214
|
-
},
|
|
215
|
-
naniwa: {
|
|
216
|
-
Component: Naniwa,
|
|
217
|
-
},
|
|
218
|
-
seiron: {
|
|
219
|
-
Component: Seiron,
|
|
220
|
-
},
|
|
139
|
+
...SITE_KEYS.reduce((acc, cur) => (
|
|
140
|
+
{ ...acc, [cur]: { Component: IconImg(cur) } }
|
|
141
|
+
), {}),
|
|
221
142
|
};
|
|
222
143
|
|
|
223
144
|
const Icon = ({ name, ...props }) => {
|
|
224
|
-
if (icons[name]) {
|
|
145
|
+
if (typeof icons[name] !== 'undefined') {
|
|
225
146
|
const { Component } = icons[name];
|
|
226
|
-
return <Component {
|
|
147
|
+
return <Component {...props} />;
|
|
227
148
|
}
|
|
228
149
|
|
|
229
150
|
return name;
|
|
@@ -249,10 +170,6 @@ BorderArrowRight.propTypes = {
|
|
|
249
170
|
strokeColor: PropTypes.string,
|
|
250
171
|
};
|
|
251
172
|
|
|
252
|
-
Facebook.propTypes = {
|
|
253
|
-
fillColor: PropTypes.string,
|
|
254
|
-
};
|
|
255
|
-
|
|
256
173
|
Chevron.propTypes = {
|
|
257
174
|
fillColor: PropTypes.string,
|
|
258
175
|
};
|
|
@@ -273,20 +190,4 @@ Lock.propTypes = {
|
|
|
273
190
|
fillColor: PropTypes.string,
|
|
274
191
|
};
|
|
275
192
|
|
|
276
|
-
Ironna.propTypes = {
|
|
277
|
-
className: PropTypes.string,
|
|
278
|
-
};
|
|
279
|
-
|
|
280
|
-
Sankeisyo.propTypes = {
|
|
281
|
-
fillColor: PropTypes.string,
|
|
282
|
-
};
|
|
283
|
-
|
|
284
|
-
Naniwa.propTypes = {
|
|
285
|
-
fillColor: PropTypes.string,
|
|
286
|
-
};
|
|
287
|
-
|
|
288
|
-
Seiron.propTypes = {
|
|
289
|
-
fillColor: PropTypes.string,
|
|
290
|
-
};
|
|
291
|
-
|
|
292
193
|
export default Icon;
|
package/src/index.test.js
CHANGED
|
@@ -1,103 +1,93 @@
|
|
|
1
1
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { mount } from 'enzyme';
|
|
4
|
-
import Icon from './index';
|
|
4
|
+
import Icon, { SITE_KEYS } from './index';
|
|
5
5
|
|
|
6
6
|
describe('<Icon />', () => {
|
|
7
7
|
it('should render bars', () => {
|
|
8
|
-
const component = mount(<Icon name="bars" height="34px" width="34px"/>);
|
|
8
|
+
const component = mount(<Icon name="bars" height="34px" width="34px" />);
|
|
9
9
|
expect(component).toBeDefined();
|
|
10
10
|
});
|
|
11
11
|
it('should render border-arrow-left', () => {
|
|
12
|
-
const component = mount(<Icon name="border-arrow-left" height="34px" width="34px"/>);
|
|
12
|
+
const component = mount(<Icon name="border-arrow-left" height="34px" width="34px" />);
|
|
13
13
|
expect(component).toBeDefined();
|
|
14
14
|
});
|
|
15
15
|
it('should render border-arrow-right', () => {
|
|
16
|
-
const component = mount(<Icon name="border-arrow-right" height="34px" width="34px"/>);
|
|
16
|
+
const component = mount(<Icon name="border-arrow-right" height="34px" width="34px" />);
|
|
17
17
|
expect(component).toBeDefined();
|
|
18
18
|
});
|
|
19
19
|
it('should render chevron', () => {
|
|
20
|
-
const component = mount(<Icon name="chevron" height="34px" width="34px"/>);
|
|
20
|
+
const component = mount(<Icon name="chevron" height="34px" width="34px" />);
|
|
21
21
|
expect(component).toBeDefined();
|
|
22
22
|
});
|
|
23
23
|
it('should render chevron-up', () => {
|
|
24
|
-
const component = mount(<Icon name="chevron-up" height="34px" width="34px"/>);
|
|
24
|
+
const component = mount(<Icon name="chevron-up" height="34px" width="34px" />);
|
|
25
25
|
expect(component).toBeDefined();
|
|
26
26
|
});
|
|
27
27
|
it('should render chevron-down', () => {
|
|
28
|
-
const component = mount(<Icon name="chevron-down" height="34px" width="34px"/>);
|
|
28
|
+
const component = mount(<Icon name="chevron-down" height="34px" width="34px" />);
|
|
29
29
|
expect(component).toBeDefined();
|
|
30
30
|
});
|
|
31
31
|
it('should render chevron-right', () => {
|
|
32
|
-
const component = mount(<Icon name="chevron-right" height="34px" width="34px"/>);
|
|
33
|
-
expect(component).toBeDefined();
|
|
34
|
-
});
|
|
35
|
-
it('should render facebook', () => {
|
|
36
|
-
const component = mount(<Icon name="facebook" height="34px" width="34px"/>);
|
|
37
|
-
expect(component).toBeDefined();
|
|
38
|
-
});
|
|
39
|
-
it('should render gq', () => {
|
|
40
|
-
const component = mount(<Icon name="gq" height="34px" width="34px"/>);
|
|
41
|
-
expect(component).toBeDefined();
|
|
42
|
-
});
|
|
43
|
-
it('should render ironna', () => {
|
|
44
|
-
const component = mount(<Icon name="ironna" height="34px" width="34px"/>);
|
|
45
|
-
expect(component).toBeDefined();
|
|
46
|
-
});
|
|
47
|
-
it('should render japan-forward', () => {
|
|
48
|
-
const component = mount(<Icon name="japan-forward" height="34px" width="34px"/>);
|
|
49
|
-
expect(component).toBeDefined();
|
|
50
|
-
});
|
|
51
|
-
it('should render line', () => {
|
|
52
|
-
const component = mount(<Icon name="line" height="34px" width="34px"/>);
|
|
32
|
+
const component = mount(<Icon name="chevron-right" height="34px" width="34px" />);
|
|
53
33
|
expect(component).toBeDefined();
|
|
54
34
|
});
|
|
35
|
+
|
|
55
36
|
it('should render lock', () => {
|
|
56
|
-
const component = mount(<Icon name="lock" height="34px" width="34px"/>);
|
|
57
|
-
expect(component).toBeDefined();
|
|
58
|
-
});
|
|
59
|
-
it('should render logo', () => {
|
|
60
|
-
const component = mount(<Icon name="sankei" height="34px" width="34px"/>);
|
|
61
|
-
expect(component).toBeDefined();
|
|
62
|
-
});
|
|
63
|
-
it('should render member', () => {
|
|
64
|
-
const component = mount(<Icon name="member" height="34px" width="34px"/>);
|
|
37
|
+
const component = mount(<Icon name="lock" height="34px" width="34px" />);
|
|
65
38
|
expect(component).toBeDefined();
|
|
66
39
|
});
|
|
40
|
+
|
|
67
41
|
it('should render search', () => {
|
|
68
|
-
const component = mount(<Icon name="search" height="34px" width="34px"/>);
|
|
42
|
+
const component = mount(<Icon name="search" height="34px" width="34px" />);
|
|
69
43
|
expect(component).toBeDefined();
|
|
70
44
|
});
|
|
71
45
|
it('should render times', () => {
|
|
72
|
-
const component = mount(<Icon name="times" height="34px" width="34px"/>);
|
|
73
|
-
expect(component).toBeDefined();
|
|
74
|
-
});
|
|
75
|
-
it('should render twitter', () => {
|
|
76
|
-
const component = mount(<Icon name="twitter" height="34px" width="34px"/>);
|
|
77
|
-
expect(component).toBeDefined();
|
|
78
|
-
});
|
|
79
|
-
it('should render youtube', () => {
|
|
80
|
-
const component = mount(<Icon name="youtube" height="34px" width="34px"/>);
|
|
81
|
-
expect(component).toBeDefined();
|
|
82
|
-
});
|
|
83
|
-
it('should render wired', () => {
|
|
84
|
-
const component = mount(<Icon name="wired" height="34px" width="34px"/>);
|
|
46
|
+
const component = mount(<Icon name="times" height="34px" width="34px" />);
|
|
85
47
|
expect(component).toBeDefined();
|
|
86
48
|
});
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
49
|
+
|
|
50
|
+
it('has valid SITE_KEYS', () => {
|
|
51
|
+
const keys = [
|
|
52
|
+
'facebook',
|
|
53
|
+
'gq',
|
|
54
|
+
'ironna',
|
|
55
|
+
'japan-forward',
|
|
56
|
+
'line',
|
|
57
|
+
'sankei',
|
|
58
|
+
'member',
|
|
59
|
+
'twitter',
|
|
60
|
+
'youtube',
|
|
61
|
+
'wired',
|
|
62
|
+
'sankeisyo',
|
|
63
|
+
'naniwa',
|
|
64
|
+
'seiron',
|
|
65
|
+
'instagram',
|
|
66
|
+
];
|
|
67
|
+
expect(SITE_KEYS).toHaveLength(keys.length);
|
|
68
|
+
expect(SITE_KEYS).toMatchObject(keys);
|
|
94
69
|
});
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
70
|
+
|
|
71
|
+
SITE_KEYS.forEach((key) => {
|
|
72
|
+
it(`should render ${key}`, () => {
|
|
73
|
+
const props = {
|
|
74
|
+
name: key,
|
|
75
|
+
width: '34px',
|
|
76
|
+
height: '34px',
|
|
77
|
+
className: 'some-class',
|
|
78
|
+
};
|
|
79
|
+
const component = mount(<Icon {...props} />);
|
|
80
|
+
expect(component).toBeDefined();
|
|
81
|
+
const img = component.find('img');
|
|
82
|
+
expect(img.prop('src')).toMatch(new RegExp(`/resources/icons/${key}.svg`));
|
|
83
|
+
expect(img.prop('width')).toEqual(props.width);
|
|
84
|
+
expect(img.prop('height')).toEqual(props.height);
|
|
85
|
+
expect(img.prop('className')).toMatch(new RegExp(props.className));
|
|
86
|
+
});
|
|
98
87
|
});
|
|
88
|
+
|
|
99
89
|
it('there is no icon', () => {
|
|
100
|
-
const component = mount(<Icon name="noicon" height="34px" width="34px"/>);
|
|
90
|
+
const component = mount(<Icon name="noicon" height="34px" width="34px" />);
|
|
101
91
|
expect(component.text()).toEqual('noicon');
|
|
102
92
|
});
|
|
103
93
|
});
|