@zohodesk/icons 1.3.1 → 1.3.3

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.
Files changed (38) hide show
  1. package/README.md +8 -1
  2. package/assets/fonts/zd-rIM.svg +11 -0
  3. package/assets/fonts/zd-rIM.woff +0 -0
  4. package/assets/fonts/zd-rIM.woff2 +0 -0
  5. package/assets/react/zd-font-rIM.module.css +20 -0
  6. package/es/Context/IconContext.js +7 -0
  7. package/es/Context/IconProvider.js +22 -0
  8. package/es/Context/__tests__/IconContext.spec.js +115 -0
  9. package/es/Context/__tests__/__snapshots__/IconContext.spec.js.snap +166 -0
  10. package/es/Context/props/defaultProps.js +5 -0
  11. package/es/Context/props/propTypes.js +7 -0
  12. package/es/Icon/FontFactory.js +3 -0
  13. package/es/Icon/FontIcon.js +1 -8
  14. package/es/Icon/Icon.module.css +6 -0
  15. package/es/Icon/SvgIcon.js +45 -0
  16. package/es/Icon/__tests__/SvgIcon.spec.js +94 -0
  17. package/es/Icon/__tests__/__snapshots__/SvgIcon.spec.js.snap +200 -0
  18. package/es/Icon/index.js +45 -2
  19. package/es/Icon/props/defaultProps.js +7 -1
  20. package/es/Icon/props/propTypes.js +17 -0
  21. package/es/index.js +3 -1
  22. package/lib/Context/IconContext.js +19 -0
  23. package/lib/Context/IconProvider.js +38 -0
  24. package/lib/Context/__tests__/IconContext.spec.js +123 -0
  25. package/lib/Context/__tests__/__snapshots__/IconContext.spec.js.snap +166 -0
  26. package/lib/Context/props/defaultProps.js +12 -0
  27. package/lib/Context/props/propTypes.js +18 -0
  28. package/lib/Icon/FontFactory.js +3 -0
  29. package/lib/Icon/FontIcon.js +1 -8
  30. package/lib/Icon/Icon.module.css +6 -0
  31. package/lib/Icon/SvgIcon.js +57 -0
  32. package/lib/Icon/__tests__/SvgIcon.spec.js +101 -0
  33. package/lib/Icon/__tests__/__snapshots__/SvgIcon.spec.js.snap +200 -0
  34. package/lib/Icon/index.js +52 -2
  35. package/lib/Icon/props/defaultProps.js +12 -3
  36. package/lib/Icon/props/propTypes.js +20 -2
  37. package/lib/index.js +16 -0
  38. package/package.json +5 -3
@@ -0,0 +1,200 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`SvgIcon - rendering the "default" props 1`] = `
4
+ <DocumentFragment>
5
+ <svg
6
+ aria-hidden="true"
7
+ class="svgIcon "
8
+ data-id="fontIcon"
9
+ data-selector-id="fontIcon"
10
+ data-test-id="fontIcon"
11
+ >
12
+ <use
13
+ href="undefinedundefined"
14
+ />
15
+ </svg>
16
+ </DocumentFragment>
17
+ `;
18
+
19
+ exports[`SvgIcon - rendering with "ariaHidden" false 1`] = `
20
+ <DocumentFragment>
21
+ <svg
22
+ aria-hidden="false"
23
+ class="svgIcon "
24
+ data-id="fontIcon"
25
+ data-selector-id="fontIcon"
26
+ data-test-id="fontIcon"
27
+ >
28
+ <use
29
+ href="#ZD-close2"
30
+ />
31
+ </svg>
32
+ </DocumentFragment>
33
+ `;
34
+
35
+ exports[`SvgIcon - rendering with "iconClass" 1`] = `
36
+ <DocumentFragment>
37
+ <svg
38
+ aria-hidden="true"
39
+ class="svgIcon myIconClass "
40
+ data-id="fontIcon"
41
+ data-selector-id="fontIcon"
42
+ data-test-id="fontIcon"
43
+ >
44
+ <use
45
+ href="#ZD-close2"
46
+ />
47
+ </svg>
48
+ </DocumentFragment>
49
+ `;
50
+
51
+ exports[`SvgIcon - rendering with "name" and "svgPrefix" 1`] = `
52
+ <DocumentFragment>
53
+ <svg
54
+ aria-hidden="true"
55
+ class="svgIcon "
56
+ data-id="fontIcon"
57
+ data-selector-id="fontIcon"
58
+ data-test-id="fontIcon"
59
+ >
60
+ <use
61
+ href="#ZD-close2"
62
+ />
63
+ </svg>
64
+ </DocumentFragment>
65
+ `;
66
+
67
+ exports[`SvgIcon - rendering with "size" 1`] = `
68
+ <DocumentFragment>
69
+ <svg
70
+ aria-hidden="true"
71
+ class="svgIcon "
72
+ data-id="fontIcon"
73
+ data-selector-id="fontIcon"
74
+ data-test-id="fontIcon"
75
+ style="--zd-iconfont-size: var(--zd_font_size15);"
76
+ >
77
+ <use
78
+ href="#ZD-close2"
79
+ />
80
+ </svg>
81
+ </DocumentFragment>
82
+ `;
83
+
84
+ exports[`SvgIcon - rendering with "tagAttributes" 1`] = `
85
+ <DocumentFragment>
86
+ <svg
87
+ aria-hidden="true"
88
+ class="svgIcon "
89
+ data-custom-attr="true"
90
+ data-id="fontIcon"
91
+ data-selector-id="fontIcon"
92
+ data-test-id="fontIcon"
93
+ >
94
+ <use
95
+ href="#ZD-close2"
96
+ />
97
+ </svg>
98
+ </DocumentFragment>
99
+ `;
100
+
101
+ exports[`SvgIcon - rendering with "title" 1`] = `
102
+ <DocumentFragment>
103
+ <svg
104
+ aria-hidden="true"
105
+ class="svgIcon "
106
+ data-id="fontIcon"
107
+ data-selector-id="fontIcon"
108
+ data-test-id="fontIcon"
109
+ data-title="Close"
110
+ >
111
+ <use
112
+ href="#ZD-close2"
113
+ />
114
+ </svg>
115
+ </DocumentFragment>
116
+ `;
117
+
118
+ exports[`SvgIcon - rendering with "titlePosition" - bottom 1`] = `
119
+ <DocumentFragment>
120
+ <svg
121
+ aria-hidden="true"
122
+ class="svgIcon "
123
+ data-id="fontIcon"
124
+ data-selector-id="fontIcon"
125
+ data-test-id="fontIcon"
126
+ data-title-position="bottom"
127
+ >
128
+ <use
129
+ href="#ZD-close2"
130
+ />
131
+ </svg>
132
+ </DocumentFragment>
133
+ `;
134
+
135
+ exports[`SvgIcon - rendering with "titlePosition" - left 1`] = `
136
+ <DocumentFragment>
137
+ <svg
138
+ aria-hidden="true"
139
+ class="svgIcon "
140
+ data-id="fontIcon"
141
+ data-selector-id="fontIcon"
142
+ data-test-id="fontIcon"
143
+ data-title-position="left"
144
+ >
145
+ <use
146
+ href="#ZD-close2"
147
+ />
148
+ </svg>
149
+ </DocumentFragment>
150
+ `;
151
+
152
+ exports[`SvgIcon - rendering with "titlePosition" - right 1`] = `
153
+ <DocumentFragment>
154
+ <svg
155
+ aria-hidden="true"
156
+ class="svgIcon "
157
+ data-id="fontIcon"
158
+ data-selector-id="fontIcon"
159
+ data-test-id="fontIcon"
160
+ data-title-position="right"
161
+ >
162
+ <use
163
+ href="#ZD-close2"
164
+ />
165
+ </svg>
166
+ </DocumentFragment>
167
+ `;
168
+
169
+ exports[`SvgIcon - rendering with "titlePosition" - top 1`] = `
170
+ <DocumentFragment>
171
+ <svg
172
+ aria-hidden="true"
173
+ class="svgIcon "
174
+ data-id="fontIcon"
175
+ data-selector-id="fontIcon"
176
+ data-test-id="fontIcon"
177
+ data-title-position="top"
178
+ >
179
+ <use
180
+ href="#ZD-close2"
181
+ />
182
+ </svg>
183
+ </DocumentFragment>
184
+ `;
185
+
186
+ exports[`SvgIcon - rendering with external sprite "svgPrefix" 1`] = `
187
+ <DocumentFragment>
188
+ <svg
189
+ aria-hidden="true"
190
+ class="svgIcon "
191
+ data-id="fontIcon"
192
+ data-selector-id="fontIcon"
193
+ data-test-id="fontIcon"
194
+ >
195
+ <use
196
+ href="/sprites.svg#ZD-close2"
197
+ />
198
+ </svg>
199
+ </DocumentFragment>
200
+ `;
package/es/Icon/index.js CHANGED
@@ -1,6 +1,9 @@
1
- import React from 'react';
1
+ import React, { useContext } from 'react';
2
2
  import { FontFactory } from "./FontFactory";
3
3
  import FontIcon from "./FontIcon";
4
+ import IconContext from "../Context/IconContext";
5
+ import SvgIcon from "./SvgIcon";
6
+ import { DUMMY_OBJECT } from '@zohodesk/dotkit/es/utils/constants';
4
7
 
5
8
  function getAddforms() {
6
9
  return require("../../assets/react/zd-font-react-addforms.module.css");
@@ -154,6 +157,10 @@ function getReactAnalyticsColor() {
154
157
  return require("../../assets/react/zd-font-rAnalyticsColor.module.css");
155
158
  }
156
159
 
160
+ function getReactIM() {
161
+ return require("../../assets/react/zd-font-rIM.module.css");
162
+ }
163
+
157
164
  function IconRender(iconName, iconContent, props) {
158
165
  const {
159
166
  name,
@@ -223,7 +230,8 @@ function getIcon(props) {
223
230
  ReactAIIcon: getReactAI,
224
231
  ReactAutomationIcon: getReactAutomation,
225
232
  ReactDeveloperSpaceIcon: getReactDeveloperSpace,
226
- ReactAnalyticsColorIcon: getReactAnalyticsColor
233
+ ReactAnalyticsColorIcon: getReactAnalyticsColor,
234
+ ReactIMIcon: getReactIM
227
235
  };
228
236
  const iconNames = Object.keys(FontFactory);
229
237
 
@@ -256,6 +264,41 @@ function getIcon(props) {
256
264
  }
257
265
 
258
266
  function Icon(props) {
267
+ const iconContext = useContext(IconContext);
268
+ const {
269
+ type,
270
+ svgIconPrefix,
271
+ svgIconClass
272
+ } = iconContext || DUMMY_OBJECT;
273
+ let {
274
+ name,
275
+ onClick,
276
+ title,
277
+ dataId,
278
+ dataSelectorId,
279
+ size,
280
+ iconClass = '',
281
+ titlePosition,
282
+ tagAttributes,
283
+ a11y
284
+ } = props;
285
+
286
+ if (type === 'svgIcon') {
287
+ return /*#__PURE__*/React.createElement(SvgIcon, {
288
+ name: name,
289
+ onClick: onClick,
290
+ title: title,
291
+ dataId: dataId,
292
+ dataSelectorId: dataSelectorId,
293
+ size: size,
294
+ iconClass: `${svgIconClass} ${iconClass}`,
295
+ titlePosition: titlePosition,
296
+ tagAttributes: tagAttributes,
297
+ a11y: a11y,
298
+ svgPrefix: svgIconPrefix
299
+ });
300
+ }
301
+
259
302
  const {
260
303
  IconComponent
261
304
  } = getIcon(props);
@@ -1,5 +1,11 @@
1
+ import { DUMMY_OBJECT } from '@zohodesk/dotkit/es/utils/constants';
1
2
  export const IconDefaultProps = {
2
- a11y: {},
3
+ a11y: DUMMY_OBJECT,
4
+ dataSelectorId: 'fontIcon',
5
+ dataId: 'fontIcon'
6
+ };
7
+ export const SvgIconDefaultProps = {
8
+ a11y: DUMMY_OBJECT,
3
9
  dataSelectorId: 'fontIcon',
4
10
  dataId: 'fontIcon'
5
11
  };
@@ -1,6 +1,7 @@
1
1
  import PropTypes from 'prop-types';
2
2
  export const IconProps = {
3
3
  dataId: PropTypes.string,
4
+ dataSelectorId: PropTypes.string,
4
5
  iconClass: PropTypes.string,
5
6
  iconContent: PropTypes.object,
6
7
  isBold: PropTypes.bool,
@@ -15,4 +16,20 @@ export const IconProps = {
15
16
  a11y: PropTypes.shape({
16
17
  ariaHidden: PropTypes.bool
17
18
  })
19
+ };
20
+ export const SvgIconProps = {
21
+ dataId: PropTypes.string,
22
+ dataSelectorId: PropTypes.string,
23
+ iconClass: PropTypes.string,
24
+ svgClass: PropTypes.string,
25
+ svgPrefix: PropTypes.string,
26
+ onClick: PropTypes.func,
27
+ size: PropTypes.string,
28
+ title: PropTypes.string,
29
+ name: PropTypes.string.isRequired,
30
+ titlePosition: PropTypes.oneOf(['top', 'bottom', 'left', 'right']),
31
+ tagAttributes: PropTypes.object,
32
+ a11y: PropTypes.shape({
33
+ ariaHidden: PropTypes.bool
34
+ })
18
35
  };
package/es/index.js CHANGED
@@ -1 +1,3 @@
1
- export { default as Icon } from "./Icon";
1
+ export { default as Icon } from "./Icon";
2
+ export { default as IconContext } from "./Context/IconContext";
3
+ export { default as IconProvider } from "./Context/IconProvider";
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
+
12
+ var IconContext = /*#__PURE__*/_react["default"].createContext({
13
+ type: 'fontIcon',
14
+ svgIconPrefix: '#',
15
+ svgIconClass: ''
16
+ });
17
+
18
+ var _default = IconContext;
19
+ exports["default"] = _default;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = IconProvider;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _IconContext = _interopRequireDefault(require("./IconContext"));
11
+
12
+ var _propTypes = require("./props/propTypes");
13
+
14
+ var _defaultProps = require("./props/defaultProps");
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
+
18
+ function IconProvider(props) {
19
+ var type = props.type,
20
+ svgIconPrefix = props.svgIconPrefix,
21
+ svgIconClass = props.svgIconClass,
22
+ children = props.children;
23
+
24
+ var value = _react["default"].useMemo(function () {
25
+ return {
26
+ type: type,
27
+ svgIconPrefix: svgIconPrefix,
28
+ svgIconClass: svgIconClass
29
+ };
30
+ }, [type, svgIconPrefix, svgIconClass]);
31
+
32
+ return /*#__PURE__*/_react["default"].createElement(_IconContext["default"].Provider, {
33
+ value: value
34
+ }, children);
35
+ }
36
+
37
+ IconProvider.propTypes = _propTypes.IconProviderProps;
38
+ IconProvider.defaultProps = _defaultProps.IconProviderDefaultProps;
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+
3
+ var _react = _interopRequireDefault(require("react"));
4
+
5
+ var _react2 = require("@testing-library/react");
6
+
7
+ var _Icon = _interopRequireDefault(require("../../Icon"));
8
+
9
+ var _IconProvider = _interopRequireDefault(require("../IconProvider"));
10
+
11
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
12
+
13
+ describe('IconProvider / IconContext - ', function () {
14
+ test('default context - renders font icon (no provider)', function () {
15
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
16
+ name: "ZD-close2"
17
+ })),
18
+ asFragment = _render.asFragment;
19
+
20
+ expect(asFragment()).toMatchSnapshot();
21
+ });
22
+ test('type "fontIcon" - renders font icon', function () {
23
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_IconProvider["default"], {
24
+ type: "fontIcon"
25
+ }, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
26
+ name: "ZD-close2"
27
+ }))),
28
+ asFragment = _render2.asFragment;
29
+
30
+ expect(asFragment()).toMatchSnapshot();
31
+ });
32
+ test('type "svgIcon" - renders svg symbol', function () {
33
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_IconProvider["default"], {
34
+ type: "svgIcon"
35
+ }, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
36
+ name: "ZD-close2"
37
+ }))),
38
+ asFragment = _render3.asFragment;
39
+
40
+ expect(asFragment()).toMatchSnapshot();
41
+ });
42
+ test('type "svgIcon" with custom "svgIconPrefix"', function () {
43
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_IconProvider["default"], {
44
+ type: "svgIcon",
45
+ svgIconPrefix: "/sprites.svg#"
46
+ }, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
47
+ name: "ZD-close2"
48
+ }))),
49
+ asFragment = _render4.asFragment;
50
+
51
+ expect(asFragment()).toMatchSnapshot();
52
+ });
53
+ test('type "svgIcon" with "svgIconClass"', function () {
54
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_IconProvider["default"], {
55
+ type: "svgIcon",
56
+ svgIconClass: "app-svg-icon"
57
+ }, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
58
+ name: "ZD-close2"
59
+ }))),
60
+ asFragment = _render5.asFragment;
61
+
62
+ expect(asFragment()).toMatchSnapshot();
63
+ });
64
+ test('type "svgIcon" - passes "size" prop to svg', function () {
65
+ var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_IconProvider["default"], {
66
+ type: "svgIcon"
67
+ }, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
68
+ name: "ZD-close2",
69
+ size: "20"
70
+ }))),
71
+ asFragment = _render6.asFragment;
72
+
73
+ expect(asFragment()).toMatchSnapshot();
74
+ });
75
+ test('type "svgIcon" - passes "title" prop to svg', function () {
76
+ var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_IconProvider["default"], {
77
+ type: "svgIcon"
78
+ }, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
79
+ name: "ZD-close2",
80
+ title: "Close"
81
+ }))),
82
+ asFragment = _render7.asFragment;
83
+
84
+ expect(asFragment()).toMatchSnapshot();
85
+ });
86
+ test('type "svgIcon" - passes "iconClass" prop to svg', function () {
87
+ var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_IconProvider["default"], {
88
+ type: "svgIcon"
89
+ }, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
90
+ name: "ZD-close2",
91
+ iconClass: "custom-class"
92
+ }))),
93
+ asFragment = _render8.asFragment;
94
+
95
+ expect(asFragment()).toMatchSnapshot();
96
+ });
97
+ test('type "svgIcon" - passes "a11y" ariaHidden false', function () {
98
+ var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_IconProvider["default"], {
99
+ type: "svgIcon"
100
+ }, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
101
+ name: "ZD-close2",
102
+ a11y: {
103
+ ariaHidden: false
104
+ }
105
+ }))),
106
+ asFragment = _render9.asFragment;
107
+
108
+ expect(asFragment()).toMatchSnapshot();
109
+ });
110
+ test('multiple icons share the same provider context', function () {
111
+ var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_IconProvider["default"], {
112
+ type: "svgIcon",
113
+ svgIconPrefix: "#"
114
+ }, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
115
+ name: "ZD-close2"
116
+ }), /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
117
+ name: "ZD-addAccount"
118
+ }))),
119
+ asFragment = _render10.asFragment;
120
+
121
+ expect(asFragment()).toMatchSnapshot();
122
+ });
123
+ });
@@ -0,0 +1,166 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`IconProvider / IconContext - default context - renders font icon (no provider) 1`] = `
4
+ <DocumentFragment>
5
+ <i
6
+ aria-hidden="true"
7
+ class="zd_font_icons basic icon-close2 "
8
+ data-id="fontIcon"
9
+ data-selector-id="fontIcon"
10
+ data-test-id="fontIcon"
11
+ />
12
+ </DocumentFragment>
13
+ `;
14
+
15
+ exports[`IconProvider / IconContext - multiple icons share the same provider context 1`] = `
16
+ <DocumentFragment>
17
+ <svg
18
+ aria-hidden="true"
19
+ class="svgIcon "
20
+ data-id="fontIcon"
21
+ data-selector-id="fontIcon"
22
+ data-test-id="fontIcon"
23
+ >
24
+ <use
25
+ href="#ZD-close2"
26
+ />
27
+ </svg>
28
+ <svg
29
+ aria-hidden="true"
30
+ class="svgIcon "
31
+ data-id="fontIcon"
32
+ data-selector-id="fontIcon"
33
+ data-test-id="fontIcon"
34
+ >
35
+ <use
36
+ href="#ZD-addAccount"
37
+ />
38
+ </svg>
39
+ </DocumentFragment>
40
+ `;
41
+
42
+ exports[`IconProvider / IconContext - type "fontIcon" - renders font icon 1`] = `
43
+ <DocumentFragment>
44
+ <i
45
+ aria-hidden="true"
46
+ class="zd_font_icons basic icon-close2 "
47
+ data-id="fontIcon"
48
+ data-selector-id="fontIcon"
49
+ data-test-id="fontIcon"
50
+ />
51
+ </DocumentFragment>
52
+ `;
53
+
54
+ exports[`IconProvider / IconContext - type "svgIcon" - passes "a11y" ariaHidden false 1`] = `
55
+ <DocumentFragment>
56
+ <svg
57
+ aria-hidden="false"
58
+ class="svgIcon "
59
+ data-id="fontIcon"
60
+ data-selector-id="fontIcon"
61
+ data-test-id="fontIcon"
62
+ >
63
+ <use
64
+ href="#ZD-close2"
65
+ />
66
+ </svg>
67
+ </DocumentFragment>
68
+ `;
69
+
70
+ exports[`IconProvider / IconContext - type "svgIcon" - passes "iconClass" prop to svg 1`] = `
71
+ <DocumentFragment>
72
+ <svg
73
+ aria-hidden="true"
74
+ class="svgIcon custom-class "
75
+ data-id="fontIcon"
76
+ data-selector-id="fontIcon"
77
+ data-test-id="fontIcon"
78
+ >
79
+ <use
80
+ href="#ZD-close2"
81
+ />
82
+ </svg>
83
+ </DocumentFragment>
84
+ `;
85
+
86
+ exports[`IconProvider / IconContext - type "svgIcon" - passes "size" prop to svg 1`] = `
87
+ <DocumentFragment>
88
+ <svg
89
+ aria-hidden="true"
90
+ class="svgIcon "
91
+ data-id="fontIcon"
92
+ data-selector-id="fontIcon"
93
+ data-test-id="fontIcon"
94
+ style="--zd-iconfont-size: var(--zd_font_size20);"
95
+ >
96
+ <use
97
+ href="#ZD-close2"
98
+ />
99
+ </svg>
100
+ </DocumentFragment>
101
+ `;
102
+
103
+ exports[`IconProvider / IconContext - type "svgIcon" - passes "title" prop to svg 1`] = `
104
+ <DocumentFragment>
105
+ <svg
106
+ aria-hidden="true"
107
+ class="svgIcon "
108
+ data-id="fontIcon"
109
+ data-selector-id="fontIcon"
110
+ data-test-id="fontIcon"
111
+ data-title="Close"
112
+ >
113
+ <use
114
+ href="#ZD-close2"
115
+ />
116
+ </svg>
117
+ </DocumentFragment>
118
+ `;
119
+
120
+ exports[`IconProvider / IconContext - type "svgIcon" - renders svg symbol 1`] = `
121
+ <DocumentFragment>
122
+ <svg
123
+ aria-hidden="true"
124
+ class="svgIcon "
125
+ data-id="fontIcon"
126
+ data-selector-id="fontIcon"
127
+ data-test-id="fontIcon"
128
+ >
129
+ <use
130
+ href="#ZD-close2"
131
+ />
132
+ </svg>
133
+ </DocumentFragment>
134
+ `;
135
+
136
+ exports[`IconProvider / IconContext - type "svgIcon" with "svgIconClass" 1`] = `
137
+ <DocumentFragment>
138
+ <svg
139
+ aria-hidden="true"
140
+ class="svgIcon app-svg-icon "
141
+ data-id="fontIcon"
142
+ data-selector-id="fontIcon"
143
+ data-test-id="fontIcon"
144
+ >
145
+ <use
146
+ href="#ZD-close2"
147
+ />
148
+ </svg>
149
+ </DocumentFragment>
150
+ `;
151
+
152
+ exports[`IconProvider / IconContext - type "svgIcon" with custom "svgIconPrefix" 1`] = `
153
+ <DocumentFragment>
154
+ <svg
155
+ aria-hidden="true"
156
+ class="svgIcon "
157
+ data-id="fontIcon"
158
+ data-selector-id="fontIcon"
159
+ data-test-id="fontIcon"
160
+ >
161
+ <use
162
+ href="/sprites.svg#ZD-close2"
163
+ />
164
+ </svg>
165
+ </DocumentFragment>
166
+ `;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.IconProviderDefaultProps = void 0;
7
+ var IconProviderDefaultProps = {
8
+ type: 'fontIcon',
9
+ svgIconPrefix: '#',
10
+ svgIconClass: ''
11
+ };
12
+ exports.IconProviderDefaultProps = IconProviderDefaultProps;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.IconProviderProps = void 0;
7
+
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
+
12
+ var IconProviderProps = {
13
+ type: _propTypes["default"].oneOf(['fontIcon', 'svgIcon']),
14
+ svgIconPrefix: _propTypes["default"].string,
15
+ svgIconClass: _propTypes["default"].string,
16
+ children: _propTypes["default"].node.isRequired
17
+ };
18
+ exports.IconProviderProps = IconProviderProps;