@digigov/react-core 1.0.0-55e4210c → 1.0.0-60addd4a

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.
@@ -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,25 @@
1
+ import React from 'react';
2
+ import { SvgIconProps } from '@digigov/react-core/SvgIcon';
3
+ import type { IconTypes } from '@digigov/react-icons/icons';
4
+ export declare type IconProps<N extends keyof IconTypes> = SvgIconProps & IconTypes[N] & {
5
+ /**
6
+ * ref is optional.
7
+ * ref prop declares the reference of the svg icon component.
8
+ * It can be used to to access the DOM element and the React element.
9
+ */
10
+ ref?: React.Ref<SVGSVGElement>;
11
+ /**
12
+ * icon is optional, but strongly recommended.
13
+ * Default value is 'arrow'.
14
+ * Use this prop to display the icon you want.
15
+ */
16
+ icon?: N;
17
+ };
18
+ declare type IconComponent = <C extends keyof IconTypes>(props: IconProps<C>) => React.ReactElement | null;
19
+ export declare type IconNames = keyof IconTypes;
20
+ /**
21
+ * Icon is used whenever we need a GOV.GR icon.
22
+ * Choose the icon from the list in icon prop.
23
+ */
24
+ export declare const Icon: IconComponent;
25
+ export default Icon;
package/Icon/index.js ADDED
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = exports.Icon = void 0;
11
+
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
14
+ var _extends3 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
15
+
16
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
17
+
18
+ var _react = _interopRequireDefault(require("react"));
19
+
20
+ var _clsx = _interopRequireDefault(require("clsx"));
21
+
22
+ var _SvgIcon = _interopRequireDefault(require("@digigov/react-core/SvgIcon"));
23
+
24
+ var icons = _interopRequireWildcard(require("@digigov/react-icons/icons"));
25
+
26
+ var _excluded = ["icon", "className"];
27
+
28
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
29
+
30
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
+
32
+ /**
33
+ * Icon is used whenever we need a GOV.GR icon.
34
+ * Choose the icon from the list in icon prop.
35
+ */
36
+ var Icon = /*#__PURE__*/_react["default"].forwardRef(function Icon(_ref, ref) {
37
+ var _ref$icon = _ref.icon,
38
+ icon = _ref$icon === void 0 ? 'arrow' : _ref$icon,
39
+ className = _ref.className,
40
+ props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
41
+ var IconComponent = icons[icon]; // eslint-disable-next-line @typescript-eslint/ban-ts-comment
42
+ // @ts-ignore
43
+
44
+ var iconProps = IconComponent === null || IconComponent === void 0 ? void 0 : IconComponent.props.reduce(function (compProps, propName) {
45
+ var value = props[propName];
46
+ delete props[propName];
47
+ return (0, _extends3["default"])({}, compProps, (0, _defineProperty2["default"])({}, propName, value));
48
+ }, {});
49
+ return /*#__PURE__*/_react["default"].createElement(_SvgIcon["default"], (0, _extends3["default"])({
50
+ ref: ref
51
+ }, props, {
52
+ className: (0, _clsx["default"])(className, true && "govgr-svg-icon--".concat(icon))
53
+ }), /*#__PURE__*/_react["default"].createElement(IconComponent, iconProps));
54
+ });
55
+
56
+ exports.Icon = Icon;
57
+ var _default = Icon;
58
+ exports["default"] = _default;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _react = _interopRequireDefault(require("react"));
6
+
7
+ var _enzyme = require("enzyme");
8
+
9
+ var _Icon = _interopRequireDefault(require("@digigov/react-core/Icon"));
10
+
11
+ var _ref = /*#__PURE__*/_react["default"].createElement(_Icon["default"], null);
12
+
13
+ it('renders the Icon with no props', function () {
14
+ expect((0, _enzyme.mount)(_ref)).toMatchSnapshot();
15
+ });
16
+
17
+ var _ref2 = /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
18
+ direction: "up"
19
+ });
20
+
21
+ it('renders the Icon with prop icon=arrow and direction=up', function () {
22
+ expect((0, _enzyme.mount)(_ref2)).toMatchSnapshot();
23
+ });
24
+
25
+ var _ref3 = /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
26
+ icon: "burger"
27
+ });
28
+
29
+ it('renders the Icon with prop prop icon=burger', function () {
30
+ expect((0, _enzyme.mount)(_ref3)).toMatchSnapshot();
31
+ });
32
+
33
+ var _ref4 = /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
34
+ icon: "caret"
35
+ });
36
+
37
+ it('renders the Icon prop icon= "caret"', function () {
38
+ expect((0, _enzyme.mount)(_ref4)).toMatchSnapshot();
39
+ });
40
+
41
+ var _ref5 = /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
42
+ icon: "caret",
43
+ direction: "left"
44
+ });
45
+
46
+ it('renders the Icon prop icon= "caret" and direction=left', function () {
47
+ expect((0, _enzyme.mount)(_ref5)).toMatchSnapshot();
48
+ });
49
+
50
+ var _ref6 = /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
51
+ icon: "check"
52
+ });
53
+
54
+ it('renders the Icon prop icon= "check"', function () {
55
+ expect((0, _enzyme.mount)(_ref6)).toMatchSnapshot();
56
+ });
57
+
58
+ var _ref7 = /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
59
+ icon: "close"
60
+ });
61
+
62
+ it('renders the Icon prop icon= "close"', function () {
63
+ expect((0, _enzyme.mount)(_ref7)).toMatchSnapshot();
64
+ });
65
+
66
+ var _ref8 = /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
67
+ icon: "globe"
68
+ });
69
+
70
+ it('renders the Icon with prop prop icon=globe', function () {
71
+ expect((0, _enzyme.mount)(_ref8)).toMatchSnapshot();
72
+ });
73
+
74
+ var _ref9 = /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
75
+ icon: "moreVert"
76
+ });
77
+
78
+ it('renders the Icon props icon= "moreVert"', function () {
79
+ expect((0, _enzyme.mount)(_ref9)).toMatchSnapshot();
80
+ });
81
+
82
+ var _ref10 = /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
83
+ icon: "uncheck"
84
+ });
85
+
86
+ it('renders the Icon prop icon= "uncheck"', function () {
87
+ expect((0, _enzyme.mount)(_ref10)).toMatchSnapshot();
88
+ });