@zohodesk/icons 1.3.0 → 1.3.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/README.md +8 -0
- package/assets/fonts/zd-rAnalyticsColor.svg +2 -2
- package/assets/fonts/zd-rAnalyticsColor.woff +0 -0
- package/assets/fonts/zd-rAnalyticsColor.woff2 +0 -0
- package/assets/fonts/zd-rAutomation.svg +5 -0
- package/assets/fonts/zd-rAutomation.woff +0 -0
- package/assets/fonts/zd-rAutomation.woff2 +0 -0
- package/assets/fonts/zd-rTickets.svg +2 -0
- package/assets/fonts/zd-rTickets.woff +0 -0
- package/assets/fonts/zd-rTickets.woff2 +0 -0
- package/assets/react/zd-font-rAnalyticsColor.module.css +3 -3
- package/assets/react/zd-font-rAutomation.module.css +16 -1
- package/assets/react/zd-font-rTickets.module.css +10 -1
- package/es/Context/IconContext.js +7 -0
- package/es/Context/IconProvider.js +22 -0
- package/es/Context/__tests__/IconContext.spec.js +115 -0
- package/es/Context/__tests__/__snapshots__/IconContext.spec.js.snap +166 -0
- package/es/Context/props/defaultProps.js +5 -0
- package/es/Context/props/propTypes.js +7 -0
- package/es/Icon/FontFactory.js +8 -2
- package/es/Icon/FontIcon.js +1 -8
- package/es/Icon/Icon.module.css +6 -0
- package/es/Icon/SvgIcon.js +45 -0
- package/es/Icon/__tests__/SvgIcon.spec.js +94 -0
- package/es/Icon/__tests__/__snapshots__/SvgIcon.spec.js.snap +200 -0
- package/es/Icon/index.js +39 -1
- package/es/Icon/props/defaultProps.js +7 -1
- package/es/Icon/props/propTypes.js +17 -0
- package/es/index.js +3 -1
- package/lib/Context/IconContext.js +19 -0
- package/lib/Context/IconProvider.js +38 -0
- package/lib/Context/__tests__/IconContext.spec.js +123 -0
- package/lib/Context/__tests__/__snapshots__/IconContext.spec.js.snap +166 -0
- package/lib/Context/props/defaultProps.js +12 -0
- package/lib/Context/props/propTypes.js +18 -0
- package/lib/Icon/FontFactory.js +8 -2
- package/lib/Icon/FontIcon.js +1 -8
- package/lib/Icon/Icon.module.css +6 -0
- package/lib/Icon/SvgIcon.js +57 -0
- package/lib/Icon/__tests__/SvgIcon.spec.js +101 -0
- package/lib/Icon/__tests__/__snapshots__/SvgIcon.spec.js.snap +200 -0
- package/lib/Icon/index.js +46 -1
- package/lib/Icon/props/defaultProps.js +12 -3
- package/lib/Icon/props/propTypes.js +20 -2
- package/lib/index.js +16 -0
- package/package.json +15 -11
|
@@ -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;
|
package/lib/Icon/FontFactory.js
CHANGED
|
@@ -1750,7 +1750,8 @@ var FontFactory = {
|
|
|
1750
1750
|
'ZD-TK-tempPreview': 'icon-tempPreview',
|
|
1751
1751
|
'ZD-TK-botPositive': 'icon-botPositive',
|
|
1752
1752
|
'ZD-TK-botNeutral': 'icon-botNeutral',
|
|
1753
|
-
'ZD-TK-nestedConversation': 'icon-nestedConversation'
|
|
1753
|
+
'ZD-TK-nestedConversation': 'icon-nestedConversation',
|
|
1754
|
+
'ZD-TK-sideChat': ['icon-sideChat', 2]
|
|
1754
1755
|
},
|
|
1755
1756
|
ReactTopbandFontIcon: {
|
|
1756
1757
|
'ZD-TB-advanceSearch': 'icon-advanceSearch',
|
|
@@ -2023,7 +2024,12 @@ var FontFactory = {
|
|
|
2023
2024
|
'ZD-AU-ziaBot': ['icon-ziaBot', 2],
|
|
2024
2025
|
'ZD-AU-ziaExtract': ['icon-ziaExtract', 2],
|
|
2025
2026
|
'ZD-AU-ziaGenerate': ['icon-ziaGenerate', 2],
|
|
2026
|
-
'ZD-AU-ziaPredict': ['icon-ziaPredict', 2]
|
|
2027
|
+
'ZD-AU-ziaPredict': ['icon-ziaPredict', 2],
|
|
2028
|
+
'ZD-AU-skip': 'icon-skip',
|
|
2029
|
+
'ZD-AU-scheduleDelay': 'icon-scheduleDelay',
|
|
2030
|
+
'ZD-AU-reschedule': 'icon-reschedule',
|
|
2031
|
+
'ZD-AU-nodeRemove': 'icon-nodeRemove',
|
|
2032
|
+
'ZD-AU-failure': 'icon-failure'
|
|
2027
2033
|
},
|
|
2028
2034
|
ReactDeveloperSpaceIcon: {
|
|
2029
2035
|
'ZD-DS-customMobileApp': 'icon-customMobileApp'
|
package/lib/Icon/FontIcon.js
CHANGED
|
@@ -115,11 +115,4 @@ var FontIcon = /*#__PURE__*/function (_React$Component) {
|
|
|
115
115
|
|
|
116
116
|
exports["default"] = FontIcon;
|
|
117
117
|
FontIcon.propTypes = _propTypes.IconProps;
|
|
118
|
-
FontIcon.defaultProps = _defaultProps.IconDefaultProps;
|
|
119
|
-
|
|
120
|
-
if (__DOCS__) {
|
|
121
|
-
FontIcon.docs = {
|
|
122
|
-
componentGroup: 'Icon',
|
|
123
|
-
folderName: 'Style Guide'
|
|
124
|
-
};
|
|
125
|
-
}
|
|
118
|
+
FontIcon.defaultProps = _defaultProps.IconDefaultProps;
|
package/lib/Icon/Icon.module.css
CHANGED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = SvgIcon;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _defaultProps = require("./props/defaultProps");
|
|
11
|
+
|
|
12
|
+
var _propTypes = require("./props/propTypes");
|
|
13
|
+
|
|
14
|
+
var _constants = require("@zohodesk/dotkit/es/utils/constants");
|
|
15
|
+
|
|
16
|
+
var _IconModule = _interopRequireDefault(require("./Icon.module.css"));
|
|
17
|
+
|
|
18
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
19
|
+
|
|
20
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
21
|
+
|
|
22
|
+
function SvgIcon(_ref) {
|
|
23
|
+
var name = _ref.name,
|
|
24
|
+
onClick = _ref.onClick,
|
|
25
|
+
title = _ref.title,
|
|
26
|
+
dataId = _ref.dataId,
|
|
27
|
+
dataSelectorId = _ref.dataSelectorId,
|
|
28
|
+
size = _ref.size,
|
|
29
|
+
iconClass = _ref.iconClass,
|
|
30
|
+
titlePosition = _ref.titlePosition,
|
|
31
|
+
tagAttributes = _ref.tagAttributes,
|
|
32
|
+
a11y = _ref.a11y,
|
|
33
|
+
svgPrefix = _ref.svgPrefix;
|
|
34
|
+
var _a11y$ariaHidden = a11y.ariaHidden,
|
|
35
|
+
ariaHidden = _a11y$ariaHidden === void 0 ? true : _a11y$ariaHidden;
|
|
36
|
+
var href = "".concat(svgPrefix).concat(name);
|
|
37
|
+
var fontStyle = size ? {
|
|
38
|
+
'--zd-iconfont-size': 'var(--zd_font_size' + size + ')'
|
|
39
|
+
} : _constants.DUMMY_OBJECT;
|
|
40
|
+
var className = "".concat(_IconModule["default"].svgIcon, " ").concat(iconClass ? iconClass : '', " ").concat(onClick ? _IconModule["default"].cursor : '');
|
|
41
|
+
return /*#__PURE__*/_react["default"].createElement("svg", _extends({
|
|
42
|
+
className: className,
|
|
43
|
+
onClick: onClick,
|
|
44
|
+
"data-title": title,
|
|
45
|
+
"data-id": dataId,
|
|
46
|
+
"data-test-id": dataId,
|
|
47
|
+
"data-selector-id": dataSelectorId,
|
|
48
|
+
"data-title-position": titlePosition,
|
|
49
|
+
style: fontStyle,
|
|
50
|
+
"aria-hidden": ariaHidden
|
|
51
|
+
}, tagAttributes), /*#__PURE__*/_react["default"].createElement("use", {
|
|
52
|
+
href: href
|
|
53
|
+
}));
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
SvgIcon.propTypes = _propTypes.SvgIconProps;
|
|
57
|
+
SvgIcon.defaultProps = _defaultProps.SvgIconDefaultProps;
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _react = _interopRequireDefault(require("react"));
|
|
4
|
+
|
|
5
|
+
var _SvgIcon = _interopRequireDefault(require("../SvgIcon"));
|
|
6
|
+
|
|
7
|
+
var _react2 = require("@testing-library/react");
|
|
8
|
+
|
|
9
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
10
|
+
|
|
11
|
+
describe('SvgIcon - ', function () {
|
|
12
|
+
test('rendering the "default" props', function () {
|
|
13
|
+
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_SvgIcon["default"], null)),
|
|
14
|
+
asFragment = _render.asFragment;
|
|
15
|
+
|
|
16
|
+
expect(asFragment()).toMatchSnapshot();
|
|
17
|
+
});
|
|
18
|
+
test('rendering with "name" and "svgPrefix"', function () {
|
|
19
|
+
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_SvgIcon["default"], {
|
|
20
|
+
name: "ZD-close2",
|
|
21
|
+
svgPrefix: "#"
|
|
22
|
+
})),
|
|
23
|
+
asFragment = _render2.asFragment;
|
|
24
|
+
|
|
25
|
+
expect(asFragment()).toMatchSnapshot();
|
|
26
|
+
});
|
|
27
|
+
test('rendering with external sprite "svgPrefix"', function () {
|
|
28
|
+
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_SvgIcon["default"], {
|
|
29
|
+
name: "ZD-close2",
|
|
30
|
+
svgPrefix: "/sprites.svg#"
|
|
31
|
+
})),
|
|
32
|
+
asFragment = _render3.asFragment;
|
|
33
|
+
|
|
34
|
+
expect(asFragment()).toMatchSnapshot();
|
|
35
|
+
});
|
|
36
|
+
test('rendering with "title"', function () {
|
|
37
|
+
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_SvgIcon["default"], {
|
|
38
|
+
name: "ZD-close2",
|
|
39
|
+
svgPrefix: "#",
|
|
40
|
+
title: "Close"
|
|
41
|
+
})),
|
|
42
|
+
asFragment = _render4.asFragment;
|
|
43
|
+
|
|
44
|
+
expect(asFragment()).toMatchSnapshot();
|
|
45
|
+
});
|
|
46
|
+
test('rendering with "size"', function () {
|
|
47
|
+
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_SvgIcon["default"], {
|
|
48
|
+
name: "ZD-close2",
|
|
49
|
+
svgPrefix: "#",
|
|
50
|
+
size: "15"
|
|
51
|
+
})),
|
|
52
|
+
asFragment = _render5.asFragment;
|
|
53
|
+
|
|
54
|
+
expect(asFragment()).toMatchSnapshot();
|
|
55
|
+
});
|
|
56
|
+
test('rendering with "iconClass"', function () {
|
|
57
|
+
var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_SvgIcon["default"], {
|
|
58
|
+
name: "ZD-close2",
|
|
59
|
+
svgPrefix: "#",
|
|
60
|
+
iconClass: "myIconClass"
|
|
61
|
+
})),
|
|
62
|
+
asFragment = _render6.asFragment;
|
|
63
|
+
|
|
64
|
+
expect(asFragment()).toMatchSnapshot();
|
|
65
|
+
});
|
|
66
|
+
test('rendering with "ariaHidden" false', function () {
|
|
67
|
+
var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_SvgIcon["default"], {
|
|
68
|
+
name: "ZD-close2",
|
|
69
|
+
svgPrefix: "#",
|
|
70
|
+
a11y: {
|
|
71
|
+
ariaHidden: false
|
|
72
|
+
}
|
|
73
|
+
})),
|
|
74
|
+
asFragment = _render7.asFragment;
|
|
75
|
+
|
|
76
|
+
expect(asFragment()).toMatchSnapshot();
|
|
77
|
+
});
|
|
78
|
+
var titlePositions = ['top', 'bottom', 'left', 'right'];
|
|
79
|
+
test.each(titlePositions)('rendering with "titlePosition" - %s', function (titlePosition) {
|
|
80
|
+
var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_SvgIcon["default"], {
|
|
81
|
+
name: "ZD-close2",
|
|
82
|
+
svgPrefix: "#",
|
|
83
|
+
titlePosition: titlePosition
|
|
84
|
+
})),
|
|
85
|
+
asFragment = _render8.asFragment;
|
|
86
|
+
|
|
87
|
+
expect(asFragment()).toMatchSnapshot();
|
|
88
|
+
});
|
|
89
|
+
test('rendering with "tagAttributes"', function () {
|
|
90
|
+
var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_SvgIcon["default"], {
|
|
91
|
+
name: "ZD-close2",
|
|
92
|
+
svgPrefix: "#",
|
|
93
|
+
tagAttributes: {
|
|
94
|
+
'data-custom-attr': 'true'
|
|
95
|
+
}
|
|
96
|
+
})),
|
|
97
|
+
asFragment = _render9.asFragment;
|
|
98
|
+
|
|
99
|
+
expect(asFragment()).toMatchSnapshot();
|
|
100
|
+
});
|
|
101
|
+
});
|
|
@@ -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/lib/Icon/index.js
CHANGED
|
@@ -5,14 +5,24 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
7
|
|
|
8
|
-
var _react =
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
|
|
10
10
|
var _FontFactory = require("./FontFactory");
|
|
11
11
|
|
|
12
12
|
var _FontIcon = _interopRequireDefault(require("./FontIcon"));
|
|
13
13
|
|
|
14
|
+
var _IconContext = _interopRequireDefault(require("../Context/IconContext"));
|
|
15
|
+
|
|
16
|
+
var _SvgIcon = _interopRequireDefault(require("./SvgIcon"));
|
|
17
|
+
|
|
18
|
+
var _constants = require("@zohodesk/dotkit/es/utils/constants");
|
|
19
|
+
|
|
14
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
15
21
|
|
|
22
|
+
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); }
|
|
23
|
+
|
|
24
|
+
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; }
|
|
25
|
+
|
|
16
26
|
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
17
27
|
|
|
18
28
|
function getAddforms() {
|
|
@@ -270,6 +280,41 @@ function getIcon(props) {
|
|
|
270
280
|
}
|
|
271
281
|
|
|
272
282
|
function Icon(props) {
|
|
283
|
+
var iconContext = (0, _react.useContext)(_IconContext["default"]);
|
|
284
|
+
|
|
285
|
+
var _ref = iconContext || _constants.DUMMY_OBJECT,
|
|
286
|
+
type = _ref.type,
|
|
287
|
+
svgIconPrefix = _ref.svgIconPrefix,
|
|
288
|
+
svgIconClass = _ref.svgIconClass;
|
|
289
|
+
|
|
290
|
+
var name = props.name,
|
|
291
|
+
onClick = props.onClick,
|
|
292
|
+
title = props.title,
|
|
293
|
+
dataId = props.dataId,
|
|
294
|
+
dataSelectorId = props.dataSelectorId,
|
|
295
|
+
size = props.size,
|
|
296
|
+
_props$iconClass = props.iconClass,
|
|
297
|
+
iconClass = _props$iconClass === void 0 ? '' : _props$iconClass,
|
|
298
|
+
titlePosition = props.titlePosition,
|
|
299
|
+
tagAttributes = props.tagAttributes,
|
|
300
|
+
a11y = props.a11y;
|
|
301
|
+
|
|
302
|
+
if (type === 'svgIcon') {
|
|
303
|
+
return /*#__PURE__*/_react["default"].createElement(_SvgIcon["default"], {
|
|
304
|
+
name: name,
|
|
305
|
+
onClick: onClick,
|
|
306
|
+
title: title,
|
|
307
|
+
dataId: dataId,
|
|
308
|
+
dataSelectorId: dataSelectorId,
|
|
309
|
+
size: size,
|
|
310
|
+
iconClass: "".concat(svgIconClass, " ").concat(iconClass),
|
|
311
|
+
titlePosition: titlePosition,
|
|
312
|
+
tagAttributes: tagAttributes,
|
|
313
|
+
a11y: a11y,
|
|
314
|
+
svgPrefix: svgIconPrefix
|
|
315
|
+
});
|
|
316
|
+
}
|
|
317
|
+
|
|
273
318
|
var _getIcon = getIcon(props),
|
|
274
319
|
IconComponent = _getIcon.IconComponent;
|
|
275
320
|
|