@sankei-arc-shared-components/element_icon 0.4.0 → 0.4.2
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 +66 -67
- package/package.json +1 -2
- package/src/index.js +36 -11
- package/src/index.test.js +53 -31
package/build/index.js
CHANGED
|
@@ -1,48 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports["default"] = exports.SITE_KEYS = void 0;
|
|
9
|
-
|
|
10
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
|
|
12
9
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
13
|
-
|
|
14
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
15
|
-
|
|
16
11
|
var _react = _interopRequireDefault(require("react"));
|
|
17
|
-
|
|
18
12
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
19
|
-
|
|
20
13
|
var _fusionContext = require("fusion:context");
|
|
21
|
-
|
|
22
|
-
function
|
|
23
|
-
|
|
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; }
|
|
25
|
-
|
|
14
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
15
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
26
16
|
var IconImg = function IconImg(name) {
|
|
27
17
|
return function (props) {
|
|
28
18
|
var _useFusionContext = (0, _fusionContext.useFusionContext)(),
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
19
|
+
contextPath = _useFusionContext.contextPath,
|
|
20
|
+
deployment = _useFusionContext.deployment;
|
|
32
21
|
return /*#__PURE__*/_react["default"].createElement("img", (0, _extends2["default"])({}, props, {
|
|
33
22
|
src: deployment("".concat(contextPath, "/resources/icons/").concat(name, ".svg"))
|
|
34
23
|
}));
|
|
35
24
|
};
|
|
36
25
|
};
|
|
37
|
-
|
|
38
26
|
var Bars = function Bars(_ref) {
|
|
39
27
|
var fillColor = _ref.fillColor,
|
|
40
|
-
|
|
28
|
+
alt = _ref.alt,
|
|
29
|
+
props = (0, _objectWithoutProperties2["default"])(_ref, ["fillColor", "alt"]);
|
|
41
30
|
return /*#__PURE__*/_react["default"].createElement("svg", (0, _extends2["default"])({}, props, {
|
|
42
31
|
"data-name": "Group 16",
|
|
43
32
|
xmlns: "http://www.w3.org/2000/svg",
|
|
44
33
|
viewBox: "0 0 32 32"
|
|
45
|
-
}), /*#__PURE__*/_react["default"].createElement("g", {
|
|
34
|
+
}), alt && /*#__PURE__*/_react["default"].createElement("title", null, alt), /*#__PURE__*/_react["default"].createElement("g", {
|
|
46
35
|
fill: fillColor || '#999'
|
|
47
36
|
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
48
37
|
"data-name": "Fill 1",
|
|
@@ -55,17 +44,17 @@ var Bars = function Bars(_ref) {
|
|
|
55
44
|
d: "M0 24h32v-2.67H0z"
|
|
56
45
|
})));
|
|
57
46
|
};
|
|
58
|
-
|
|
59
47
|
var BorderArrowLeft = function BorderArrowLeft(_ref2) {
|
|
60
48
|
var fillColor = _ref2.fillColor,
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
49
|
+
backgroundColor = _ref2.backgroundColor,
|
|
50
|
+
strokeColor = _ref2.strokeColor,
|
|
51
|
+
alt = _ref2.alt,
|
|
52
|
+
props = (0, _objectWithoutProperties2["default"])(_ref2, ["fillColor", "backgroundColor", "strokeColor", "alt"]);
|
|
64
53
|
return /*#__PURE__*/_react["default"].createElement("svg", (0, _extends2["default"])({}, props, {
|
|
65
54
|
viewBox: "0 0 44 44",
|
|
66
55
|
fill: "none",
|
|
67
56
|
xmlns: "http://www.w3.org/2000/svg"
|
|
68
|
-
}), /*#__PURE__*/_react["default"].createElement("rect", {
|
|
57
|
+
}), alt && /*#__PURE__*/_react["default"].createElement("title", null, alt), /*#__PURE__*/_react["default"].createElement("rect", {
|
|
69
58
|
x: "43.5",
|
|
70
59
|
y: "43.5",
|
|
71
60
|
width: "43",
|
|
@@ -79,17 +68,17 @@ var BorderArrowLeft = function BorderArrowLeft(_ref2) {
|
|
|
79
68
|
fill: fillColor || '#06517B'
|
|
80
69
|
}));
|
|
81
70
|
};
|
|
82
|
-
|
|
83
71
|
var BorderArrowRight = function BorderArrowRight(_ref3) {
|
|
84
72
|
var fillColor = _ref3.fillColor,
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
73
|
+
backgroundColor = _ref3.backgroundColor,
|
|
74
|
+
strokeColor = _ref3.strokeColor,
|
|
75
|
+
alt = _ref3.alt,
|
|
76
|
+
props = (0, _objectWithoutProperties2["default"])(_ref3, ["fillColor", "backgroundColor", "strokeColor", "alt"]);
|
|
88
77
|
return /*#__PURE__*/_react["default"].createElement("svg", (0, _extends2["default"])({}, props, {
|
|
89
78
|
viewBox: "0 0 44 44",
|
|
90
79
|
fill: "none",
|
|
91
80
|
xmlns: "http://www.w3.org/2000/svg"
|
|
92
|
-
}), /*#__PURE__*/_react["default"].createElement("rect", {
|
|
81
|
+
}), alt && /*#__PURE__*/_react["default"].createElement("title", null, alt), /*#__PURE__*/_react["default"].createElement("rect", {
|
|
93
82
|
x: "0.5",
|
|
94
83
|
y: "0.5",
|
|
95
84
|
width: "43",
|
|
@@ -102,15 +91,15 @@ var BorderArrowRight = function BorderArrowRight(_ref3) {
|
|
|
102
91
|
fill: fillColor || '#06517B'
|
|
103
92
|
}));
|
|
104
93
|
};
|
|
105
|
-
|
|
106
94
|
var Chevron = function Chevron(_ref4) {
|
|
107
95
|
var fillColor = _ref4.fillColor,
|
|
108
|
-
|
|
96
|
+
alt = _ref4.alt,
|
|
97
|
+
props = (0, _objectWithoutProperties2["default"])(_ref4, ["fillColor", "alt"]);
|
|
109
98
|
return /*#__PURE__*/_react["default"].createElement("svg", (0, _extends2["default"])({}, props, {
|
|
110
99
|
"data-name": "Group 16",
|
|
111
100
|
xmlns: "http://www.w3.org/2000/svg",
|
|
112
101
|
viewBox: "0 0 32 32"
|
|
113
|
-
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
102
|
+
}), alt && /*#__PURE__*/_react["default"].createElement("title", null, alt), /*#__PURE__*/_react["default"].createElement("path", {
|
|
114
103
|
"data-name": "Fill 1",
|
|
115
104
|
d: "M0 32h32V0H0z",
|
|
116
105
|
fill: "#fff"
|
|
@@ -120,15 +109,15 @@ var Chevron = function Chevron(_ref4) {
|
|
|
120
109
|
fill: fillColor || '#999'
|
|
121
110
|
}));
|
|
122
111
|
};
|
|
123
|
-
|
|
124
112
|
var ChevronUp = function ChevronUp(_ref5) {
|
|
125
113
|
var fillColor = _ref5.fillColor,
|
|
126
|
-
|
|
114
|
+
alt = _ref5.alt,
|
|
115
|
+
props = (0, _objectWithoutProperties2["default"])(_ref5, ["fillColor", "alt"]);
|
|
127
116
|
return /*#__PURE__*/_react["default"].createElement("svg", (0, _extends2["default"])({}, props, {
|
|
128
117
|
"data-name": "Group 16",
|
|
129
118
|
xmlns: "http://www.w3.org/2000/svg",
|
|
130
119
|
viewBox: "0 0 32 32"
|
|
131
|
-
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
120
|
+
}), alt && /*#__PURE__*/_react["default"].createElement("title", null, alt), /*#__PURE__*/_react["default"].createElement("path", {
|
|
132
121
|
"data-name": "Fill 1",
|
|
133
122
|
d: "M32 32V0H0v32z",
|
|
134
123
|
fill: "#fff"
|
|
@@ -138,15 +127,15 @@ var ChevronUp = function ChevronUp(_ref5) {
|
|
|
138
127
|
fill: fillColor || '#06517b'
|
|
139
128
|
}));
|
|
140
129
|
};
|
|
141
|
-
|
|
142
130
|
var ChevronDown = function ChevronDown(_ref6) {
|
|
143
131
|
var fillColor = _ref6.fillColor,
|
|
144
|
-
|
|
132
|
+
alt = _ref6.alt,
|
|
133
|
+
props = (0, _objectWithoutProperties2["default"])(_ref6, ["fillColor", "alt"]);
|
|
145
134
|
return /*#__PURE__*/_react["default"].createElement("svg", (0, _extends2["default"])({}, props, {
|
|
146
135
|
"data-name": "Group 16",
|
|
147
136
|
xmlns: "http://www.w3.org/2000/svg",
|
|
148
137
|
viewBox: "0 0 32 32"
|
|
149
|
-
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
138
|
+
}), alt && /*#__PURE__*/_react["default"].createElement("title", null, alt), /*#__PURE__*/_react["default"].createElement("path", {
|
|
150
139
|
"data-name": "Fill 1",
|
|
151
140
|
d: "M0 32h32V0H0z",
|
|
152
141
|
fill: "#fff"
|
|
@@ -156,15 +145,15 @@ var ChevronDown = function ChevronDown(_ref6) {
|
|
|
156
145
|
fill: fillColor || '#06517b'
|
|
157
146
|
}));
|
|
158
147
|
};
|
|
159
|
-
|
|
160
148
|
var ChevronRight = function ChevronRight(_ref7) {
|
|
161
149
|
var fillColor = _ref7.fillColor,
|
|
162
|
-
|
|
150
|
+
alt = _ref7.alt,
|
|
151
|
+
props = (0, _objectWithoutProperties2["default"])(_ref7, ["fillColor", "alt"]);
|
|
163
152
|
return /*#__PURE__*/_react["default"].createElement("svg", (0, _extends2["default"])({}, props, {
|
|
164
153
|
"data-name": "Group 16",
|
|
165
154
|
xmlns: "http://www.w3.org/2000/svg",
|
|
166
155
|
viewBox: "0 0 32 32"
|
|
167
|
-
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
156
|
+
}), alt && /*#__PURE__*/_react["default"].createElement("title", null, alt), /*#__PURE__*/_react["default"].createElement("path", {
|
|
168
157
|
"data-name": "Fill 1",
|
|
169
158
|
d: "M0 32h32V0H0z",
|
|
170
159
|
fill: "#fff"
|
|
@@ -174,14 +163,14 @@ var ChevronRight = function ChevronRight(_ref7) {
|
|
|
174
163
|
fill: fillColor || '#06517b'
|
|
175
164
|
}));
|
|
176
165
|
};
|
|
177
|
-
|
|
178
166
|
var Lock = function Lock(_ref8) {
|
|
179
167
|
var fillColor = _ref8.fillColor,
|
|
180
|
-
|
|
168
|
+
alt = _ref8.alt,
|
|
169
|
+
props = (0, _objectWithoutProperties2["default"])(_ref8, ["fillColor", "alt"]);
|
|
181
170
|
return /*#__PURE__*/_react["default"].createElement("svg", (0, _extends2["default"])({}, props, {
|
|
182
171
|
viewBox: "0 0 19 16",
|
|
183
172
|
xmlns: "http://www.w3.org/2000/svg"
|
|
184
|
-
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
173
|
+
}), alt && /*#__PURE__*/_react["default"].createElement("title", null, alt), /*#__PURE__*/_react["default"].createElement("path", {
|
|
185
174
|
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",
|
|
186
175
|
fill: fillColor || '#dbb400'
|
|
187
176
|
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
@@ -192,12 +181,13 @@ var Lock = function Lock(_ref8) {
|
|
|
192
181
|
fill: "#fff"
|
|
193
182
|
}));
|
|
194
183
|
};
|
|
195
|
-
|
|
196
|
-
var
|
|
184
|
+
var Search = function Search(_ref9) {
|
|
185
|
+
var alt = _ref9.alt,
|
|
186
|
+
props = (0, _objectWithoutProperties2["default"])(_ref9, ["alt"]);
|
|
197
187
|
return /*#__PURE__*/_react["default"].createElement("svg", (0, _extends2["default"])({}, props, {
|
|
198
188
|
viewBox: "0 0 32 32",
|
|
199
189
|
xmlns: "http://www.w3.org/2000/svg"
|
|
200
|
-
}), /*#__PURE__*/_react["default"].createElement("g", {
|
|
190
|
+
}), alt && /*#__PURE__*/_react["default"].createElement("title", null, alt), /*#__PURE__*/_react["default"].createElement("g", {
|
|
201
191
|
"data-name": "Group 3"
|
|
202
192
|
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
203
193
|
"data-name": "Clip 2",
|
|
@@ -212,19 +202,18 @@ var Search = function Search(props) {
|
|
|
212
202
|
fill: "#999"
|
|
213
203
|
}))));
|
|
214
204
|
};
|
|
215
|
-
|
|
216
|
-
var
|
|
205
|
+
var Times = function Times(_ref0) {
|
|
206
|
+
var alt = _ref0.alt,
|
|
207
|
+
props = (0, _objectWithoutProperties2["default"])(_ref0, ["alt"]);
|
|
217
208
|
return /*#__PURE__*/_react["default"].createElement("svg", (0, _extends2["default"])({}, props, {
|
|
218
209
|
viewBox: "0 0 352 512",
|
|
219
210
|
xmlns: "http://www.w3.org/2000/svg"
|
|
220
|
-
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
211
|
+
}), alt && /*#__PURE__*/_react["default"].createElement("title", null, alt), /*#__PURE__*/_react["default"].createElement("path", {
|
|
221
212
|
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"
|
|
222
213
|
}));
|
|
223
214
|
};
|
|
224
|
-
|
|
225
215
|
var SITE_KEYS = ['chain', 'chain_text', 'hatena', 'hatena_square', 'hatena_text', 'facebook', 'facebook_text', 'gq', 'ironna', 'japan-forward', 'line', 'line_text', 'sankei', 'member', 'twitter', 'twitter_blue', 'twitter_text', 'twitter_text_white', 'x', 'x_black', 'x_text', 'x_text_white', 'threads', 'bluesky', 'linkedin', 'note', 'youtube', 'wired', 'sankeisyo', 'naniwa', 'seiron', 'instagram', 'img_bar', 'img_borderarrow-left', 'img_borderarrow-left-biz', 'img_borderarrow-left-deactive', 'img_borderarrow-right', 'img_borderarrow-right-biz', 'img_borderarrow-right-deactive', 'img_chevron', 'img_chevron-deactive', 'img_chevron-up', 'img_chevron-down', 'img_chevron-right', 'img_chevron-right-deactive', 'img_lock-gold', 'img_lock-silver', 'img_search', 'img_times', 'monthly_seiron'];
|
|
226
216
|
exports.SITE_KEYS = SITE_KEYS;
|
|
227
|
-
|
|
228
217
|
var icons = _objectSpread({
|
|
229
218
|
bars: {
|
|
230
219
|
Component: Bars
|
|
@@ -261,50 +250,60 @@ var icons = _objectSpread({
|
|
|
261
250
|
Component: IconImg(cur)
|
|
262
251
|
}));
|
|
263
252
|
}, {}));
|
|
264
|
-
|
|
265
|
-
var
|
|
266
|
-
|
|
267
|
-
props = (0, _objectWithoutProperties2["default"])(_ref9, ["name"]);
|
|
268
|
-
|
|
253
|
+
var Icon = function Icon(_ref1) {
|
|
254
|
+
var name = _ref1.name,
|
|
255
|
+
props = (0, _objectWithoutProperties2["default"])(_ref1, ["name"]);
|
|
269
256
|
if (typeof icons[name] !== 'undefined') {
|
|
270
257
|
var Component = icons[name].Component;
|
|
271
258
|
return /*#__PURE__*/_react["default"].createElement(Component, props);
|
|
272
259
|
}
|
|
273
|
-
|
|
274
260
|
return name;
|
|
275
261
|
};
|
|
276
|
-
|
|
277
262
|
Icon.propTypes = {
|
|
278
263
|
name: _propTypes["default"].string.isRequired
|
|
279
264
|
};
|
|
280
265
|
Bars.propTypes = {
|
|
281
|
-
fillColor: _propTypes["default"].string
|
|
266
|
+
fillColor: _propTypes["default"].string,
|
|
267
|
+
alt: _propTypes["default"].string
|
|
282
268
|
};
|
|
283
269
|
BorderArrowLeft.propTypes = {
|
|
284
270
|
fillColor: _propTypes["default"].string,
|
|
285
271
|
backgroundColor: _propTypes["default"].string,
|
|
286
|
-
strokeColor: _propTypes["default"].string
|
|
272
|
+
strokeColor: _propTypes["default"].string,
|
|
273
|
+
alt: _propTypes["default"].string
|
|
287
274
|
};
|
|
288
275
|
BorderArrowRight.propTypes = {
|
|
289
276
|
fillColor: _propTypes["default"].string,
|
|
290
277
|
backgroundColor: _propTypes["default"].string,
|
|
291
|
-
strokeColor: _propTypes["default"].string
|
|
278
|
+
strokeColor: _propTypes["default"].string,
|
|
279
|
+
alt: _propTypes["default"].string
|
|
292
280
|
};
|
|
293
281
|
Chevron.propTypes = {
|
|
294
|
-
fillColor: _propTypes["default"].string
|
|
282
|
+
fillColor: _propTypes["default"].string,
|
|
283
|
+
alt: _propTypes["default"].string
|
|
295
284
|
};
|
|
296
285
|
ChevronUp.propTypes = {
|
|
297
|
-
fillColor: _propTypes["default"].string
|
|
286
|
+
fillColor: _propTypes["default"].string,
|
|
287
|
+
alt: _propTypes["default"].string
|
|
298
288
|
};
|
|
299
289
|
ChevronDown.propTypes = {
|
|
300
|
-
fillColor: _propTypes["default"].string
|
|
290
|
+
fillColor: _propTypes["default"].string,
|
|
291
|
+
alt: _propTypes["default"].string
|
|
301
292
|
};
|
|
302
293
|
ChevronRight.propTypes = {
|
|
303
|
-
fillColor: _propTypes["default"].string
|
|
294
|
+
fillColor: _propTypes["default"].string,
|
|
295
|
+
alt: _propTypes["default"].string
|
|
304
296
|
};
|
|
305
297
|
Lock.propTypes = {
|
|
306
|
-
fillColor: _propTypes["default"].string
|
|
298
|
+
fillColor: _propTypes["default"].string,
|
|
299
|
+
alt: _propTypes["default"].string
|
|
300
|
+
};
|
|
301
|
+
Search.propTypes = {
|
|
302
|
+
alt: _propTypes["default"].string
|
|
303
|
+
};
|
|
304
|
+
Times.propTypes = {
|
|
305
|
+
alt: _propTypes["default"].string
|
|
307
306
|
};
|
|
308
307
|
var _default = Icon;
|
|
309
308
|
exports["default"] = _default;
|
|
310
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVua25vd24iXSwibmFtZXMiOlsiSWNvbkltZyIsIm5hbWUiLCJwcm9wcyIsImNvbnRleHRQYXRoIiwiZGVwbG95bWVudCIsIkJhcnMiLCJmaWxsQ29sb3IiLCJCb3JkZXJBcnJvd0xlZnQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJzdHJva2VDb2xvciIsIkJvcmRlckFycm93UmlnaHQiLCJDaGV2cm9uIiwiQ2hldnJvblVwIiwiQ2hldnJvbkRvd24iLCJDaGV2cm9uUmlnaHQiLCJMb2NrIiwiU2VhcmNoIiwiVGltZXMiLCJTSVRFX0tFWVMiLCJpY29ucyIsImJhcnMiLCJDb21wb25lbnQiLCJjaGV2cm9uIiwibG9jayIsInNlYXJjaCIsInRpbWVzIiwicmVkdWNlIiwiYWNjIiwiY3VyIiwiSWNvbiIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInN0cmluZyIsImlzUmVxdWlyZWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOzs7Ozs7QUFFQSxJQUFNQSxPQUFPLEdBQUcsU0FBVkEsT0FBVSxDQUFDQyxJQUFEO0FBQUEsU0FBVSxVQUFDQyxLQUFELEVBQVc7QUFBQSw0QkFDQyxzQ0FERDtBQUFBLFFBQzNCQyxXQUQyQixxQkFDM0JBLFdBRDJCO0FBQUEsUUFDZEMsVUFEYyxxQkFDZEEsVUFEYzs7QUFFbkMsd0JBQU8scUVBQVNGLEtBQVQ7QUFBZ0IsTUFBQSxHQUFHLEVBQUVFLFVBQVUsV0FBSUQsV0FBSiw4QkFBbUNGLElBQW5DO0FBQS9CLE9BQVA7QUFDRCxHQUhlO0FBQUEsQ0FBaEI7O0FBS0EsSUFBTUksSUFBSSxHQUFHLFNBQVBBLElBQU87QUFBQSxNQUFHQyxTQUFILFFBQUdBLFNBQUg7QUFBQSxNQUFpQkosS0FBakI7QUFBQSxzQkFDWCxxRUFBU0EsS0FBVDtBQUFnQixpQkFBVSxVQUExQjtBQUFxQyxJQUFBLEtBQUssRUFBQyw0QkFBM0M7QUFBd0UsSUFBQSxPQUFPLEVBQUM7QUFBaEYsbUJBQ0U7QUFBRyxJQUFB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UmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7IHVzZUZ1c2lvbkNvbnRleHQgfSBmcm9tICdmdXNpb246Y29udGV4dCc7XG5cbmNvbnN0IEljb25JbWcgPSAobmFtZSkgPT4gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgY29udGV4dFBhdGgsIGRlcGxveW1lbnQgfSA9IHVzZUZ1c2lvbkNvbnRleHQoKTtcbiAgcmV0dXJuIDxpbWcgey4uLnByb3BzfSBzcmM9e2RlcGxveW1lbnQoYCR7Y29udGV4dFBhdGh9L3Jlc291cmNlcy9pY29ucy8ke25hbWV9LnN2Z2ApfSAvPjtcbn07XG5cbmNvbnN0IEJhcnMgPSAoeyBmaWxsQ29sb3IsIC4uLnByb3BzIH0pID0+IChcbiAgPHN2ZyB7Li4ucHJvcHN9IGRhdGEtbmFtZT1cIkdyb3VwIDE2XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIj5cbiAgICA8ZyBmaWxsPXtmaWxsQ29sb3IgfHwgJyM5OTknfT5cbiAgICAgIDxwYXRoIGRhdGEtbmFtZT1cIkZpbGwgMVwiIGQ9XCJNMCAyLjY3aDMyVjBIMHpcIiAvPlxuICAgICAgPHBhdGggZGF0YS1uYW1lPVwiRmlsbCAyXCIgZD1cIk0wIDEzLjMzaDMydi0yLjY2SDB6XCIgLz5cbiAgICAgIDxwYXRoIGRhdGEtbmFtZT1cIkZpbGwgM1wiIGQ9XCJNMCAyNGgzMnYtMi42N0gwelwiIC8+XG4gICAgPC9nPlxuICA8L3N2Zz5cbik7XG5cbmNvbnN0IEJvcmRlckFycm93TGVmdCA9ICh7XG4gIGZpbGxDb2xvciwgYmFja2dyb3VuZENvbG9yLCBzdHJva2VDb2xvciwgLi4ucHJvcHNcbn0pID0+IChcbiAgPHN2ZyB7Li4ucHJvcHN9IHZpZXdCb3g9XCIwIDAgNDQgNDRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICA8cmVjdCB4PVwiNDMuNVwiIHk9XCI0My41XCIgd2lkdGg9XCI0M1wiIGhlaWdodD1cIjQzXCIgcng9XCIzLjVcIiB0cmFuc2Zvcm09XCJyb3RhdGUoLTE4MCA0My41IDQzLjUpXCIgZmlsbD17YmFja2dyb3VuZENvbG9yIHx8ICd3aGl0ZSd9IHN0cm9rZT17c3Ryb2tlQ29sb3IgfHwgJ25vbmUnfSAvPlxuICAgIDxwYXRoIGQ9XCJNMjQgMjhMMjUuNDEgMjYuNTlMMjAuODMgMjJMMjUuNDEgMTcuNDFMMjQgMTZMMTggMjJMMjQgMjhaXCIgZmlsbD17ZmlsbENvbG9yIHx8ICcjMDY1MTdCJ30gLz5cbiAgPC9zdmc+XG4pO1xuXG5jb25zdCBCb3JkZXJBcnJvd1JpZ2h0ID0gKHtcbiAgZmlsbENvbG9yLCBiYWNrZ3JvdW5kQ29sb3IsIHN0cm9rZUNvbG9yLCAuLi5wcm9wc1xufSkgPT4gKFxuICA8c3ZnIHsuLi5wcm9wc30gdmlld0JveD1cIjAgMCA0NCA0NFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgIDxyZWN0IHg9XCIwLjVcIiB5PVwiMC41XCIgd2lkdGg9XCI0M1wiIGhlaWdodD1cIjQzXCIgcng9XCIzLjVcIiBmaWxsPXtiYWNrZ3JvdW5kQ29sb3IgfHwgJ3doaXRlJ30gc3Ryb2tlPXtzdHJva2VDb2xvciB8fCAnbm9uZSd9IC8+XG4gICAgPHBhdGggZD1cIk0yMCAxNkwxOC41OSAxNy40MUwyMy4xNyAyMkwxOC41OSAyNi41OUwyMCAyOEwyNiAyMkwyMCAxNlpcIiBmaWxsPXtmaWxsQ29sb3IgfHwgJyMwNjUxN0InfSAvPlxuICA8L3N2Zz5cbik7XG5cbmNvbnN0IENoZXZyb24gPSAoeyBmaWxsQ29sb3IsIC4uLnByb3BzIH0pID0+IChcbiAgPHN2ZyB7Li4ucHJvcHN9IGRhdGEtbmFtZT1cIkdyb3VwIDE2XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIiA+XG4gICAgPHBhdGggZGF0YS1uYW1lPVwiRmlsbCAxXCIgZD1cIk0wIDMyaDMyVjBIMHpcIiBmaWxsPVwiI2ZmZlwiIC8+XG4gICAgPHBhdGggZGF0YS1uYW1lPVwiRmlsbCAyXCIgZD1cIk0xMy4yMyAxNmw3LjA3LTcuMDdhMSAxIDAgMDAwLTEuNDFsLS43LS43MWExIDEgMCAwMC0xLjQyIDBMOS43IDE1LjI5YTEgMSAwIDAwMCAxLjQybDguNDggOC40OGExIDEgMCAwMDEuNDIgMGwuNy0uN2ExIDEgMCAwMDAtMS40MnpcIiBmaWxsPXtmaWxsQ29sb3IgfHwgJyM5OTknfSAvPlxuICA8L3N2Zz5cbik7XG5cbmNvbnN0IENoZXZyb25VcCA9ICh7IGZpbGxDb2xvciwgLi4ucHJvcHMgfSkgPT4gKFxuICA8c3ZnIHsuLi5wcm9wc30gZGF0YS1uYW1lPVwiR3JvdXAgMTZcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAzMiAzMlwiPlxuICAgIDxwYXRoIGRhdGEtbmFtZT1cIkZpbGwgMVwiIGQ9XCJNMzIgMzJWMEgwdjMyelwiIGZpbGw9XCIjZmZmXCIgLz5cbiAgICA8cGF0aCBkYXRhLW5hbWU9XCJGaWxsIDJcIiBkPVwiTTE2IDEzLjIzbDcuMDcgNy4wN2ExIDEgMCAwMDEuNDIgMGwuNy0uN2ExIDEgMCAwMDAtMS40MkwxNi43MSA5LjdhMSAxIDAgMDAtMS40MiAwbC04LjQ4IDguNDhhMSAxIDAgMDAwIDEuNDJsLjcuN2ExIDEgMCAwMDEuNDIgMHpcIiBmaWxsPXtmaWxsQ29sb3IgfHwgJyMwNjUxN2InfSAvPlxuICA8L3N2Zz5cbik7XG5cbmNvbnN0IENoZXZyb25Eb3duID0gKHsgZmlsbENvbG9yLCAuLi5wcm9wcyB9KSA9PiAoXG4gIDxzdmcgey4uLnByb3BzfSBkYXRhLW5hbWU9XCJHcm91cCAxNlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDMyIDMyXCI+XG4gICAgPHBhdGggZGF0YS1uYW1lPVwiRmlsbCAxXCIgZD1cIk0wIDMyaDMyVjBIMHpcIiBmaWxsPVwiI2ZmZlwiIC8+XG4gICAgPHBhdGggZGF0YS1uYW1lPVwiRmlsbCAyXCIgZD1cIk0xNiAxOC43N0w4LjkzIDExLjdhMSAxIDAgMDAtMS40MSAwbC0uNzEuN2ExIDEgMCAwMDAgMS40Mmw4LjQ4IDguNDhhMSAxIDAgMDAxLjQyIDBsOC40OC04LjQ4YTEgMSAwIDAwMC0xLjQxbC0uNy0uNzFhMSAxIDAgMDAtMS40MiAwelwiIGZpbGw9e2ZpbGxDb2xvciB8fCAnIzA2NTE3Yid9IC8+XG4gIDwvc3ZnPlxuKTtcblxuY29uc3QgQ2hldnJvblJpZ2h0ID0gKHsgZmlsbENvbG9yLCAuLi5wcm9wcyB9KSA9PiAoXG4gIDxzdmcgey4uLnByb3BzfSBkYXRhLW5hbWU9XCJHcm91cCAxNlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDMyIDMyXCI+XG4gICAgPHBhdGggZGF0YS1uYW1lPVwiRmlsbCAxXCIgZD1cIk0wIDMyaDMyVjBIMHpcIiBmaWxsPVwiI2ZmZlwiIC8+XG4gICAgPHBhdGggZGF0YS1uYW1lPVwiRmlsbCAyXCIgZD1cIk0xOC43NyAxNmwtNy4wNyA3LjA3YTEgMSAwIDAwMCAxLjQybC43LjdhMSAxIDAgMDAxLjQyIDBsOC40OC04LjQ4YTEgMSAwIDAwMC0xLjQybC04LjQ4LTguNDhhMSAxIDAgMDAtMS40MiAwbC0uNy43YTEgMSAwIDAwMCAxLjQyelwiIGZpbGw9e2ZpbGxDb2xvciB8fCAnIzA2NTE3Yid9IC8+XG4gIDwvc3ZnPlxuKTtcblxuY29uc3QgTG9jayA9ICh7IGZpbGxDb2xvciwgLi4ucHJvcHMgfSkgPT4gKFxuICA8c3ZnIHsuLi5wcm9wc30gdmlld0JveD1cIjAgMCAxOSAxNlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICA8cGF0aCBkPVwiTTE4LjM5LDE2SDMuNjFBLjYxLjYxLDAsMCwxLDMsMTUuMzlWLjYxQS42MS42MSwwLDAsMSwzLjYxLDBIMTguMzlBLjYxLjYxLDAsMCwxLDE5LC42MVYxNS4zOWEuNjEuNjEsMCwwLDEtLjYxLjYxXCIgZmlsbD17ZmlsbENvbG9yIHx8ICcjZGJiNDAwJ30gLz5cbiAgICA8cGF0aCBkPVwiTTE0LjcyLDcuNTFINy4yOGEuODMuODMsMCwwLDAtLjgzLjgzdjQuOTJhMS40MywxLjQzLDAsMCwwLDEuNDMsMS40M2g2LjI0YTEuNDMsMS40MywwLDAsMCwxLjQzLTEuNDNWOC4zNGEuODMuODMsMCwwLDAtLjgzLS44M1ptLTIuNjcsNS4zM2EuMjQuMjQsMCwwLDEtLjE4LjI5SDEwLjE4YS4yNC4yNCwwLDAsMS0uMjQtLjI0LjEzLjEzLDAsMCwxLDAtLjA2bC40MS0xLjczYTEuMTMsMS4xMywwLDEsMSwxLjU3LS4yOSwxLjMzLDEuMzMsMCwwLDEtLjI5LjI5WlwiIGZpbGw9XCIjZmZmXCIgLz5cbiAgICA8cGF0aCBkPVwiTTE0LjcxLDYuOTRoLTEuNlY1LjA4YTIuMTYsMi4xNiwwLDAsMC00LjMyLDBWNi45NEg3LjE5VjUuMDhhMy43NiwzLjc2LDAsMSwxLDcuNTIsMFpcIiBmaWxsPVwiI2ZmZlwiIC8+XG4gIDwvc3ZnPlxuKTtcblxuY29uc3QgU2VhcmNoID0gKHByb3BzKSA9PiAoXG4gIDxzdmcgey4uLnByb3BzfSB2aWV3Qm94PVwiMCAwIDMyIDMyXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgIDxnIGRhdGEtbmFtZT1cIkdyb3VwIDNcIj5cbiAgICAgIDxwYXRoIGRhdGEtbmFtZT1cIkNsaXAgMlwiIGQ9XCJNMCAwaDMydjMySDB6XCIgZmlsbD1cIm5vbmVcIiAvPlxuICAgICAgPGcgZGF0YS1uYW1lPVwiR3JvdXAgM1wiPlxuICAgICAgICA8cGF0aCBjbGFzc05hbWU9XCJzZWFyY2gtaWNvbi1jb2xvclwiIGRhdGEtbmFtZT1cIkZpbGwgMVwiIGQ9XCJNMzAgMzJhMS45OSAxLjk5IDAgMDEtMS40MS0uNTlsLTcuOTMtNy45MkExMi45OSAxMi45OSAwIDAxMCAxM2ExMyAxMyAwIDAxMjIuMi05LjIgMTIuOTcgMTIuOTcgMCAwMTEuMjkgMTYuODZsNy45MiA3LjkzQTIgMiAwIDAxMzAgMzJ6TTEzIDRhOSA5IDAgMTA5IDkgOS4wMSA5LjAxIDAgMDAtOS05elwiIGZpbGw9XCIjOTk5XCIgLz5cbiAgICAgIDwvZz5cbiAgICA8L2c+XG4gIDwvc3ZnPlxuKTtcblxuY29uc3QgVGltZXMgPSAocHJvcHMpID0+IChcbiAgPHN2ZyB7Li4ucHJvcHN9IHZpZXdCb3g9XCIwIDAgMzUyIDUxMlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICA8cGF0aCBkPVwiTTI0Mi43MiAyNTZsMTAwLjA3LTEwMC4wN2EzMS40NiAzMS40NiAwIDAwMC00NC40OGwtMjIuMjQtMjIuMjRhMzEuNDYgMzEuNDYgMCAwMC00NC40OCAwTDE3NiAxODkuMjggNzUuOTMgODkuMjFhMzEuNDYgMzEuNDYgMCAwMC00NC40OCAwTDkuMjEgMTExLjQ1YTMxLjQ2IDMxLjQ2IDAgMDAwIDQ0LjQ4TDEwOS4yOCAyNTYgOS4yMSAzNTYuMDdhMzEuNDYgMzEuNDYgMCAwMDAgNDQuNDhsMjIuMjQgMjIuMjRhMzEuNDYgMzEuNDYgMCAwMDQ0LjQ4IDBMMTc2IDMyMi43MmwxMDAuMDcgMTAwLjA3YTMxLjQ2IDMxLjQ2IDAgMDA0NC40OCAwbDIyLjI0LTIyLjI0YTMxLjQ2IDMxLjQ2IDAgMDAwLTQ0LjQ4TDI0Mi43MiAyNTZ6XCIgLz5cbiAgPC9zdmc+XG4pO1xuXG5leHBvcnQgY29uc3QgU0lURV9LRVlTID0gW1xuICAnY2hhaW4nLFxuICAnY2hhaW5fdGV4dCcsXG4gICdoYXRlbmEnLFxuICAnaGF0ZW5hX3NxdWFyZScsXG4gICdoYXRlbmFfdGV4dCcsXG4gICdmYWNlYm9vaycsXG4gICdmYWNlYm9va190ZXh0JyxcbiAgJ2dxJyxcbiAgJ2lyb25uYScsXG4gICdqYXBhbi1mb3J3YXJkJyxcbiAgJ2xpbmUnLFxuICAnbGluZV90ZXh0JyxcbiAgJ3NhbmtlaScsXG4gICdtZW1iZXInLFxuICAndHdpdHRlcicsXG4gICd0d2l0dGVyX2JsdWUnLFxuICAndHdpdHRlcl90ZXh0JyxcbiAgJ3R3aXR0ZXJfdGV4dF93aGl0ZScsXG4gICd4JyxcbiAgJ3hfYmxhY2snLFxuICAneF90ZXh0JyxcbiAgJ3hfdGV4dF93aGl0ZScsXG4gICd0aHJlYWRzJyxcbiAgJ2JsdWVza3knLFxuICAnbGlua2VkaW4nLFxuICAnbm90ZScsXG4gICd5b3V0dWJlJyxcbiAgJ3dpcmVkJyxcbiAgJ3NhbmtlaXN5bycsXG4gICduYW5pd2EnLFxuICAnc2Vpcm9uJyxcbiAgJ2luc3RhZ3JhbScsXG4gICdpbWdfYmFyJyxcbiAgJ2ltZ19ib3JkZXJhcnJvdy1sZWZ0JyxcbiAgJ2ltZ19ib3JkZXJhcnJvdy1sZWZ0LWJpeicsXG4gICdpbWdfYm9yZGVyYXJyb3ctbGVmdC1kZWFjdGl2ZScsXG4gICdpbWdfYm9yZGVyYXJyb3ctcmlnaHQnLFxuICAnaW1nX2JvcmRlcmFycm93LXJpZ2h0LWJpeicsXG4gICdpbWdfYm9yZGVyYXJyb3ctcmlnaHQtZGVhY3RpdmUnLFxuICAnaW1nX2NoZXZyb24nLFxuICAnaW1nX2NoZXZyb24tZGVhY3RpdmUnLFxuICAnaW1nX2NoZXZyb24tdXAnLFxuICAnaW1nX2NoZXZyb24tZG93bicsXG4gICdpbWdfY2hldnJvbi1yaWdodCcsXG4gICdpbWdfY2hldnJvbi1yaWdodC1kZWFjdGl2ZScsXG4gICdpbWdfbG9jay1nb2xkJyxcbiAgJ2ltZ19sb2NrLXNpbHZlcicsXG4gICdpbWdfc2VhcmNoJyxcbiAgJ2ltZ190aW1lcycsXG4gICdtb250aGx5X3NlaXJvbicsXG5dO1xuXG5cbmNvbnN0IGljb25zID0ge1xuICBiYXJzOiB7XG4gICAgQ29tcG9uZW50OiBCYXJzLFxuICB9LFxuICAnYm9yZGVyLWFycm93LWxlZnQnOiB7XG4gICAgQ29tcG9uZW50OiBCb3JkZXJBcnJvd0xlZnQsXG4gIH0sXG4gICdib3JkZXItYXJyb3ctcmlnaHQnOiB7XG4gICAgQ29tcG9uZW50OiBCb3JkZXJBcnJvd1JpZ2h0LFxuICB9LFxuICBjaGV2cm9uOiB7XG4gICAgQ29tcG9uZW50OiBDaGV2cm9uLFxuICB9LFxuICAnY2hldnJvbi11cCc6IHtcbiAgICBDb21wb25lbnQ6IENoZXZyb25VcCxcbiAgfSxcbiAgJ2NoZXZyb24tZG93bic6IHtcbiAgICBDb21wb25lbnQ6IENoZXZyb25Eb3duLFxuICB9LFxuICAnY2hldnJvbi1yaWdodCc6IHtcbiAgICBDb21wb25lbnQ6IENoZXZyb25SaWdodCxcbiAgfSxcbiAgbG9jazoge1xuICAgIENvbXBvbmVudDogTG9jayxcbiAgfSxcbiAgc2VhcmNoOiB7XG4gICAgQ29tcG9uZW50OiBTZWFyY2gsXG4gIH0sXG4gIHRpbWVzOiB7XG4gICAgQ29tcG9uZW50OiBUaW1lcyxcbiAgfSxcbiAgLi4uU0lURV9LRVlTLnJlZHVjZSgoYWNjLCBjdXIpID0+IChcbiAgICB7IC4uLmFjYywgW2N1cl06IHsgQ29tcG9uZW50OiBJY29uSW1nKGN1cikgfSB9XG4gICksIHt9KSxcbn07XG5cbmNvbnN0IEljb24gPSAoeyBuYW1lLCAuLi5wcm9wcyB9KSA9PiB7XG4gIGlmICh0eXBlb2YgaWNvbnNbbmFtZV0gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgY29uc3QgeyBDb21wb25lbnQgfSA9IGljb25zW25hbWVdO1xuICAgIHJldHVybiA8Q29tcG9uZW50IHsuLi5wcm9wc30gLz47XG4gIH1cblxuICByZXR1cm4gbmFtZTtcbn07XG5cbkljb24ucHJvcFR5cGVzID0ge1xuICBuYW1lOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG59O1xuXG5CYXJzLnByb3BUeXBlcyA9IHtcbiAgZmlsbENvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuQm9yZGVyQXJyb3dMZWZ0LnByb3BUeXBlcyA9IHtcbiAgZmlsbENvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBiYWNrZ3JvdW5kQ29sb3I6IFByb3BUeXBlcy5zdHJpbmcsXG4gIHN0cm9rZUNvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuQm9yZGVyQXJyb3dSaWdodC5wcm9wVHlwZXMgPSB7XG4gIGZpbGxDb2xvcjogUHJvcFR5cGVzLnN0cmluZyxcbiAgYmFja2dyb3VuZENvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBzdHJva2VDb2xvcjogUHJvcFR5cGVzLnN0cmluZyxcbn07XG5cbkNoZXZyb24ucHJvcFR5cGVzID0ge1xuICBmaWxsQ29sb3I6IFByb3BUeXBlcy5zdHJpbmcsXG59O1xuXG5DaGV2cm9uVXAucHJvcFR5cGVzID0ge1xuICBmaWxsQ29sb3I6IFByb3BUeXBlcy5zdHJpbmcsXG59O1xuXG5DaGV2cm9uRG93bi5wcm9wVHlwZXMgPSB7XG4gIGZpbGxDb2xvcjogUHJvcFR5cGVzLnN0cmluZyxcbn07XG5cbkNoZXZyb25SaWdodC5wcm9wVHlwZXMgPSB7XG4gIGZpbGxDb2xvcjogUHJvcFR5cGVzLnN0cmluZyxcbn07XG5cbkxvY2sucHJvcFR5cGVzID0ge1xuICBmaWxsQ29sb3I6IFByb3BUeXBlcy5zdHJpbmcsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBJY29uO1xuIl19
|
|
309
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9wcm9wVHlwZXMiLCJfZnVzaW9uQ29udGV4dCIsIm93bktleXMiLCJlIiwiciIsInQiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwiSWNvbkltZyIsIm5hbWUiLCJwcm9wcyIsIl91c2VGdXNpb25Db250ZXh0IiwidXNlRnVzaW9uQ29udGV4dCIsImNvbnRleHRQYXRoIiwiZGVwbG95bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJfZXh0ZW5kczIiLCJzcmMiLCJjb25jYXQiLCJCYXJzIiwiX3JlZiIsImZpbGxDb2xvciIsImFsdCIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllczIiLCJ4bWxucyIsInZpZXdCb3giLCJmaWxsIiwiZCIsIkJvcmRlckFycm93TGVmdCIsIl9yZWYyIiwiYmFja2dyb3VuZENvbG9yIiwic3Ryb2tlQ29sb3IiLCJ4IiwieSIsIndpZHRoIiwiaGVpZ2h0IiwicngiLCJ0cmFuc2Zvcm0iLCJzdHJva2UiLCJCb3JkZXJBcnJvd1JpZ2h0IiwiX3JlZjMiLCJDaGV2cm9uIiwiX3JlZjQiLCJDaGV2cm9uVXAiLCJfcmVmNSIsIkNoZXZyb25Eb3duIiwiX3JlZjYiLCJDaGV2cm9uUmlnaHQiLCJfcmVmNyIsIkxvY2siLCJfcmVmOCIsIlNlYXJjaCIsIl9yZWY5IiwiY2xhc3NOYW1lIiwiVGltZXMiLCJfcmVmMCIsIlNJVEVfS0VZUyIsImV4cG9ydHMiLCJpY29ucyIsImJhcnMiLCJDb21wb25lbnQiLCJjaGV2cm9uIiwibG9jayIsInNlYXJjaCIsInRpbWVzIiwicmVkdWNlIiwiYWNjIiwiY3VyIiwiSWNvbiIsIl9yZWYxIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwic3RyaW5nIiwiaXNSZXF1aXJlZCIsIl9kZWZhdWx0Il0sInNvdXJjZXMiOlsidW5rbm93biJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7IHVzZUZ1c2lvbkNvbnRleHQgfSBmcm9tICdmdXNpb246Y29udGV4dCc7XG5cbmNvbnN0IEljb25JbWcgPSAobmFtZSkgPT4gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgY29udGV4dFBhdGgsIGRlcGxveW1lbnQgfSA9IHVzZUZ1c2lvbkNvbnRleHQoKTtcbiAgcmV0dXJuIDxpbWcgey4uLnByb3BzfSBzcmM9e2RlcGxveW1lbnQoYCR7Y29udGV4dFBhdGh9L3Jlc291cmNlcy9pY29ucy8ke25hbWV9LnN2Z2ApfSAvPjtcbn07XG5cbmNvbnN0IEJhcnMgPSAoeyBmaWxsQ29sb3IsIGFsdCwgLi4ucHJvcHMgfSkgPT4gKFxuICA8c3ZnIHsuLi5wcm9wc30gZGF0YS1uYW1lPVwiR3JvdXAgMTZcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAzMiAzMlwiPlxuICAgIHthbHQgJiYgPHRpdGxlPnthbHR9PC90aXRsZT59XG4gICAgPGcgZmlsbD17ZmlsbENvbG9yIHx8ICcjOTk5J30+XG4gICAgICA8cGF0aCBkYXRhLW5hbWU9XCJGaWxsIDFcIiBkPVwiTTAgMi42N2gzMlYwSDB6XCIgLz5cbiAgICAgIDxwYXRoIGRhdGEtbmFtZT1cIkZpbGwgMlwiIGQ9XCJNMCAxMy4zM2gzMnYtMi42NkgwelwiIC8+XG4gICAgICA8cGF0aCBkYXRhLW5hbWU9XCJGaWxsIDNcIiBkPVwiTTAgMjRoMzJ2LTIuNjdIMHpcIiAvPlxuICAgIDwvZz5cbiAgPC9zdmc+XG4pO1xuXG5jb25zdCBCb3JkZXJBcnJvd0xlZnQgPSAoe1xuICBmaWxsQ29sb3IsIGJhY2tncm91bmRDb2xvciwgc3Ryb2tlQ29sb3IsIGFsdCwgLi4ucHJvcHNcbn0pID0+IChcbiAgPHN2ZyB7Li4ucHJvcHN9IHZpZXdCb3g9XCIwIDAgNDQgNDRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICB7YWx0ICYmIDx0aXRsZT57YWx0fTwvdGl0bGU+fVxuICAgIDxyZWN0IHg9XCI0My41XCIgeT1cIjQzLjVcIiB3aWR0aD1cIjQzXCIgaGVpZ2h0PVwiNDNcIiByeD1cIjMuNVwiIHRyYW5zZm9ybT1cInJvdGF0ZSgtMTgwIDQzLjUgNDMuNSlcIiBmaWxsPXtiYWNrZ3JvdW5kQ29sb3IgfHwgJ3doaXRlJ30gc3Ryb2tlPXtzdHJva2VDb2xvciB8fCAnbm9uZSd9IC8+XG4gICAgPHBhdGggZD1cIk0yNCAyOEwyNS40MSAyNi41OUwyMC44MyAyMkwyNS40MSAxNy40MUwyNCAxNkwxOCAyMkwyNCAyOFpcIiBmaWxsPXtmaWxsQ29sb3IgfHwgJyMwNjUxN0InfSAvPlxuICA8L3N2Zz5cbik7XG5cbmNvbnN0IEJvcmRlckFycm93UmlnaHQgPSAoe1xuICBmaWxsQ29sb3IsIGJhY2tncm91bmRDb2xvciwgc3Ryb2tlQ29sb3IsIGFsdCwgLi4ucHJvcHNcbn0pID0+IChcbiAgPHN2ZyB7Li4ucHJvcHN9IHZpZXdCb3g9XCIwIDAgNDQgNDRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICB7YWx0ICYmIDx0aXRsZT57YWx0fTwvdGl0bGU+fVxuICAgIDxyZWN0IHg9XCIwLjVcIiB5PVwiMC41XCIgd2lkdGg9XCI0M1wiIGhlaWdodD1cIjQzXCIgcng9XCIzLjVcIiBmaWxsPXtiYWNrZ3JvdW5kQ29sb3IgfHwgJ3doaXRlJ30gc3Ryb2tlPXtzdHJva2VDb2xvciB8fCAnbm9uZSd9IC8+XG4gICAgPHBhdGggZD1cIk0yMCAxNkwxOC41OSAxNy40MUwyMy4xNyAyMkwxOC41OSAyNi41OUwyMCAyOEwyNiAyMkwyMCAxNlpcIiBmaWxsPXtmaWxsQ29sb3IgfHwgJyMwNjUxN0InfSAvPlxuICA8L3N2Zz5cbik7XG5cbmNvbnN0IENoZXZyb24gPSAoeyBmaWxsQ29sb3IsIGFsdCwgLi4ucHJvcHMgfSkgPT4gKFxuICA8c3ZnIHsuLi5wcm9wc30gZGF0YS1uYW1lPVwiR3JvdXAgMTZcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAzMiAzMlwiID5cbiAgICB7YWx0ICYmIDx0aXRsZT57YWx0fTwvdGl0bGU+fVxuICAgIDxwYXRoIGRhdGEtbmFtZT1cIkZpbGwgMVwiIGQ9XCJNMCAzMmgzMlYwSDB6XCIgZmlsbD1cIiNmZmZcIiAvPlxuICAgIDxwYXRoIGRhdGEtbmFtZT1cIkZpbGwgMlwiIGQ9XCJNMTMuMjMgMTZsNy4wNy03LjA3YTEgMSAwIDAwMC0xLjQxbC0uNy0uNzFhMSAxIDAgMDAtMS40MiAwTDkuNyAxNS4yOWExIDEgMCAwMDAgMS40Mmw4LjQ4IDguNDhhMSAxIDAgMDAxLjQyIDBsLjctLjdhMSAxIDAgMDAwLTEuNDJ6XCIgZmlsbD17ZmlsbENvbG9yIHx8ICcjOTk5J30gLz5cbiAgPC9zdmc+XG4pO1xuXG5jb25zdCBDaGV2cm9uVXAgPSAoeyBmaWxsQ29sb3IsIGFsdCwgLi4ucHJvcHMgfSkgPT4gKFxuICA8c3ZnIHsuLi5wcm9wc30gZGF0YS1uYW1lPVwiR3JvdXAgMTZcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAzMiAzMlwiPlxuICAgIHthbHQgJiYgPHRpdGxlPnthbHR9PC90aXRsZT59XG4gICAgPHBhdGggZGF0YS1uYW1lPVwiRmlsbCAxXCIgZD1cIk0zMiAzMlYwSDB2MzJ6XCIgZmlsbD1cIiNmZmZcIiAvPlxuICAgIDxwYXRoIGRhdGEtbmFtZT1cIkZpbGwgMlwiIGQ9XCJNMTYgMTMuMjNsNy4wNyA3LjA3YTEgMSAwIDAwMS40MiAwbC43LS43YTEgMSAwIDAwMC0xLjQyTDE2LjcxIDkuN2ExIDEgMCAwMC0xLjQyIDBsLTguNDggOC40OGExIDEgMCAwMDAgMS40MmwuNy43YTEgMSAwIDAwMS40MiAwelwiIGZpbGw9e2ZpbGxDb2xvciB8fCAnIzA2NTE3Yid9IC8+XG4gIDwvc3ZnPlxuKTtcblxuY29uc3QgQ2hldnJvbkRvd24gPSAoeyBmaWxsQ29sb3IsIGFsdCwgLi4ucHJvcHMgfSkgPT4gKFxuICA8c3ZnIHsuLi5wcm9wc30gZGF0YS1uYW1lPVwiR3JvdXAgMTZcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAzMiAzMlwiPlxuICAgIHthbHQgJiYgPHRpdGxlPnthbHR9PC90aXRsZT59XG4gICAgPHBhdGggZGF0YS1uYW1lPVwiRmlsbCAxXCIgZD1cIk0wIDMyaDMyVjBIMHpcIiBmaWxsPVwiI2ZmZlwiIC8+XG4gICAgPHBhdGggZGF0YS1uYW1lPVwiRmlsbCAyXCIgZD1cIk0xNiAxOC43N0w4LjkzIDExLjdhMSAxIDAgMDAtMS40MSAwbC0uNzEuN2ExIDEgMCAwMDAgMS40Mmw4LjQ4IDguNDhhMSAxIDAgMDAxLjQyIDBsOC40OC04LjQ4YTEgMSAwIDAwMC0xLjQxbC0uNy0uNzFhMSAxIDAgMDAtMS40MiAwelwiIGZpbGw9e2ZpbGxDb2xvciB8fCAnIzA2NTE3Yid9IC8+XG4gIDwvc3ZnPlxuKTtcblxuY29uc3QgQ2hldnJvblJpZ2h0ID0gKHsgZmlsbENvbG9yLCBhbHQsIC4uLnByb3BzIH0pID0+IChcbiAgPHN2ZyB7Li4ucHJvcHN9IGRhdGEtbmFtZT1cIkdyb3VwIDE2XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIj5cbiAgICB7YWx0ICYmIDx0aXRsZT57YWx0fTwvdGl0bGU+fVxuICAgIDxwYXRoIGRhdGEtbmFtZT1cIkZpbGwgMVwiIGQ9XCJNMCAzMmgzMlYwSDB6XCIgZmlsbD1cIiNmZmZcIiAvPlxuICAgIDxwYXRoIGRhdGEtbmFtZT1cIkZpbGwgMlwiIGQ9XCJNMTguNzcgMTZsLTcuMDcgNy4wN2ExIDEgMCAwMDAgMS40MmwuNy43YTEgMSAwIDAwMS40MiAwbDguNDgtOC40OGExIDEgMCAwMDAtMS40MmwtOC40OC04LjQ4YTEgMSAwIDAwLTEuNDIgMGwtLjcuN2ExIDEgMCAwMDAgMS40MnpcIiBmaWxsPXtmaWxsQ29sb3IgfHwgJyMwNjUxN2InfSAvPlxuICA8L3N2Zz5cbik7XG5cbmNvbnN0IExvY2sgPSAoeyBmaWxsQ29sb3IsIGFsdCwgLi4ucHJvcHMgfSkgPT4gKFxuICA8c3ZnIHsuLi5wcm9wc30gdmlld0JveD1cIjAgMCAxOSAxNlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICB7YWx0ICYmIDx0aXRsZT57YWx0fTwvdGl0bGU+fVxuICAgIDxwYXRoIGQ9XCJNMTguMzksMTZIMy42MUEuNjEuNjEsMCwwLDEsMywxNS4zOVYuNjFBLjYxLjYxLDAsMCwxLDMuNjEsMEgxOC4zOUEuNjEuNjEsMCwwLDEsMTksLjYxVjE1LjM5YS42MS42MSwwLDAsMS0uNjEuNjFcIiBmaWxsPXtmaWxsQ29sb3IgfHwgJyNkYmI0MDAnfSAvPlxuICAgIDxwYXRoIGQ9XCJNMTQuNzIsNy41MUg3LjI4YS44My44MywwLDAsMC0uODMuODN2NC45MmExLjQzLDEuNDMsMCwwLDAsMS40MywxLjQzaDYuMjRhMS40MywxLjQzLDAsMCwwLDEuNDMtMS40M1Y4LjM0YS44My44MywwLDAsMC0uODMtLjgzWm0tMi42Nyw1LjMzYS4yNC4yNCwwLDAsMS0uMTguMjlIMTAuMThhLjI0LjI0LDAsMCwxLS4yNC0uMjQuMTMuMTMsMCwwLDEsMC0uMDZsLjQxLTEuNzNhMS4xMywxLjEzLDAsMSwxLDEuNTctLjI5LDEuMzMsMS4zMywwLDAsMS0uMjkuMjlaXCIgZmlsbD1cIiNmZmZcIiAvPlxuICAgIDxwYXRoIGQ9XCJNMTQuNzEsNi45NGgtMS42VjUuMDhhMi4xNiwyLjE2LDAsMCwwLTQuMzIsMFY2Ljk0SDcuMTlWNS4wOGEzLjc2LDMuNzYsMCwxLDEsNy41MiwwWlwiIGZpbGw9XCIjZmZmXCIgLz5cbiAgPC9zdmc+XG4pO1xuXG5jb25zdCBTZWFyY2ggPSAoeyBhbHQsIC4uLnByb3BzIH0pID0+IChcbiAgPHN2ZyB7Li4ucHJvcHN9IHZpZXdCb3g9XCIwIDAgMzIgMzJcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAge2FsdCAmJiA8dGl0bGU+e2FsdH08L3RpdGxlPn1cbiAgICA8ZyBkYXRhLW5hbWU9XCJHcm91cCAzXCI+XG4gICAgICA8cGF0aCBkYXRhLW5hbWU9XCJDbGlwIDJcIiBkPVwiTTAgMGgzMnYzMkgwelwiIGZpbGw9XCJub25lXCIgLz5cbiAgICAgIDxnIGRhdGEtbmFtZT1cIkdyb3VwIDNcIj5cbiAgICAgICAgPHBhdGggY2xhc3NOYW1lPVwic2VhcmNoLWljb24tY29sb3JcIiBkYXRhLW5hbWU9XCJGaWxsIDFcIiBkPVwiTTMwIDMyYTEuOTkgMS45OSAwIDAxLTEuNDEtLjU5bC03LjkzLTcuOTJBMTIuOTkgMTIuOTkgMCAwMTAgMTNhMTMgMTMgMCAwMTIyLjItOS4yIDEyLjk3IDEyLjk3IDAgMDExLjI5IDE2Ljg2bDcuOTIgNy45M0EyIDIgMCAwMTMwIDMyek0xMyA0YTkgOSAwIDEwOSA5IDkuMDEgOS4wMSAwIDAwLTktOXpcIiBmaWxsPVwiIzk5OVwiIC8+XG4gICAgICA8L2c+XG4gICAgPC9nPlxuICA8L3N2Zz5cbik7XG5cbmNvbnN0IFRpbWVzID0gKHsgYWx0LCAuLi5wcm9wcyB9KSA9PiAoXG4gIDxzdmcgey4uLnByb3BzfSB2aWV3Qm94PVwiMCAwIDM1MiA1MTJcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAge2FsdCAmJiA8dGl0bGU+e2FsdH08L3RpdGxlPn1cbiAgICA8cGF0aCBkPVwiTTI0Mi43MiAyNTZsMTAwLjA3LTEwMC4wN2EzMS40NiAzMS40NiAwIDAwMC00NC40OGwtMjIuMjQtMjIuMjRhMzEuNDYgMzEuNDYgMCAwMC00NC40OCAwTDE3NiAxODkuMjggNzUuOTMgODkuMjFhMzEuNDYgMzEuNDYgMCAwMC00NC40OCAwTDkuMjEgMTExLjQ1YTMxLjQ2IDMxLjQ2IDAgMDAwIDQ0LjQ4TDEwOS4yOCAyNTYgOS4yMSAzNTYuMDdhMzEuNDYgMzEuNDYgMCAwMDAgNDQuNDhsMjIuMjQgMjIuMjRhMzEuNDYgMzEuNDYgMCAwMDQ0LjQ4IDBMMTc2IDMyMi43MmwxMDAuMDcgMTAwLjA3YTMxLjQ2IDMxLjQ2IDAgMDA0NC40OCAwbDIyLjI0LTIyLjI0YTMxLjQ2IDMxLjQ2IDAgMDAwLTQ0LjQ4TDI0Mi43MiAyNTZ6XCIgLz5cbiAgPC9zdmc+XG4pO1xuXG5leHBvcnQgY29uc3QgU0lURV9LRVlTID0gW1xuICAnY2hhaW4nLFxuICAnY2hhaW5fdGV4dCcsXG4gICdoYXRlbmEnLFxuICAnaGF0ZW5hX3NxdWFyZScsXG4gICdoYXRlbmFfdGV4dCcsXG4gICdmYWNlYm9vaycsXG4gICdmYWNlYm9va190ZXh0JyxcbiAgJ2dxJyxcbiAgJ2lyb25uYScsXG4gICdqYXBhbi1mb3J3YXJkJyxcbiAgJ2xpbmUnLFxuICAnbGluZV90ZXh0JyxcbiAgJ3NhbmtlaScsXG4gICdtZW1iZXInLFxuICAndHdpdHRlcicsXG4gICd0d2l0dGVyX2JsdWUnLFxuICAndHdpdHRlcl90ZXh0JyxcbiAgJ3R3aXR0ZXJfdGV4dF93aGl0ZScsXG4gICd4JyxcbiAgJ3hfYmxhY2snLFxuICAneF90ZXh0JyxcbiAgJ3hfdGV4dF93aGl0ZScsXG4gICd0aHJlYWRzJyxcbiAgJ2JsdWVza3knLFxuICAnbGlua2VkaW4nLFxuICAnbm90ZScsXG4gICd5b3V0dWJlJyxcbiAgJ3dpcmVkJyxcbiAgJ3NhbmtlaXN5bycsXG4gICduYW5pd2EnLFxuICAnc2Vpcm9uJyxcbiAgJ2luc3RhZ3JhbScsXG4gICdpbWdfYmFyJyxcbiAgJ2ltZ19ib3JkZXJhcnJvdy1sZWZ0JyxcbiAgJ2ltZ19ib3JkZXJhcnJvdy1sZWZ0LWJpeicsXG4gICdpbWdfYm9yZGVyYXJyb3ctbGVmdC1kZWFjdGl2ZScsXG4gICdpbWdfYm9yZGVyYXJyb3ctcmlnaHQnLFxuICAnaW1nX2JvcmRlcmFycm93LXJpZ2h0LWJpeicsXG4gICdpbWdfYm9yZGVyYXJyb3ctcmlnaHQtZGVhY3RpdmUnLFxuICAnaW1nX2NoZXZyb24nLFxuICAnaW1nX2NoZXZyb24tZGVhY3RpdmUnLFxuICAnaW1nX2NoZXZyb24tdXAnLFxuICAnaW1nX2NoZXZyb24tZG93bicsXG4gICdpbWdfY2hldnJvbi1yaWdodCcsXG4gICdpbWdfY2hldnJvbi1yaWdodC1kZWFjdGl2ZScsXG4gICdpbWdfbG9jay1nb2xkJyxcbiAgJ2ltZ19sb2NrLXNpbHZlcicsXG4gICdpbWdfc2VhcmNoJyxcbiAgJ2ltZ190aW1lcycsXG4gICdtb250aGx5X3NlaXJvbicsXG5dO1xuXG5jb25zdCBpY29ucyA9IHtcbiAgYmFyczoge1xuICAgIENvbXBvbmVudDogQmFycyxcbiAgfSxcbiAgJ2JvcmRlci1hcnJvdy1sZWZ0Jzoge1xuICAgIENvbXBvbmVudDogQm9yZGVyQXJyb3dMZWZ0LFxuICB9LFxuICAnYm9yZGVyLWFycm93LXJpZ2h0Jzoge1xuICAgIENvbXBvbmVudDogQm9yZGVyQXJyb3dSaWdodCxcbiAgfSxcbiAgY2hldnJvbjoge1xuICAgIENvbXBvbmVudDogQ2hldnJvbixcbiAgfSxcbiAgJ2NoZXZyb24tdXAnOiB7XG4gICAgQ29tcG9uZW50OiBDaGV2cm9uVXAsXG4gIH0sXG4gICdjaGV2cm9uLWRvd24nOiB7XG4gICAgQ29tcG9uZW50OiBDaGV2cm9uRG93bixcbiAgfSxcbiAgJ2NoZXZyb24tcmlnaHQnOiB7XG4gICAgQ29tcG9uZW50OiBDaGV2cm9uUmlnaHQsXG4gIH0sXG4gIGxvY2s6IHtcbiAgICBDb21wb25lbnQ6IExvY2ssXG4gIH0sXG4gIHNlYXJjaDoge1xuICAgIENvbXBvbmVudDogU2VhcmNoLFxuICB9LFxuICB0aW1lczoge1xuICAgIENvbXBvbmVudDogVGltZXMsXG4gIH0sXG4gIC4uLlNJVEVfS0VZUy5yZWR1Y2UoKGFjYywgY3VyKSA9PiAoXG4gICAgeyAuLi5hY2MsIFtjdXJdOiB7IENvbXBvbmVudDogSWNvbkltZyhjdXIpIH0gfVxuICApLCB7fSksXG59O1xuXG5jb25zdCBJY29uID0gKHsgbmFtZSwgLi4ucHJvcHMgfSkgPT4ge1xuICBpZiAodHlwZW9mIGljb25zW25hbWVdICE9PSAndW5kZWZpbmVkJykge1xuICAgIGNvbnN0IHsgQ29tcG9uZW50IH0gPSBpY29uc1tuYW1lXTtcbiAgICByZXR1cm4gPENvbXBvbmVudCB7Li4ucHJvcHN9IC8+O1xuICB9XG5cbiAgcmV0dXJuIG5hbWU7XG59O1xuXG5JY29uLnByb3BUeXBlcyA9IHtcbiAgbmFtZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxufTtcblxuQmFycy5wcm9wVHlwZXMgPSB7XG4gIGZpbGxDb2xvcjogUHJvcFR5cGVzLnN0cmluZyxcbiAgYWx0OiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuQm9yZGVyQXJyb3dMZWZ0LnByb3BUeXBlcyA9IHtcbiAgZmlsbENvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBiYWNrZ3JvdW5kQ29sb3I6IFByb3BUeXBlcy5zdHJpbmcsXG4gIHN0cm9rZUNvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBhbHQ6IFByb3BUeXBlcy5zdHJpbmcsXG59O1xuXG5Cb3JkZXJBcnJvd1JpZ2h0LnByb3BUeXBlcyA9IHtcbiAgZmlsbENvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBiYWNrZ3JvdW5kQ29sb3I6IFByb3BUeXBlcy5zdHJpbmcsXG4gIHN0cm9rZUNvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBhbHQ6IFByb3BUeXBlcy5zdHJpbmcsXG59O1xuXG5DaGV2cm9uLnByb3BUeXBlcyA9IHtcbiAgZmlsbENvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBhbHQ6IFByb3BUeXBlcy5zdHJpbmcsXG59O1xuXG5DaGV2cm9uVXAucHJvcFR5cGVzID0ge1xuICBmaWxsQ29sb3I6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGFsdDogUHJvcFR5cGVzLnN0cmluZyxcbn07XG5cbkNoZXZyb25Eb3duLnByb3BUeXBlcyA9IHtcbiAgZmlsbENvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBhbHQ6IFByb3BUeXBlcy5zdHJpbmcsXG59O1xuXG5DaGV2cm9uUmlnaHQucHJvcFR5cGVzID0ge1xuICBmaWxsQ29sb3I6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGFsdDogUHJvcFR5cGVzLnN0cmluZyxcbn07XG5cbkxvY2sucHJvcFR5cGVzID0ge1xuICBmaWxsQ29sb3I6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGFsdDogUHJvcFR5cGVzLnN0cmluZyxcbn07XG5cblNlYXJjaC5wcm9wVHlwZXMgPSB7XG4gIGFsdDogUHJvcFR5cGVzLnN0cmluZyxcbn07XG5cblRpbWVzLnByb3BUeXBlcyA9IHtcbiAgYWx0OiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgSWNvbjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFVBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLGNBQUEsR0FBQUYsT0FBQTtBQUFrRCxTQUFBRyxRQUFBQyxDQUFBLEVBQUFDLENBQUEsUUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLElBQUEsQ0FBQUosQ0FBQSxPQUFBRyxNQUFBLENBQUFFLHFCQUFBLFFBQUFDLENBQUEsR0FBQUgsTUFBQSxDQUFBRSxxQkFBQSxDQUFBTCxDQUFBLEdBQUFDLENBQUEsS0FBQUssQ0FBQSxHQUFBQSxDQUFBLENBQUFDLE1BQUEsV0FBQU4sQ0FBQSxXQUFBRSxNQUFBLENBQUFLLHdCQUFBLENBQUFSLENBQUEsRUFBQUMsQ0FBQSxFQUFBUSxVQUFBLE9BQUFQLENBQUEsQ0FBQVEsSUFBQSxDQUFBQyxLQUFBLENB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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sankei-arc-shared-components/element_icon",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.2",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"repository": {
|
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
"url": "https://github.com/wapopartners/sankei-shimbun-shared-components/packages/element_icon"
|
|
9
9
|
},
|
|
10
10
|
"peerDependencies": {
|
|
11
|
-
"enzyme": "^3.7.0",
|
|
12
11
|
"prop-types": ">=15.6.2",
|
|
13
12
|
"react": ">=16"
|
|
14
13
|
},
|
package/src/index.js
CHANGED
|
@@ -7,8 +7,9 @@ const IconImg = (name) => (props) => {
|
|
|
7
7
|
return <img {...props} src={deployment(`${contextPath}/resources/icons/${name}.svg`)} />;
|
|
8
8
|
};
|
|
9
9
|
|
|
10
|
-
const Bars = ({ fillColor, ...props }) => (
|
|
10
|
+
const Bars = ({ fillColor, alt, ...props }) => (
|
|
11
11
|
<svg {...props} data-name="Group 16" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
|
|
12
|
+
{alt && <title>{alt}</title>}
|
|
12
13
|
<g fill={fillColor || '#999'}>
|
|
13
14
|
<path data-name="Fill 1" d="M0 2.67h32V0H0z" />
|
|
14
15
|
<path data-name="Fill 2" d="M0 13.33h32v-2.66H0z" />
|
|
@@ -18,61 +19,69 @@ const Bars = ({ fillColor, ...props }) => (
|
|
|
18
19
|
);
|
|
19
20
|
|
|
20
21
|
const BorderArrowLeft = ({
|
|
21
|
-
fillColor, backgroundColor, strokeColor, ...props
|
|
22
|
+
fillColor, backgroundColor, strokeColor, alt, ...props
|
|
22
23
|
}) => (
|
|
23
24
|
<svg {...props} viewBox="0 0 44 44" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
25
|
+
{alt && <title>{alt}</title>}
|
|
24
26
|
<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
27
|
<path d="M24 28L25.41 26.59L20.83 22L25.41 17.41L24 16L18 22L24 28Z" fill={fillColor || '#06517B'} />
|
|
26
28
|
</svg>
|
|
27
29
|
);
|
|
28
30
|
|
|
29
31
|
const BorderArrowRight = ({
|
|
30
|
-
fillColor, backgroundColor, strokeColor, ...props
|
|
32
|
+
fillColor, backgroundColor, strokeColor, alt, ...props
|
|
31
33
|
}) => (
|
|
32
34
|
<svg {...props} viewBox="0 0 44 44" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
35
|
+
{alt && <title>{alt}</title>}
|
|
33
36
|
<rect x="0.5" y="0.5" width="43" height="43" rx="3.5" fill={backgroundColor || 'white'} stroke={strokeColor || 'none'} />
|
|
34
37
|
<path d="M20 16L18.59 17.41L23.17 22L18.59 26.59L20 28L26 22L20 16Z" fill={fillColor || '#06517B'} />
|
|
35
38
|
</svg>
|
|
36
39
|
);
|
|
37
40
|
|
|
38
|
-
const Chevron = ({ fillColor, ...props }) => (
|
|
41
|
+
const Chevron = ({ fillColor, alt, ...props }) => (
|
|
39
42
|
<svg {...props} data-name="Group 16" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" >
|
|
43
|
+
{alt && <title>{alt}</title>}
|
|
40
44
|
<path data-name="Fill 1" d="M0 32h32V0H0z" fill="#fff" />
|
|
41
45
|
<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'} />
|
|
42
46
|
</svg>
|
|
43
47
|
);
|
|
44
48
|
|
|
45
|
-
const ChevronUp = ({ fillColor, ...props }) => (
|
|
49
|
+
const ChevronUp = ({ fillColor, alt, ...props }) => (
|
|
46
50
|
<svg {...props} data-name="Group 16" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
|
|
51
|
+
{alt && <title>{alt}</title>}
|
|
47
52
|
<path data-name="Fill 1" d="M32 32V0H0v32z" fill="#fff" />
|
|
48
53
|
<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'} />
|
|
49
54
|
</svg>
|
|
50
55
|
);
|
|
51
56
|
|
|
52
|
-
const ChevronDown = ({ fillColor, ...props }) => (
|
|
57
|
+
const ChevronDown = ({ fillColor, alt, ...props }) => (
|
|
53
58
|
<svg {...props} data-name="Group 16" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
|
|
59
|
+
{alt && <title>{alt}</title>}
|
|
54
60
|
<path data-name="Fill 1" d="M0 32h32V0H0z" fill="#fff" />
|
|
55
61
|
<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'} />
|
|
56
62
|
</svg>
|
|
57
63
|
);
|
|
58
64
|
|
|
59
|
-
const ChevronRight = ({ fillColor, ...props }) => (
|
|
65
|
+
const ChevronRight = ({ fillColor, alt, ...props }) => (
|
|
60
66
|
<svg {...props} data-name="Group 16" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
|
|
67
|
+
{alt && <title>{alt}</title>}
|
|
61
68
|
<path data-name="Fill 1" d="M0 32h32V0H0z" fill="#fff" />
|
|
62
69
|
<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'} />
|
|
63
70
|
</svg>
|
|
64
71
|
);
|
|
65
72
|
|
|
66
|
-
const Lock = ({ fillColor, ...props }) => (
|
|
73
|
+
const Lock = ({ fillColor, alt, ...props }) => (
|
|
67
74
|
<svg {...props} viewBox="0 0 19 16" xmlns="http://www.w3.org/2000/svg">
|
|
75
|
+
{alt && <title>{alt}</title>}
|
|
68
76
|
<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
77
|
<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
78
|
<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" />
|
|
71
79
|
</svg>
|
|
72
80
|
);
|
|
73
81
|
|
|
74
|
-
const Search = (props) => (
|
|
82
|
+
const Search = ({ alt, ...props }) => (
|
|
75
83
|
<svg {...props} viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
|
|
84
|
+
{alt && <title>{alt}</title>}
|
|
76
85
|
<g data-name="Group 3">
|
|
77
86
|
<path data-name="Clip 2" d="M0 0h32v32H0z" fill="none" />
|
|
78
87
|
<g data-name="Group 3">
|
|
@@ -82,8 +91,9 @@ const Search = (props) => (
|
|
|
82
91
|
</svg>
|
|
83
92
|
);
|
|
84
93
|
|
|
85
|
-
const Times = (props) => (
|
|
94
|
+
const Times = ({ alt, ...props }) => (
|
|
86
95
|
<svg {...props} viewBox="0 0 352 512" xmlns="http://www.w3.org/2000/svg">
|
|
96
|
+
{alt && <title>{alt}</title>}
|
|
87
97
|
<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" />
|
|
88
98
|
</svg>
|
|
89
99
|
);
|
|
@@ -141,7 +151,6 @@ export const SITE_KEYS = [
|
|
|
141
151
|
'monthly_seiron',
|
|
142
152
|
];
|
|
143
153
|
|
|
144
|
-
|
|
145
154
|
const icons = {
|
|
146
155
|
bars: {
|
|
147
156
|
Component: Bars,
|
|
@@ -193,38 +202,54 @@ Icon.propTypes = {
|
|
|
193
202
|
|
|
194
203
|
Bars.propTypes = {
|
|
195
204
|
fillColor: PropTypes.string,
|
|
205
|
+
alt: PropTypes.string,
|
|
196
206
|
};
|
|
197
207
|
|
|
198
208
|
BorderArrowLeft.propTypes = {
|
|
199
209
|
fillColor: PropTypes.string,
|
|
200
210
|
backgroundColor: PropTypes.string,
|
|
201
211
|
strokeColor: PropTypes.string,
|
|
212
|
+
alt: PropTypes.string,
|
|
202
213
|
};
|
|
203
214
|
|
|
204
215
|
BorderArrowRight.propTypes = {
|
|
205
216
|
fillColor: PropTypes.string,
|
|
206
217
|
backgroundColor: PropTypes.string,
|
|
207
218
|
strokeColor: PropTypes.string,
|
|
219
|
+
alt: PropTypes.string,
|
|
208
220
|
};
|
|
209
221
|
|
|
210
222
|
Chevron.propTypes = {
|
|
211
223
|
fillColor: PropTypes.string,
|
|
224
|
+
alt: PropTypes.string,
|
|
212
225
|
};
|
|
213
226
|
|
|
214
227
|
ChevronUp.propTypes = {
|
|
215
228
|
fillColor: PropTypes.string,
|
|
229
|
+
alt: PropTypes.string,
|
|
216
230
|
};
|
|
217
231
|
|
|
218
232
|
ChevronDown.propTypes = {
|
|
219
233
|
fillColor: PropTypes.string,
|
|
234
|
+
alt: PropTypes.string,
|
|
220
235
|
};
|
|
221
236
|
|
|
222
237
|
ChevronRight.propTypes = {
|
|
223
238
|
fillColor: PropTypes.string,
|
|
239
|
+
alt: PropTypes.string,
|
|
224
240
|
};
|
|
225
241
|
|
|
226
242
|
Lock.propTypes = {
|
|
227
243
|
fillColor: PropTypes.string,
|
|
244
|
+
alt: PropTypes.string,
|
|
245
|
+
};
|
|
246
|
+
|
|
247
|
+
Search.propTypes = {
|
|
248
|
+
alt: PropTypes.string,
|
|
249
|
+
};
|
|
250
|
+
|
|
251
|
+
Times.propTypes = {
|
|
252
|
+
alt: PropTypes.string,
|
|
228
253
|
};
|
|
229
254
|
|
|
230
255
|
export default Icon;
|
package/src/index.test.js
CHANGED
|
@@ -1,50 +1,73 @@
|
|
|
1
|
-
|
|
2
1
|
import React from 'react';
|
|
3
|
-
import {
|
|
2
|
+
import { render, screen } from '@testing-library/react';
|
|
4
3
|
import Icon, { SITE_KEYS } from './index';
|
|
5
4
|
|
|
6
5
|
describe('<Icon />', () => {
|
|
7
6
|
it('should render bars', () => {
|
|
8
|
-
const
|
|
9
|
-
|
|
7
|
+
const { container } = render(<Icon name="bars" height="34px" width="34px" alt="bars" />);
|
|
8
|
+
const titleElement = container.querySelector('title');
|
|
9
|
+
expect(titleElement).toBeInTheDocument();
|
|
10
|
+
expect(titleElement).toHaveTextContent('bars');
|
|
10
11
|
});
|
|
11
12
|
it('should render border-arrow-left', () => {
|
|
12
|
-
const
|
|
13
|
-
|
|
13
|
+
const { container } = render(<Icon name="border-arrow-left" height="34px" width="34px" alt="border-arrow-left" />);
|
|
14
|
+
const titleElement = container.querySelector('title');
|
|
15
|
+
expect(titleElement).toBeInTheDocument();
|
|
16
|
+
expect(titleElement).toHaveTextContent('border-arrow-left');
|
|
14
17
|
});
|
|
15
18
|
it('should render border-arrow-right', () => {
|
|
16
|
-
const
|
|
17
|
-
|
|
19
|
+
const { container } = render(<Icon name="border-arrow-right" height="34px" width="34px" alt="border-arrow-right" />);
|
|
20
|
+
const titleElement = container.querySelector('title');
|
|
21
|
+
expect(titleElement).toBeInTheDocument();
|
|
22
|
+
expect(titleElement).toHaveTextContent('border-arrow-right');
|
|
18
23
|
});
|
|
19
24
|
it('should render chevron', () => {
|
|
20
|
-
const
|
|
21
|
-
|
|
25
|
+
const { container } = render(<Icon name="chevron" height="34px" width="34px" alt="chevron" />);
|
|
26
|
+
const titleElement = container.querySelector('title');
|
|
27
|
+
expect(titleElement).toBeInTheDocument();
|
|
28
|
+
expect(titleElement).toHaveTextContent('chevron');
|
|
22
29
|
});
|
|
23
30
|
it('should render chevron-up', () => {
|
|
24
|
-
const
|
|
25
|
-
|
|
31
|
+
const { container } = render(<Icon name="chevron-up" height="34px" width="34px" alt="chevron-up" />);
|
|
32
|
+
const titleElement = container.querySelector('title');
|
|
33
|
+
expect(titleElement).toBeInTheDocument();
|
|
34
|
+
expect(titleElement).toHaveTextContent('chevron-up');
|
|
26
35
|
});
|
|
27
36
|
it('should render chevron-down', () => {
|
|
28
|
-
const
|
|
29
|
-
|
|
37
|
+
const { container } = render(<Icon name="chevron-down" height="34px" width="34px" alt="chevron-down" />);
|
|
38
|
+
const titleElement = container.querySelector('title');
|
|
39
|
+
expect(titleElement).toBeInTheDocument();
|
|
40
|
+
expect(titleElement).toHaveTextContent('chevron-down');
|
|
30
41
|
});
|
|
31
42
|
it('should render chevron-right', () => {
|
|
32
|
-
const
|
|
33
|
-
|
|
43
|
+
const { container } = render(<Icon name="chevron-right" height="34px" width="34px" alt="chevron-right" />);
|
|
44
|
+
const titleElement = container.querySelector('title');
|
|
45
|
+
expect(titleElement).toBeInTheDocument();
|
|
46
|
+
expect(titleElement).toHaveTextContent('chevron-right');
|
|
34
47
|
});
|
|
35
48
|
|
|
36
49
|
it('should render lock', () => {
|
|
37
|
-
const
|
|
38
|
-
|
|
50
|
+
const { container } = render(<Icon name="lock" height="34px" width="34px" alt="lock" />);
|
|
51
|
+
const titleElement = container.querySelector('title');
|
|
52
|
+
expect(titleElement).toBeInTheDocument();
|
|
53
|
+
expect(titleElement).toHaveTextContent('lock');
|
|
39
54
|
});
|
|
40
55
|
|
|
41
56
|
it('should render search', () => {
|
|
42
|
-
const
|
|
43
|
-
|
|
57
|
+
const { container } = render(<Icon name="search" height="34px" width="34px" alt="search" />);
|
|
58
|
+
const titleElement = container.querySelector('title');
|
|
59
|
+
expect(titleElement).toBeInTheDocument();
|
|
60
|
+
expect(titleElement).toHaveTextContent('search');
|
|
44
61
|
});
|
|
45
62
|
it('should render times', () => {
|
|
46
|
-
const
|
|
47
|
-
|
|
63
|
+
const { container } = render(<Icon name="times" height="34px" width="34px" alt="times" />);
|
|
64
|
+
const titleElement = container.querySelector('title');
|
|
65
|
+
expect(titleElement).toBeInTheDocument();
|
|
66
|
+
expect(titleElement).toHaveTextContent('times');
|
|
67
|
+
});
|
|
68
|
+
it('should not render title element if alt is not exist', () => {
|
|
69
|
+
const { container } = render(<Icon name="bars" height="34px" width="34px" />);
|
|
70
|
+
expect(container.querySelector('title')).not.toBeInTheDocument();
|
|
48
71
|
});
|
|
49
72
|
|
|
50
73
|
it('has valid SITE_KEYS', () => {
|
|
@@ -112,18 +135,17 @@ describe('<Icon />', () => {
|
|
|
112
135
|
height: '34px',
|
|
113
136
|
className: 'some-class',
|
|
114
137
|
};
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
expect(img.
|
|
119
|
-
expect(img.
|
|
120
|
-
expect(img
|
|
121
|
-
expect(img.prop('className')).toMatch(new RegExp(props.className));
|
|
138
|
+
render(<Icon {...props} />);
|
|
139
|
+
const img = screen.getByRole('img');
|
|
140
|
+
expect(img).toHaveAttribute('src', expect.stringMatching(new RegExp(`/resources/icons/${key}.svg`)));
|
|
141
|
+
expect(img).toHaveAttribute('width', props.width);
|
|
142
|
+
expect(img).toHaveAttribute('height', props.height);
|
|
143
|
+
expect(img).toHaveClass(props.className);
|
|
122
144
|
});
|
|
123
145
|
});
|
|
124
146
|
|
|
125
147
|
it('there is no icon', () => {
|
|
126
|
-
|
|
127
|
-
expect(
|
|
148
|
+
render(<Icon name="noicon" height="34px" width="34px" />);
|
|
149
|
+
expect(screen.getByText('noicon')).toBeInTheDocument();
|
|
128
150
|
});
|
|
129
151
|
});
|