@digigov/react-icons 1.0.0-88820b1e → 1.0.0-8bbf3ef2
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/AccessibilityIcon/index.d.ts +1 -1
- package/AccessibilityIcon/index.js +1 -1
- package/ArrowIcon/index.d.ts +1 -1
- package/ArrowIcon/index.js +1 -1
- package/BurgerIcon/index.d.ts +1 -1
- package/BurgerIcon/index.js +1 -1
- package/CaretIcon/index.d.ts +1 -1
- package/CaretIcon/index.js +1 -1
- package/CheckIcon/index.d.ts +1 -1
- package/CheckIcon/index.js +1 -1
- package/CloseIcon/index.d.ts +1 -1
- package/CloseIcon/index.js +1 -1
- package/GlobeIcon/index.d.ts +1 -1
- package/GlobeIcon/index.js +1 -1
- package/Icon/__snapshots__/index.test.tsx.snap +343 -0
- package/Icon/index.d.ts +25 -0
- package/Icon/index.js +58 -0
- package/Icon/index.test.d.ts +1 -0
- package/Icon/index.test.js +88 -0
- package/MoreVertIcon/index.d.ts +1 -1
- package/MoreVertIcon/index.js +1 -1
- package/SearchIcon/index.d.ts +1 -1
- package/SearchIcon/index.js +1 -1
- package/UncheckIcon/index.d.ts +1 -1
- package/UncheckIcon/index.js +1 -1
- package/es/AccessibilityIcon/index.js +1 -1
- package/es/ArrowIcon/index.js +1 -1
- package/es/BurgerIcon/index.js +1 -1
- package/es/CaretIcon/index.js +1 -1
- package/es/CheckIcon/index.js +1 -1
- package/es/CloseIcon/index.js +1 -1
- package/es/GlobeIcon/index.js +1 -1
- package/es/Icon/__snapshots__/index.test.tsx.snap +343 -0
- package/es/Icon/index.js +34 -0
- package/es/Icon/index.test.js +82 -0
- package/es/MoreVertIcon/index.js +1 -1
- package/es/SearchIcon/index.js +1 -1
- package/es/UncheckIcon/index.js +1 -1
- package/es/registry.js +2 -0
- package/esm/AccessibilityIcon/index.js +1 -1
- package/esm/ArrowIcon/index.js +1 -1
- package/esm/BurgerIcon/index.js +1 -1
- package/esm/CaretIcon/index.js +1 -1
- package/esm/CheckIcon/index.js +1 -1
- package/esm/CloseIcon/index.js +1 -1
- package/esm/GlobeIcon/index.js +1 -1
- package/esm/Icon/__snapshots__/index.test.tsx.snap +343 -0
- package/esm/Icon/index.js +34 -0
- package/esm/Icon/index.test.js +82 -0
- package/esm/MoreVertIcon/index.js +1 -1
- package/esm/SearchIcon/index.js +1 -1
- package/esm/UncheckIcon/index.js +1 -1
- package/esm/registry.js +2 -0
- package/package.json +2 -3
- package/registry.d.ts +1 -0
- package/registry.js +3 -0
- package/src/AccessibilityIcon/index.tsx +1 -1
- package/src/ArrowIcon/index.tsx +1 -1
- package/src/BurgerIcon/index.tsx +1 -1
- package/src/CaretIcon/index.tsx +1 -1
- package/src/CheckIcon/index.tsx +1 -1
- package/src/CloseIcon/index.tsx +1 -1
- package/src/GlobeIcon/index.tsx +1 -1
- package/src/Icon/__snapshots__/index.test.tsx.snap +343 -0
- package/src/Icon/index.test.tsx +36 -0
- package/src/Icon/index.tsx +63 -0
- package/src/MoreVertIcon/index.tsx +1 -1
- package/src/SearchIcon/index.tsx +1 -1
- package/src/UncheckIcon/index.tsx +1 -1
- package/src/registry.js +2 -0
|
@@ -0,0 +1,343 @@
|
|
|
1
|
+
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
+
|
|
3
|
+
exports[`renders the Icon prop icon= "caret" 1`] = `
|
|
4
|
+
<ForwardRef(Icon)
|
|
5
|
+
icon="caret"
|
|
6
|
+
>
|
|
7
|
+
<ForwardRef(SvgIcon)
|
|
8
|
+
className="govgr-svg-icon--caret"
|
|
9
|
+
>
|
|
10
|
+
<ForwardRef(Base)
|
|
11
|
+
aria-hidden="true"
|
|
12
|
+
as="svg"
|
|
13
|
+
className="govgr-svg-icon--caret govgr-svg-icon"
|
|
14
|
+
focusable="false"
|
|
15
|
+
viewBox="0 0 24 24"
|
|
16
|
+
>
|
|
17
|
+
<svg
|
|
18
|
+
aria-hidden="true"
|
|
19
|
+
className="govgr-svg-icon--caret govgr-svg-icon"
|
|
20
|
+
focusable="false"
|
|
21
|
+
viewBox="0 0 24 24"
|
|
22
|
+
>
|
|
23
|
+
<caret>
|
|
24
|
+
<path
|
|
25
|
+
d="M18,22V2L6,12L18,22z"
|
|
26
|
+
/>
|
|
27
|
+
</caret>
|
|
28
|
+
</svg>
|
|
29
|
+
</ForwardRef(Base)>
|
|
30
|
+
</ForwardRef(SvgIcon)>
|
|
31
|
+
</ForwardRef(Icon)>
|
|
32
|
+
`;
|
|
33
|
+
|
|
34
|
+
exports[`renders the Icon prop icon= "caret" and direction=left 1`] = `
|
|
35
|
+
<ForwardRef(Icon)
|
|
36
|
+
direction="left"
|
|
37
|
+
icon="caret"
|
|
38
|
+
>
|
|
39
|
+
<ForwardRef(SvgIcon)
|
|
40
|
+
className="govgr-svg-icon--caret"
|
|
41
|
+
>
|
|
42
|
+
<ForwardRef(Base)
|
|
43
|
+
aria-hidden="true"
|
|
44
|
+
as="svg"
|
|
45
|
+
className="govgr-svg-icon--caret govgr-svg-icon"
|
|
46
|
+
focusable="false"
|
|
47
|
+
viewBox="0 0 24 24"
|
|
48
|
+
>
|
|
49
|
+
<svg
|
|
50
|
+
aria-hidden="true"
|
|
51
|
+
className="govgr-svg-icon--caret govgr-svg-icon"
|
|
52
|
+
focusable="false"
|
|
53
|
+
viewBox="0 0 24 24"
|
|
54
|
+
>
|
|
55
|
+
<caret
|
|
56
|
+
direction="left"
|
|
57
|
+
>
|
|
58
|
+
<path
|
|
59
|
+
d="M18,22V2L6,12L18,22z"
|
|
60
|
+
/>
|
|
61
|
+
</caret>
|
|
62
|
+
</svg>
|
|
63
|
+
</ForwardRef(Base)>
|
|
64
|
+
</ForwardRef(SvgIcon)>
|
|
65
|
+
</ForwardRef(Icon)>
|
|
66
|
+
`;
|
|
67
|
+
|
|
68
|
+
exports[`renders the Icon prop icon= "check" 1`] = `
|
|
69
|
+
<ForwardRef(Icon)
|
|
70
|
+
icon="check"
|
|
71
|
+
>
|
|
72
|
+
<ForwardRef(SvgIcon)
|
|
73
|
+
className="govgr-svg-icon--check"
|
|
74
|
+
>
|
|
75
|
+
<ForwardRef(Base)
|
|
76
|
+
aria-hidden="true"
|
|
77
|
+
as="svg"
|
|
78
|
+
className="govgr-svg-icon--check govgr-svg-icon"
|
|
79
|
+
focusable="false"
|
|
80
|
+
viewBox="0 0 24 24"
|
|
81
|
+
>
|
|
82
|
+
<svg
|
|
83
|
+
aria-hidden="true"
|
|
84
|
+
className="govgr-svg-icon--check govgr-svg-icon"
|
|
85
|
+
focusable="false"
|
|
86
|
+
viewBox="0 0 24 24"
|
|
87
|
+
>
|
|
88
|
+
<check>
|
|
89
|
+
<polygon
|
|
90
|
+
points="9.49 14.94 4.16 9.67 1.84 12.01 9.5 19.6 22.16 7.05 19.84 4.7 9.5 14.94"
|
|
91
|
+
/>
|
|
92
|
+
</check>
|
|
93
|
+
</svg>
|
|
94
|
+
</ForwardRef(Base)>
|
|
95
|
+
</ForwardRef(SvgIcon)>
|
|
96
|
+
</ForwardRef(Icon)>
|
|
97
|
+
`;
|
|
98
|
+
|
|
99
|
+
exports[`renders the Icon prop icon= "close" 1`] = `
|
|
100
|
+
<ForwardRef(Icon)
|
|
101
|
+
icon="close"
|
|
102
|
+
>
|
|
103
|
+
<ForwardRef(SvgIcon)
|
|
104
|
+
className="govgr-svg-icon--close"
|
|
105
|
+
>
|
|
106
|
+
<ForwardRef(Base)
|
|
107
|
+
aria-hidden="true"
|
|
108
|
+
as="svg"
|
|
109
|
+
className="govgr-svg-icon--close govgr-svg-icon"
|
|
110
|
+
focusable="false"
|
|
111
|
+
viewBox="0 0 24 24"
|
|
112
|
+
>
|
|
113
|
+
<svg
|
|
114
|
+
aria-hidden="true"
|
|
115
|
+
className="govgr-svg-icon--close govgr-svg-icon"
|
|
116
|
+
focusable="false"
|
|
117
|
+
viewBox="0 0 24 24"
|
|
118
|
+
>
|
|
119
|
+
<close>
|
|
120
|
+
<polygon
|
|
121
|
+
points="14.4,11.8 22,4.2 19.7,1.8 12,9.4 4.4,1.8 2,4.2 9.7,11.9 2.1,19.5 4.4,21.9 12.1,14.3 19.7,21.9 22.1,19.5 "
|
|
122
|
+
/>
|
|
123
|
+
</close>
|
|
124
|
+
</svg>
|
|
125
|
+
</ForwardRef(Base)>
|
|
126
|
+
</ForwardRef(SvgIcon)>
|
|
127
|
+
</ForwardRef(Icon)>
|
|
128
|
+
`;
|
|
129
|
+
|
|
130
|
+
exports[`renders the Icon prop icon= "uncheck" 1`] = `
|
|
131
|
+
<ForwardRef(Icon)
|
|
132
|
+
icon="uncheck"
|
|
133
|
+
>
|
|
134
|
+
<ForwardRef(SvgIcon)
|
|
135
|
+
className="govgr-svg-icon--uncheck"
|
|
136
|
+
>
|
|
137
|
+
<ForwardRef(Base)
|
|
138
|
+
aria-hidden="true"
|
|
139
|
+
as="svg"
|
|
140
|
+
className="govgr-svg-icon--uncheck govgr-svg-icon"
|
|
141
|
+
focusable="false"
|
|
142
|
+
viewBox="0 0 24 24"
|
|
143
|
+
>
|
|
144
|
+
<svg
|
|
145
|
+
aria-hidden="true"
|
|
146
|
+
className="govgr-svg-icon--uncheck govgr-svg-icon"
|
|
147
|
+
focusable="false"
|
|
148
|
+
viewBox="0 0 24 24"
|
|
149
|
+
>
|
|
150
|
+
<uncheck>
|
|
151
|
+
<polygon
|
|
152
|
+
points="20.59 5.74 18.26 3.41 12 9.67 5.742 3.41 3.41 5.74 9.67 12 3.41 18.26 5.74 20.6 12 14.33 18.26 20.59 20.59 18.26 14.33 12 20.59 5.74"
|
|
153
|
+
/>
|
|
154
|
+
</uncheck>
|
|
155
|
+
</svg>
|
|
156
|
+
</ForwardRef(Base)>
|
|
157
|
+
</ForwardRef(SvgIcon)>
|
|
158
|
+
</ForwardRef(Icon)>
|
|
159
|
+
`;
|
|
160
|
+
|
|
161
|
+
exports[`renders the Icon props icon= "moreVert" 1`] = `
|
|
162
|
+
<ForwardRef(Icon)
|
|
163
|
+
icon="moreVert"
|
|
164
|
+
>
|
|
165
|
+
<ForwardRef(SvgIcon)
|
|
166
|
+
className="govgr-svg-icon--moreVert"
|
|
167
|
+
>
|
|
168
|
+
<ForwardRef(Base)
|
|
169
|
+
aria-hidden="true"
|
|
170
|
+
as="svg"
|
|
171
|
+
className="govgr-svg-icon--moreVert govgr-svg-icon"
|
|
172
|
+
focusable="false"
|
|
173
|
+
viewBox="0 0 24 24"
|
|
174
|
+
>
|
|
175
|
+
<svg
|
|
176
|
+
aria-hidden="true"
|
|
177
|
+
className="govgr-svg-icon--moreVert govgr-svg-icon"
|
|
178
|
+
focusable="false"
|
|
179
|
+
viewBox="0 0 24 24"
|
|
180
|
+
>
|
|
181
|
+
<moreVert>
|
|
182
|
+
<circle
|
|
183
|
+
cx="12"
|
|
184
|
+
cy="5"
|
|
185
|
+
r="2"
|
|
186
|
+
/>
|
|
187
|
+
<circle
|
|
188
|
+
cx="12"
|
|
189
|
+
cy="12"
|
|
190
|
+
r="2"
|
|
191
|
+
/>
|
|
192
|
+
<circle
|
|
193
|
+
cx="12"
|
|
194
|
+
cy="19"
|
|
195
|
+
r="2"
|
|
196
|
+
/>
|
|
197
|
+
</moreVert>
|
|
198
|
+
</svg>
|
|
199
|
+
</ForwardRef(Base)>
|
|
200
|
+
</ForwardRef(SvgIcon)>
|
|
201
|
+
</ForwardRef(Icon)>
|
|
202
|
+
`;
|
|
203
|
+
|
|
204
|
+
exports[`renders the Icon with no props 1`] = `
|
|
205
|
+
<ForwardRef(Icon)>
|
|
206
|
+
<ForwardRef(SvgIcon)
|
|
207
|
+
className="govgr-svg-icon--arrow"
|
|
208
|
+
>
|
|
209
|
+
<ForwardRef(Base)
|
|
210
|
+
aria-hidden="true"
|
|
211
|
+
as="svg"
|
|
212
|
+
className="govgr-svg-icon--arrow govgr-svg-icon"
|
|
213
|
+
focusable="false"
|
|
214
|
+
viewBox="0 0 24 24"
|
|
215
|
+
>
|
|
216
|
+
<svg
|
|
217
|
+
aria-hidden="true"
|
|
218
|
+
className="govgr-svg-icon--arrow govgr-svg-icon"
|
|
219
|
+
focusable="false"
|
|
220
|
+
viewBox="0 0 24 24"
|
|
221
|
+
>
|
|
222
|
+
<arrow>
|
|
223
|
+
<path
|
|
224
|
+
d="M8.5,2L6.1,4.3l7.6,7.7l-7.6,7.6L8.5,22l10-10L8.5,2z"
|
|
225
|
+
/>
|
|
226
|
+
</arrow>
|
|
227
|
+
</svg>
|
|
228
|
+
</ForwardRef(Base)>
|
|
229
|
+
</ForwardRef(SvgIcon)>
|
|
230
|
+
</ForwardRef(Icon)>
|
|
231
|
+
`;
|
|
232
|
+
|
|
233
|
+
exports[`renders the Icon with prop icon=arrow and direction=up 1`] = `
|
|
234
|
+
<ForwardRef(Icon)
|
|
235
|
+
direction="up"
|
|
236
|
+
>
|
|
237
|
+
<ForwardRef(SvgIcon)
|
|
238
|
+
className="govgr-svg-icon--arrow"
|
|
239
|
+
>
|
|
240
|
+
<ForwardRef(Base)
|
|
241
|
+
aria-hidden="true"
|
|
242
|
+
as="svg"
|
|
243
|
+
className="govgr-svg-icon--arrow govgr-svg-icon"
|
|
244
|
+
focusable="false"
|
|
245
|
+
viewBox="0 0 24 24"
|
|
246
|
+
>
|
|
247
|
+
<svg
|
|
248
|
+
aria-hidden="true"
|
|
249
|
+
className="govgr-svg-icon--arrow govgr-svg-icon"
|
|
250
|
+
focusable="false"
|
|
251
|
+
viewBox="0 0 24 24"
|
|
252
|
+
>
|
|
253
|
+
<arrow
|
|
254
|
+
direction="up"
|
|
255
|
+
>
|
|
256
|
+
<path
|
|
257
|
+
d="M2,15.8l2.3,2.4l7.7-7.6l7.6,7.6l2.4-2.4l-10-10L2,15.8z"
|
|
258
|
+
/>
|
|
259
|
+
</arrow>
|
|
260
|
+
</svg>
|
|
261
|
+
</ForwardRef(Base)>
|
|
262
|
+
</ForwardRef(SvgIcon)>
|
|
263
|
+
</ForwardRef(Icon)>
|
|
264
|
+
`;
|
|
265
|
+
|
|
266
|
+
exports[`renders the Icon with prop prop icon=burger 1`] = `
|
|
267
|
+
<ForwardRef(Icon)
|
|
268
|
+
icon="burger"
|
|
269
|
+
>
|
|
270
|
+
<ForwardRef(SvgIcon)
|
|
271
|
+
className="govgr-svg-icon--burger"
|
|
272
|
+
>
|
|
273
|
+
<ForwardRef(Base)
|
|
274
|
+
aria-hidden="true"
|
|
275
|
+
as="svg"
|
|
276
|
+
className="govgr-svg-icon--burger govgr-svg-icon"
|
|
277
|
+
focusable="false"
|
|
278
|
+
viewBox="0 0 24 24"
|
|
279
|
+
>
|
|
280
|
+
<svg
|
|
281
|
+
aria-hidden="true"
|
|
282
|
+
className="govgr-svg-icon--burger govgr-svg-icon"
|
|
283
|
+
focusable="false"
|
|
284
|
+
viewBox="0 0 24 24"
|
|
285
|
+
>
|
|
286
|
+
<burger>
|
|
287
|
+
<g
|
|
288
|
+
className=""
|
|
289
|
+
>
|
|
290
|
+
<rect
|
|
291
|
+
height="3.3"
|
|
292
|
+
id="govgr-svg-icon--burger__line-1"
|
|
293
|
+
width="20"
|
|
294
|
+
/>
|
|
295
|
+
<rect
|
|
296
|
+
height="3.3"
|
|
297
|
+
id="govgr-svg-icon--burger__line-2"
|
|
298
|
+
width="20"
|
|
299
|
+
/>
|
|
300
|
+
<rect
|
|
301
|
+
height="3.3"
|
|
302
|
+
id="govgr-svg-icon--burger__line-3"
|
|
303
|
+
width="20"
|
|
304
|
+
/>
|
|
305
|
+
</g>
|
|
306
|
+
</burger>
|
|
307
|
+
</svg>
|
|
308
|
+
</ForwardRef(Base)>
|
|
309
|
+
</ForwardRef(SvgIcon)>
|
|
310
|
+
</ForwardRef(Icon)>
|
|
311
|
+
`;
|
|
312
|
+
|
|
313
|
+
exports[`renders the Icon with prop prop icon=globe 1`] = `
|
|
314
|
+
<ForwardRef(Icon)
|
|
315
|
+
icon="globe"
|
|
316
|
+
>
|
|
317
|
+
<ForwardRef(SvgIcon)
|
|
318
|
+
className="govgr-svg-icon--globe"
|
|
319
|
+
>
|
|
320
|
+
<ForwardRef(Base)
|
|
321
|
+
aria-hidden="true"
|
|
322
|
+
as="svg"
|
|
323
|
+
className="govgr-svg-icon--globe govgr-svg-icon"
|
|
324
|
+
focusable="false"
|
|
325
|
+
viewBox="0 0 24 24"
|
|
326
|
+
>
|
|
327
|
+
<svg
|
|
328
|
+
aria-hidden="true"
|
|
329
|
+
className="govgr-svg-icon--globe govgr-svg-icon"
|
|
330
|
+
focusable="false"
|
|
331
|
+
viewBox="0 0 24 24"
|
|
332
|
+
>
|
|
333
|
+
<globe>
|
|
334
|
+
<path
|
|
335
|
+
d="M12,0C5.4,0,0,5.4,0,12s5.4,12,12,12s12-5.4,12-12S18.6,0,12,0z M22.4,13.1C22.4,13.1,22.4,13.2,22.4,13.1 c0,0.4-0.1,0.8-0.2,1.1v0h-3.6c0.2-1.5,0.2-3,0-4.5h3.6v0c0.1,0.4,0.1,0.7,0.2,1.1c0,0,0,0,0,0C22.5,11.6,22.5,12.4,22.4,13.1z M16,21.7c1.1-1.5,2-3.5,2.4-6h3.4c0,0,0,0,0,0C20.8,18.4,18.7,20.6,16,21.7z M21.8,8.2C21.8,8.2,21.8,8.2,21.8,8.2l-3.4,0 c-0.4-2.4-1.3-4.5-2.4-6C18.7,3.4,20.8,5.6,21.8,8.2L21.8,8.2z M17.1,9.7c0.2,1.5,0.2,3,0,4.5h-4.4V9.7L17.1,9.7L17.1,9.7z M12.7,8.2V1.6c1.9,0.6,3.5,3.2,4.1,6.6L12.7,8.2L12.7,8.2z M12.7,15.7h4.1c-0.7,3.4-2.3,6.1-4.1,6.6V15.7L12.7,15.7z M2.2,15.8 C2.2,15.8,2.2,15.8,2.2,15.8l3.4,0c0.4,2.4,1.3,4.5,2.4,6C5.3,20.6,3.2,18.4,2.2,15.8L2.2,15.8z M8,2.3c-1.1,1.5-2,3.5-2.4,6H2.2 c0,0,0,0,0,0C3.2,5.6,5.3,3.4,8,2.3z M6.9,14.3c-0.2-1.5-0.2-3,0-4.5h4.4v4.5H6.9L6.9,14.3z M11.2,15.8v6.6 c-1.9-0.6-3.5-3.2-4.1-6.6L11.2,15.8L11.2,15.8z M11.2,8.3H7.1c0.7-3.4,2.3-6.1,4.1-6.6V8.3L11.2,8.3z M1.6,10.9 C1.6,10.9,1.6,10.8,1.6,10.9c0-0.4,0.1-0.8,0.2-1.1v0h3.6c-0.2,1.5-0.2,3,0,4.5H1.7v0c-0.1-0.4-0.1-0.7-0.2-1.1c0,0,0,0,0,0 C1.5,12.4,1.5,11.6,1.6,10.9z"
|
|
336
|
+
/>
|
|
337
|
+
|
|
338
|
+
</globe>
|
|
339
|
+
</svg>
|
|
340
|
+
</ForwardRef(Base)>
|
|
341
|
+
</ForwardRef(SvgIcon)>
|
|
342
|
+
</ForwardRef(Icon)>
|
|
343
|
+
`;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { mount } from 'enzyme';
|
|
3
|
+
|
|
4
|
+
import Icon from '@digigov/react-icons/Icon';
|
|
5
|
+
|
|
6
|
+
it('renders the Icon with no props', () => {
|
|
7
|
+
expect(mount(<Icon />)).toMatchSnapshot();
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
it('renders the Icon with prop icon=arrow and direction=up', () => {
|
|
11
|
+
expect(mount(<Icon direction="up" />)).toMatchSnapshot();
|
|
12
|
+
});
|
|
13
|
+
it('renders the Icon with prop prop icon=burger', () => {
|
|
14
|
+
expect(mount(<Icon icon="burger" />)).toMatchSnapshot();
|
|
15
|
+
});
|
|
16
|
+
it('renders the Icon prop icon= "caret"', () => {
|
|
17
|
+
expect(mount(<Icon icon="caret" />)).toMatchSnapshot();
|
|
18
|
+
});
|
|
19
|
+
it('renders the Icon prop icon= "caret" and direction=left', () => {
|
|
20
|
+
expect(mount(<Icon icon="caret" direction="left" />)).toMatchSnapshot();
|
|
21
|
+
});
|
|
22
|
+
it('renders the Icon prop icon= "check"', () => {
|
|
23
|
+
expect(mount(<Icon icon="check" />)).toMatchSnapshot();
|
|
24
|
+
});
|
|
25
|
+
it('renders the Icon prop icon= "close"', () => {
|
|
26
|
+
expect(mount(<Icon icon="close" />)).toMatchSnapshot();
|
|
27
|
+
});
|
|
28
|
+
it('renders the Icon with prop prop icon=globe', () => {
|
|
29
|
+
expect(mount(<Icon icon="globe" />)).toMatchSnapshot();
|
|
30
|
+
});
|
|
31
|
+
it('renders the Icon props icon= "moreVert"', () => {
|
|
32
|
+
expect(mount(<Icon icon="moreVert" />)).toMatchSnapshot();
|
|
33
|
+
});
|
|
34
|
+
it('renders the Icon prop icon= "uncheck"', () => {
|
|
35
|
+
expect(mount(<Icon icon="uncheck" />)).toMatchSnapshot();
|
|
36
|
+
});
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import clsx from 'clsx';
|
|
3
|
+
import SvgIcon, { SvgIconProps } from '@digigov/react-core/SvgIcon';
|
|
4
|
+
import * as icons from '@digigov/react-icons/icons';
|
|
5
|
+
import type { IconTypes } from '@digigov/react-icons/icons';
|
|
6
|
+
|
|
7
|
+
export type IconProps<N extends keyof IconTypes> = SvgIconProps &
|
|
8
|
+
IconTypes[N] & {
|
|
9
|
+
/**
|
|
10
|
+
* ref is optional.
|
|
11
|
+
* ref prop declares the reference of the svg icon component.
|
|
12
|
+
* It can be used to to access the DOM element and the React element.
|
|
13
|
+
*/
|
|
14
|
+
ref?: React.Ref<SVGSVGElement>;
|
|
15
|
+
/**
|
|
16
|
+
* icon is optional, but strongly recommended.
|
|
17
|
+
* Default value is 'arrow'.
|
|
18
|
+
* Use this prop to display the icon you want.
|
|
19
|
+
*/
|
|
20
|
+
icon?: N;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
type IconComponent = <C extends keyof IconTypes>(
|
|
24
|
+
props: IconProps<C>
|
|
25
|
+
) => React.ReactElement | null;
|
|
26
|
+
export type IconNames = keyof IconTypes;
|
|
27
|
+
/**
|
|
28
|
+
* Icon is used whenever we need a GOV.GR icon.
|
|
29
|
+
* Choose the icon from the list in icon prop.
|
|
30
|
+
*/
|
|
31
|
+
export const Icon: IconComponent = React.forwardRef<
|
|
32
|
+
SVGSVGElement,
|
|
33
|
+
IconProps<IconNames>
|
|
34
|
+
>(function Icon(
|
|
35
|
+
{ icon = 'arrow', className, ...props }: IconProps<IconNames>,
|
|
36
|
+
ref
|
|
37
|
+
) {
|
|
38
|
+
const IconComponent = icons[icon];
|
|
39
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
40
|
+
// @ts-ignore
|
|
41
|
+
const iconProps = IconComponent?.props.reduce((compProps, propName) => {
|
|
42
|
+
const value = props[propName];
|
|
43
|
+
delete props[propName];
|
|
44
|
+
return {
|
|
45
|
+
...compProps,
|
|
46
|
+
[propName]: value,
|
|
47
|
+
};
|
|
48
|
+
}, {});
|
|
49
|
+
|
|
50
|
+
return (
|
|
51
|
+
<SvgIcon
|
|
52
|
+
ref={ref}
|
|
53
|
+
{...props}
|
|
54
|
+
className={clsx(className, {
|
|
55
|
+
[`govgr-svg-icon--${icon}`]: true,
|
|
56
|
+
})}
|
|
57
|
+
>
|
|
58
|
+
<IconComponent {...iconProps} />
|
|
59
|
+
</SvgIcon>
|
|
60
|
+
);
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
export default Icon;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import Icon, { IconProps } from '@digigov/react-
|
|
2
|
+
import Icon, { IconProps } from '@digigov/react-icons/Icon';
|
|
3
3
|
|
|
4
4
|
export const MoreVertIcon: React.FC<IconProps<'moreVert'>> = (props) => {
|
|
5
5
|
return <Icon {...props} icon="moreVert"></Icon>;
|
package/src/SearchIcon/index.tsx
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import Icon, { IconProps } from '@digigov/react-
|
|
2
|
+
import Icon, { IconProps } from '@digigov/react-icons/Icon';
|
|
3
3
|
|
|
4
4
|
export const SearchIcon: React.FC<IconProps<'search'>> = (props) => {
|
|
5
5
|
return <Icon {...props} icon="search"></Icon>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import Icon, { IconProps } from '@digigov/react-
|
|
2
|
+
import Icon, { IconProps } from '@digigov/react-icons/Icon';
|
|
3
3
|
|
|
4
4
|
export const UncheckIcon: React.FC<IconProps<'uncheck'>> = (props) => {
|
|
5
5
|
return <Icon {...props} icon="uncheck"></Icon>;
|
package/src/registry.js
CHANGED
|
@@ -6,6 +6,7 @@ import * as _digigov_react_icons_CaretIcon from '@digigov/react-icons/CaretIcon'
|
|
|
6
6
|
import * as _digigov_react_icons_CheckIcon from '@digigov/react-icons/CheckIcon';
|
|
7
7
|
import * as _digigov_react_icons_CloseIcon from '@digigov/react-icons/CloseIcon';
|
|
8
8
|
import * as _digigov_react_icons_GlobeIcon from '@digigov/react-icons/GlobeIcon';
|
|
9
|
+
import * as _digigov_react_icons_Icon from '@digigov/react-icons/Icon';
|
|
9
10
|
import * as _digigov_react_icons_icons from '@digigov/react-icons/icons';
|
|
10
11
|
import * as _digigov_react_icons from '@digigov/react-icons';
|
|
11
12
|
import * as _digigov_react_icons_MoreVertIcon from '@digigov/react-icons/MoreVertIcon';
|
|
@@ -38,6 +39,7 @@ export default {
|
|
|
38
39
|
'@digigov/react-icons/CheckIcon': lazyImport(_digigov_react_icons_CheckIcon),
|
|
39
40
|
'@digigov/react-icons/CloseIcon': lazyImport(_digigov_react_icons_CloseIcon),
|
|
40
41
|
'@digigov/react-icons/GlobeIcon': lazyImport(_digigov_react_icons_GlobeIcon),
|
|
42
|
+
'@digigov/react-icons/Icon': lazyImport(_digigov_react_icons_Icon),
|
|
41
43
|
'@digigov/react-icons/icons': lazyImport(_digigov_react_icons_icons),
|
|
42
44
|
'@digigov/react-icons': lazyImport(_digigov_react_icons),
|
|
43
45
|
'@digigov/react-icons/MoreVertIcon': lazyImport(_digigov_react_icons_MoreVertIcon),
|