@zohodesk/components 1.4.21 → 1.4.23

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 (153) hide show
  1. package/README.md +34 -0
  2. package/assets/Appearance/dark/mode/Component_DarkMode.module.css +15 -0
  3. package/assets/Appearance/light/mode/Component_LightMode.module.css +15 -0
  4. package/assets/Appearance/pureDark/mode/Component_PureDarkMode.module.css +15 -0
  5. package/es/ColorSelect/ColorMultiSelect.js +38 -0
  6. package/es/ColorSelect/ColorSelect.module.css +3 -0
  7. package/es/ColorSelect/ColorSingleSelect.js +83 -0
  8. package/es/ColorSelect/__tests__/ColorMultiSelect.spec.js +71 -0
  9. package/es/ColorSelect/__tests__/ColorSingleSelect.spec.js +80 -0
  10. package/es/ColorSelect/__tests__/__snapshots__/ColorMultiSelect.spec.js.snap +536 -0
  11. package/es/ColorSelect/__tests__/__snapshots__/ColorSingleSelect.spec.js.snap +422 -0
  12. package/es/ColorSelect/_shared/ColorIndicator/ColorIndicator.js +33 -0
  13. package/es/ColorSelect/_shared/ColorIndicator/ColorIndicator.module.css +19 -0
  14. package/es/ColorSelect/_shared/ColorIndicator/__tests__/ColorIndicator.spec.js +79 -0
  15. package/es/ColorSelect/_shared/ColorIndicator/__tests__/__snapshots__/ColorIndicator.spec.js.snap +106 -0
  16. package/es/ColorSelect/_shared/ColorIndicator/props/defaultProps.js +8 -0
  17. package/es/ColorSelect/_shared/ColorIndicator/props/propTypes.js +10 -0
  18. package/es/ColorSelect/_shared/ColoredTag/ColoredTag.js +33 -0
  19. package/es/ColorSelect/_shared/ColoredTag/__tests__/ColoredTag.spec.js +50 -0
  20. package/es/ColorSelect/_shared/ColoredTag/__tests__/__snapshots__/ColoredTag.spec.js.snap +101 -0
  21. package/es/ColorSelect/_shared/ColoredTag/props/propTypes.js +10 -0
  22. package/es/ColorSelect/_shared/helpers/renderHelpers.js +43 -0
  23. package/es/ColorSelect/props/defaultProps.js +12 -0
  24. package/es/ColorSelect/props/propTypes.js +17 -0
  25. package/es/DateTime/__tests__/__snapshots__/DateTime.spec.js.snap +3 -18
  26. package/es/DateTime/__tests__/__snapshots__/DateWidget.spec.js.snap +1 -6
  27. package/es/DateTime/__tests__/__snapshots__/Time.spec.js.snap +3 -18
  28. package/es/ListItem/ListItem.js +6 -1
  29. package/es/ListItem/ListItem.module.css +6 -0
  30. package/es/ListItem/__tests__/ListItem.spec.js +8 -0
  31. package/es/ListItem/__tests__/__snapshots__/ListItem.spec.js.snap +47 -0
  32. package/es/ListItem/props/propTypes.js +1 -0
  33. package/es/MultiSelect/MultiSelect.js +11 -5
  34. package/es/MultiSelect/SelectedOptions.js +24 -1
  35. package/es/MultiSelect/Suggestions.js +4 -1
  36. package/es/MultiSelect/__tests__/MultiSelect.spec.js +38 -0
  37. package/es/MultiSelect/__tests__/SelectedOptions.spec.js +13 -0
  38. package/es/MultiSelect/__tests__/Suggestions.spec.js +12 -0
  39. package/es/MultiSelect/__tests__/__snapshots__/AdvancedGroupMultiSelect.spec.js.snap +1 -3
  40. package/es/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +3 -9
  41. package/es/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +91 -12
  42. package/es/MultiSelect/__tests__/__snapshots__/MultiSelectWithAvatar.spec.js.snap +1 -3
  43. package/es/MultiSelect/__tests__/__snapshots__/SelectedOptions.spec.js.snap +15 -0
  44. package/es/MultiSelect/__tests__/__snapshots__/Suggestions.spec.js.snap +66 -0
  45. package/es/MultiSelect/props/propTypes.js +6 -0
  46. package/es/Select/Select.js +67 -5
  47. package/es/Select/__tests__/Select.spec.js +10 -0
  48. package/es/Select/__tests__/__snapshots__/GroupSelect.spec.js.snap +1 -6
  49. package/es/Select/__tests__/__snapshots__/Select.spec.js.snap +111 -441
  50. package/es/Select/__tests__/__snapshots__/SelectWithIcon.spec.js.snap +1 -6
  51. package/es/Select/props/defaultProps.js +2 -1
  52. package/es/Select/props/propTypes.js +3 -1
  53. package/es/TextBox/__tests__/TextBox.spec.js +1 -1
  54. package/es/TextBoxIcon/TextBoxIcon.js +17 -12
  55. package/es/TextBoxIcon/TextBoxIcon.module.css +3 -38
  56. package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +9 -2
  57. package/es/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +78 -224
  58. package/es/TextBoxIcon/props/propTypes.js +1 -2
  59. package/es/Typography/Typography.js +9 -2
  60. package/es/Typography/__tests__/Typography.spec.js +427 -0
  61. package/es/Typography/__tests__/__snapshots__/Typography.spec.js.snap +506 -0
  62. package/es/Typography/props/defaultProps.js +2 -1
  63. package/es/Typography/props/propTypes.js +24 -5
  64. package/es/Typography/utils/textHighlighter.js +139 -0
  65. package/es/shared/ArrowIcon/ArrowIcon.js +51 -0
  66. package/es/shared/ArrowIcon/ArrowIcon.module.css +43 -0
  67. package/es/shared/ArrowIcon/__tests__/ArrowIcon.spec.js +100 -0
  68. package/es/shared/ArrowIcon/__tests__/__snapshots__/ArrowIcon.spec.js.snap +221 -0
  69. package/es/shared/ArrowIcon/props/defaultProps.js +11 -0
  70. package/es/shared/ArrowIcon/props/propTypes.js +17 -0
  71. package/es/shared/InputFieldLine/InputFieldLine.js +45 -0
  72. package/es/shared/InputFieldLine/InputFieldLine.module.css +88 -0
  73. package/es/shared/InputFieldLine/__tests__/InputFieldLine.spec.js +114 -0
  74. package/es/shared/InputFieldLine/__tests__/__snapshots__/InputFieldLine.spec.js.snap +194 -0
  75. package/es/shared/InputFieldLine/props/defaultProps.js +16 -0
  76. package/es/shared/InputFieldLine/props/propTypes.js +22 -0
  77. package/es/utils/Common.js +3 -2
  78. package/es/utils/dropDownUtils.js +7 -1
  79. package/lib/ColorSelect/ColorMultiSelect.js +71 -0
  80. package/lib/ColorSelect/ColorSelect.module.css +3 -0
  81. package/lib/ColorSelect/ColorSingleSelect.js +111 -0
  82. package/lib/ColorSelect/__tests__/ColorMultiSelect.spec.js +82 -0
  83. package/lib/ColorSelect/__tests__/ColorSingleSelect.spec.js +91 -0
  84. package/lib/ColorSelect/__tests__/__snapshots__/ColorMultiSelect.spec.js.snap +536 -0
  85. package/lib/ColorSelect/__tests__/__snapshots__/ColorSingleSelect.spec.js.snap +422 -0
  86. package/lib/ColorSelect/_shared/ColorIndicator/ColorIndicator.js +47 -0
  87. package/lib/ColorSelect/_shared/ColorIndicator/ColorIndicator.module.css +19 -0
  88. package/lib/ColorSelect/_shared/ColorIndicator/__tests__/ColorIndicator.spec.js +86 -0
  89. package/lib/ColorSelect/_shared/ColorIndicator/__tests__/__snapshots__/ColorIndicator.spec.js.snap +106 -0
  90. package/lib/ColorSelect/_shared/ColorIndicator/props/defaultProps.js +15 -0
  91. package/lib/ColorSelect/_shared/ColorIndicator/props/propTypes.js +21 -0
  92. package/lib/ColorSelect/_shared/ColoredTag/ColoredTag.js +69 -0
  93. package/lib/ColorSelect/_shared/ColoredTag/__tests__/ColoredTag.spec.js +58 -0
  94. package/lib/ColorSelect/_shared/ColoredTag/__tests__/__snapshots__/ColoredTag.spec.js.snap +101 -0
  95. package/lib/ColorSelect/_shared/ColoredTag/props/propTypes.js +29 -0
  96. package/lib/ColorSelect/_shared/helpers/renderHelpers.js +63 -0
  97. package/lib/ColorSelect/props/defaultProps.js +32 -0
  98. package/lib/ColorSelect/props/propTypes.js +39 -0
  99. package/lib/DateTime/__tests__/__snapshots__/DateTime.spec.js.snap +3 -18
  100. package/lib/DateTime/__tests__/__snapshots__/DateWidget.spec.js.snap +1 -6
  101. package/lib/DateTime/__tests__/__snapshots__/Time.spec.js.snap +3 -18
  102. package/lib/ListItem/ListItem.js +6 -1
  103. package/lib/ListItem/ListItem.module.css +6 -0
  104. package/lib/ListItem/__tests__/ListItem.spec.js +12 -4
  105. package/lib/ListItem/__tests__/__snapshots__/ListItem.spec.js.snap +47 -0
  106. package/lib/ListItem/props/propTypes.js +1 -0
  107. package/lib/MultiSelect/MultiSelect.js +11 -5
  108. package/lib/MultiSelect/SelectedOptions.js +24 -1
  109. package/lib/MultiSelect/Suggestions.js +5 -1
  110. package/lib/MultiSelect/__tests__/MultiSelect.spec.js +42 -2
  111. package/lib/MultiSelect/__tests__/SelectedOptions.spec.js +15 -0
  112. package/lib/MultiSelect/__tests__/Suggestions.spec.js +16 -2
  113. package/lib/MultiSelect/__tests__/__snapshots__/AdvancedGroupMultiSelect.spec.js.snap +1 -3
  114. package/lib/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +3 -9
  115. package/lib/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +91 -12
  116. package/lib/MultiSelect/__tests__/__snapshots__/MultiSelectWithAvatar.spec.js.snap +1 -3
  117. package/lib/MultiSelect/__tests__/__snapshots__/SelectedOptions.spec.js.snap +15 -0
  118. package/lib/MultiSelect/__tests__/__snapshots__/Suggestions.spec.js.snap +66 -0
  119. package/lib/MultiSelect/props/propTypes.js +6 -0
  120. package/lib/Select/Select.js +67 -4
  121. package/lib/Select/__tests__/Select.spec.js +12 -0
  122. package/lib/Select/__tests__/__snapshots__/GroupSelect.spec.js.snap +1 -6
  123. package/lib/Select/__tests__/__snapshots__/Select.spec.js.snap +111 -441
  124. package/lib/Select/__tests__/__snapshots__/SelectWithIcon.spec.js.snap +1 -6
  125. package/lib/Select/props/defaultProps.js +2 -1
  126. package/lib/Select/props/propTypes.js +3 -1
  127. package/lib/TextBox/__tests__/TextBox.spec.js +36 -36
  128. package/lib/TextBoxIcon/TextBoxIcon.js +18 -13
  129. package/lib/TextBoxIcon/TextBoxIcon.module.css +3 -38
  130. package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +9 -2
  131. package/lib/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +78 -224
  132. package/lib/TextBoxIcon/props/propTypes.js +1 -2
  133. package/lib/Typography/Typography.js +9 -2
  134. package/lib/Typography/__tests__/Typography.spec.js +436 -0
  135. package/lib/Typography/__tests__/__snapshots__/Typography.spec.js.snap +506 -0
  136. package/lib/Typography/props/defaultProps.js +2 -1
  137. package/lib/Typography/props/propTypes.js +31 -6
  138. package/lib/Typography/utils/textHighlighter.js +160 -0
  139. package/lib/shared/ArrowIcon/ArrowIcon.js +65 -0
  140. package/lib/shared/ArrowIcon/ArrowIcon.module.css +43 -0
  141. package/lib/shared/ArrowIcon/__tests__/ArrowIcon.spec.js +107 -0
  142. package/lib/shared/ArrowIcon/__tests__/__snapshots__/ArrowIcon.spec.js.snap +221 -0
  143. package/lib/shared/ArrowIcon/props/defaultProps.js +18 -0
  144. package/lib/shared/ArrowIcon/props/propTypes.js +28 -0
  145. package/lib/shared/InputFieldLine/InputFieldLine.js +57 -0
  146. package/lib/shared/InputFieldLine/InputFieldLine.module.css +88 -0
  147. package/lib/shared/InputFieldLine/__tests__/InputFieldLine.spec.js +122 -0
  148. package/lib/shared/InputFieldLine/__tests__/__snapshots__/InputFieldLine.spec.js.snap +194 -0
  149. package/lib/shared/InputFieldLine/props/defaultProps.js +23 -0
  150. package/lib/shared/InputFieldLine/props/propTypes.js +39 -0
  151. package/lib/utils/Common.js +8 -4
  152. package/lib/utils/dropDownUtils.js +10 -1
  153. package/package.json +9 -7
@@ -0,0 +1,160 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.highlightText = highlightText;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _cssJSLogic2 = _interopRequireDefault(require("../css/cssJSLogic"));
11
+
12
+ var _utils = require("@zohodesk/utils");
13
+
14
+ var _TypographyModule = _interopRequireDefault(require("./../css/Typography.module.css"));
15
+
16
+ var _Common = require("../../utils/Common");
17
+
18
+ var _excluded = ["customStyle"];
19
+
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
21
+
22
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
23
+
24
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
25
+
26
+ function highlightText(config) {
27
+ var sourceText = config.text,
28
+ highlightData = config.data,
29
+ _config$styleConfigur = config.styleConfiguration,
30
+ highlightStyleConfig = _config$styleConfigur === void 0 ? _Common.DUMMY_OBJECT : _config$styleConfigur,
31
+ _config$shouldExclude = config.shouldExcludeIndices,
32
+ shouldExcludeIndices = _config$shouldExclude === void 0 ? false : _config$shouldExclude,
33
+ _config$isCaseSensiti = config.isCaseSensitive,
34
+ enableCaseSensitiveMatch = _config$isCaseSensiti === void 0 ? false : _config$isCaseSensiti,
35
+ _config$isWholeWord = config.isWholeWord,
36
+ matchWholeWordOnly = _config$isWholeWord === void 0 ? false : _config$isWholeWord,
37
+ _config$tagName = config.tagName,
38
+ wrapperTagName = _config$tagName === void 0 ? 'span' : _config$tagName,
39
+ customRenderer = config.renderHighlight;
40
+
41
+ if (!sourceText || !(highlightData !== null && highlightData !== void 0 && highlightData.length)) {
42
+ return sourceText;
43
+ }
44
+
45
+ var cssClassCache = new Map();
46
+ var normalizedHighlightTerms = highlightData.map(function (highlightItem) {
47
+ var searchTerm = typeof highlightItem === 'string' ? highlightItem : highlightItem === null || highlightItem === void 0 ? void 0 : highlightItem.text;
48
+ if (!searchTerm) return null;
49
+ var itemConfiguration = typeof highlightItem === 'string' ? _Common.DUMMY_OBJECT : highlightItem;
50
+ var hasStyleConfigrationFromItem = itemConfiguration.styleConfiguration !== undefined;
51
+ var hasRenderHighlightFromItem = itemConfiguration.renderHighlight !== undefined;
52
+ var finalStyleConfig = itemConfiguration.styleConfiguration !== undefined ? itemConfiguration.styleConfiguration : highlightStyleConfig;
53
+
54
+ var customStyle = finalStyleConfig.customStyle,
55
+ restStyleConfig = _objectWithoutProperties(finalStyleConfig, _excluded);
56
+
57
+ var cacheKey = JSON.stringify(restStyleConfig);
58
+ var typographyClass;
59
+
60
+ if (Object.keys(restStyleConfig).length !== 0) {
61
+ if (cssClassCache.has(cacheKey)) {
62
+ typographyClass = cssClassCache.get(cacheKey);
63
+ } else {
64
+ var _cssJSLogic = (0, _cssJSLogic2["default"])({
65
+ props: restStyleConfig,
66
+ style: _TypographyModule["default"]
67
+ }),
68
+ computedClass = _cssJSLogic.typographyClass;
69
+
70
+ typographyClass = computedClass;
71
+ cssClassCache.set(cacheKey, typographyClass);
72
+ }
73
+ }
74
+
75
+ return {
76
+ searchTerm: searchTerm,
77
+ targetIndices: itemConfiguration.index !== undefined ? itemConfiguration.index : _Common.DUMMY_ARRAY,
78
+ shouldExcludeIndices: itemConfiguration.shouldExcludeIndices !== undefined ? itemConfiguration.shouldExcludeIndices : shouldExcludeIndices,
79
+ isCaseSensitive: itemConfiguration.isCaseSensitive !== undefined ? itemConfiguration.isCaseSensitive : enableCaseSensitiveMatch,
80
+ matchWholeWordOnly: itemConfiguration.isWholeWord !== undefined ? itemConfiguration.isWholeWord : matchWholeWordOnly,
81
+ wrapperTagName: itemConfiguration.tagName !== undefined ? itemConfiguration.tagName : wrapperTagName,
82
+ customStyle: customStyle,
83
+ customRenderer: itemConfiguration.renderHighlight !== undefined ? itemConfiguration.renderHighlight : customRenderer,
84
+ highlightClasses: typographyClass,
85
+ hasStyleConfigrationFromItem: hasStyleConfigrationFromItem,
86
+ hasRenderHighlightFromItem: hasRenderHighlightFromItem
87
+ };
88
+ }).filter(function (highlightConfig) {
89
+ return highlightConfig && highlightConfig.searchTerm.trim();
90
+ });
91
+
92
+ if (!normalizedHighlightTerms.length) {
93
+ return sourceText;
94
+ }
95
+
96
+ var regexPatterns = normalizedHighlightTerms.map(function (highlightConfig) {
97
+ // Escape special regex characters in the searchTerm so it can be safely used in a RegExp
98
+ var escapedTerm = highlightConfig.searchTerm.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // If matchWholeWordOnly is true, wrap the term with word boundaries (\b) to match whole words only
99
+
100
+ return highlightConfig.matchWholeWordOnly ? "\\b".concat(escapedTerm, "\\b") : escapedTerm;
101
+ });
102
+ var combinedRegexPattern = regexPatterns.join('|');
103
+ var textSegments = sourceText.split(new RegExp("(".concat(combinedRegexPattern, ")"), 'gi'));
104
+ var occurrenceCountByTerm = {};
105
+ return textSegments.map(function (textSegment, segmentIndex) {
106
+ var matchingHighlightConfig = normalizedHighlightTerms.find(function (highlightConfig) {
107
+ var segmentToCompare = highlightConfig.isCaseSensitive ? textSegment : textSegment.toLowerCase();
108
+ var termToCompare = highlightConfig.isCaseSensitive ? highlightConfig.searchTerm : highlightConfig.searchTerm.toLowerCase();
109
+ return segmentToCompare === termToCompare;
110
+ });
111
+
112
+ if (!matchingHighlightConfig) {
113
+ return textSegment;
114
+ }
115
+
116
+ var termKey = matchingHighlightConfig.searchTerm;
117
+ occurrenceCountByTerm[termKey] = (occurrenceCountByTerm[termKey] || 0) + 1;
118
+ var currentOccurrenceIndex = occurrenceCountByTerm[termKey];
119
+ var targetIndices = matchingHighlightConfig.targetIndices,
120
+ shouldExcludeIndices = matchingHighlightConfig.shouldExcludeIndices;
121
+ var isIndicesArray = Array.isArray(targetIndices);
122
+ var shouldApplyHighlight;
123
+
124
+ if (isIndicesArray) {
125
+ shouldApplyHighlight = (targetIndices.length === 0 || targetIndices.includes(currentOccurrenceIndex)) !== shouldExcludeIndices;
126
+ } else {
127
+ shouldApplyHighlight = (targetIndices === 0 || targetIndices === currentOccurrenceIndex) !== shouldExcludeIndices;
128
+ }
129
+
130
+ if (!shouldApplyHighlight) {
131
+ return textSegment;
132
+ }
133
+
134
+ var customStyle = matchingHighlightConfig.customStyle,
135
+ highlightClasses = matchingHighlightConfig.highlightClasses,
136
+ customRenderer = matchingHighlightConfig.customRenderer,
137
+ hasStyleConfigrationFromItem = matchingHighlightConfig.hasStyleConfigrationFromItem,
138
+ hasRenderHighlightFromItem = matchingHighlightConfig.hasRenderHighlightFromItem,
139
+ WrapperTag = matchingHighlightConfig.wrapperTagName;
140
+ var shouldUseCustomRenderer = false;
141
+
142
+ if (customRenderer) {
143
+ if (hasRenderHighlightFromItem) {
144
+ shouldUseCustomRenderer = true;
145
+ } else if (!hasStyleConfigrationFromItem && customRenderer) {
146
+ shouldUseCustomRenderer = true;
147
+ }
148
+ }
149
+
150
+ if (shouldUseCustomRenderer && (0, _utils.isRenderable)(customRenderer)) {
151
+ return (0, _utils.renderNode)(customRenderer, textSegment);
152
+ }
153
+
154
+ return /*#__PURE__*/_react["default"].createElement(WrapperTag, {
155
+ key: "".concat(textSegment, "_").concat(currentOccurrenceIndex),
156
+ style: customStyle,
157
+ className: highlightClasses
158
+ }, textSegment);
159
+ });
160
+ }
@@ -0,0 +1,65 @@
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
+ var _Layout = require("../../Layout");
11
+
12
+ var _Icon = _interopRequireDefault(require("@zohodesk/icons/es/Icon"));
13
+
14
+ var _utils = require("@zohodesk/utils");
15
+
16
+ var _defaultProps = _interopRequireDefault(require("./props/defaultProps"));
17
+
18
+ var _propTypes = _interopRequireDefault(require("./props/propTypes"));
19
+
20
+ var _ArrowIconModule = _interopRequireDefault(require("./ArrowIcon.module.css"));
21
+
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
23
+
24
+ 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); }
25
+
26
+ var ArrowIcon = function ArrowIcon(props) {
27
+ var dataId = props.dataId,
28
+ isRotated = props.isRotated,
29
+ isActive = props.isActive,
30
+ customClass = props.customClass,
31
+ customProps = props.customProps,
32
+ tagAttributes = props.tagAttributes,
33
+ a11yAttributes = props.a11yAttributes,
34
+ iconSize = props.iconSize,
35
+ isDisabled = props.isDisabled,
36
+ isReadOnly = props.isReadOnly,
37
+ renderCustomToggleIndicator = props.renderCustomToggleIndicator;
38
+ var _customClass$iconClas = customClass.iconClass,
39
+ iconClass = _customClass$iconClas === void 0 ? '' : _customClass$iconClas,
40
+ _customClass$containe = customClass.containerClass,
41
+ containerClass = _customClass$containe === void 0 ? '' : _customClass$containe;
42
+ return (0, _utils.isRenderable)(renderCustomToggleIndicator) ? (0, _utils.renderNode)(renderCustomToggleIndicator, {
43
+ isRotated: isRotated,
44
+ isActive: isActive,
45
+ isReadOnly: isReadOnly,
46
+ isDisabled: isDisabled
47
+ }) : /*#__PURE__*/_react["default"].createElement(_Layout.Container, _extends({
48
+ isInline: true,
49
+ isCover: false,
50
+ align: "both",
51
+ "aria-hidden": true
52
+ }, tagAttributes, a11yAttributes, customProps, {
53
+ dataId: "".concat(dataId, "_downIcon"),
54
+ className: "".concat(_ArrowIconModule["default"].arrowIcon, " ").concat(isRotated ? _ArrowIconModule["default"].rotated : '', " ").concat(isActive ? _ArrowIconModule["default"].active : '', " ").concat(isDisabled ? _ArrowIconModule["default"].disabled : '', " ").concat(isReadOnly ? _ArrowIconModule["default"].readonly : '', " ").concat(containerClass)
55
+ }), /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
56
+ name: "ZD-down",
57
+ size: iconSize,
58
+ iconClass: iconClass
59
+ }));
60
+ };
61
+
62
+ ArrowIcon.defaultProps = _defaultProps["default"];
63
+ ArrowIcon.propTypes = _propTypes["default"];
64
+ var _default = ArrowIcon;
65
+ exports["default"] = _default;
@@ -0,0 +1,43 @@
1
+ .varClass {
2
+ --local-arrowIcon-color: var(--zdt_arrowicon_default_icon);
3
+ }
4
+
5
+ .arrowIcon {
6
+ composes: varClass;
7
+ color: var(--local-arrowIcon-color);
8
+ transition: transform var(--zd_transition3);
9
+ margin: 0 var(--zd_size5) ;
10
+ }
11
+ .transparentContainer .arrowIcon {
12
+ opacity: 0;
13
+ visibility: hidden;
14
+ }
15
+
16
+ .transparentContainer .rotated,
17
+ .transparentContainer:hover .arrowIcon {
18
+ opacity: 1;
19
+ visibility: visible;
20
+ }
21
+
22
+ [dir=ltr] .rotated {
23
+ transform: rotateZ(-180deg);
24
+ }
25
+
26
+ [dir=rtl] .rotated {
27
+ transform: rotateZ(180deg);
28
+ }
29
+
30
+ .rotated,
31
+ .active,
32
+ .arrowContainer:hover .arrowIcon,
33
+ .transparentContainer:hover .arrowIcon {
34
+ --local-arrowIcon-color: var(--zdt_arrowicon_hover_icon);
35
+ }
36
+
37
+ .disabled {
38
+ composes: disabled from '../../common/common.module.css';
39
+ }
40
+
41
+ .readonly {
42
+ composes: curdefault from '../../common/common.module.css';
43
+ }
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+
3
+ var _react = _interopRequireDefault(require("react"));
4
+
5
+ var _react2 = require("@testing-library/react");
6
+
7
+ var _ArrowIcon = _interopRequireDefault(require("../ArrowIcon"));
8
+
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
10
+
11
+ describe('ArrowIcon', function () {
12
+ test('rendering the defult props', function () {
13
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ArrowIcon["default"], null)),
14
+ asFragment = _render.asFragment;
15
+
16
+ expect(asFragment()).toMatchSnapshot();
17
+ });
18
+ test('Should be render with dataId', function () {
19
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ArrowIcon["default"], {
20
+ dataId: "ArrowIcon-test-dataId"
21
+ })),
22
+ asFragment = _render2.asFragment;
23
+
24
+ expect(asFragment()).toMatchSnapshot();
25
+ });
26
+ test('Should be render isRotated is true', function () {
27
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ArrowIcon["default"], {
28
+ isRotated: true
29
+ })),
30
+ asFragment = _render3.asFragment;
31
+
32
+ expect(asFragment()).toMatchSnapshot();
33
+ });
34
+ test('Should be render isActive is true', function () {
35
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ArrowIcon["default"], {
36
+ isActive: true
37
+ })),
38
+ asFragment = _render4.asFragment;
39
+
40
+ expect(asFragment()).toMatchSnapshot();
41
+ });
42
+ test('Should be render isDisabled is true', function () {
43
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ArrowIcon["default"], {
44
+ isDisabled: true
45
+ })),
46
+ asFragment = _render5.asFragment;
47
+
48
+ expect(asFragment()).toMatchSnapshot();
49
+ });
50
+ test('Should be render isReadOnly is true', function () {
51
+ var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ArrowIcon["default"], {
52
+ isReadOnly: true
53
+ })),
54
+ asFragment = _render6.asFragment;
55
+
56
+ expect(asFragment()).toMatchSnapshot();
57
+ });
58
+ test('Should be render with customClass', function () {
59
+ var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ArrowIcon["default"], {
60
+ customClass: {
61
+ iconClass: 'arrowIcon_iconClass',
62
+ containerClass: 'arrowIcon_containerClass'
63
+ }
64
+ })),
65
+ asFragment = _render7.asFragment;
66
+
67
+ expect(asFragment()).toMatchSnapshot();
68
+ });
69
+ test('Should be render with a11yAttributes', function () {
70
+ var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ArrowIcon["default"], {
71
+ a11yAttributes: {
72
+ 'data-a11y-focus': true
73
+ }
74
+ })),
75
+ asFragment = _render8.asFragment;
76
+
77
+ expect(asFragment()).toMatchSnapshot();
78
+ });
79
+ test('Should be render with tagAttributes', function () {
80
+ var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ArrowIcon["default"], {
81
+ tagAttributes: {
82
+ title: 'hello here is title'
83
+ }
84
+ })),
85
+ asFragment = _render9.asFragment;
86
+
87
+ expect(asFragment()).toMatchSnapshot();
88
+ });
89
+ test('Should be render with customProps', function () {
90
+ var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ArrowIcon["default"], {
91
+ customProps: {
92
+ testId: 'hereIsTestId'
93
+ }
94
+ })),
95
+ asFragment = _render10.asFragment;
96
+
97
+ expect(asFragment()).toMatchSnapshot();
98
+ });
99
+ test('Should be render with renderCustomToggleIndicator', function () {
100
+ var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ArrowIcon["default"], {
101
+ renderCustomToggleIndicator: /*#__PURE__*/_react["default"].createElement("div", null, "Indicator")
102
+ })),
103
+ asFragment = _render11.asFragment;
104
+
105
+ expect(asFragment()).toMatchSnapshot();
106
+ });
107
+ });
@@ -0,0 +1,221 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`ArrowIcon Should be render isActive is true 1`] = `
4
+ <DocumentFragment>
5
+ <div
6
+ aria-hidden="true"
7
+ class="arrowIcon active inflex coldir both"
8
+ data-id="undefined_downIcon"
9
+ data-selector-id="container"
10
+ data-test-id="undefined_downIcon"
11
+ >
12
+ <i
13
+ aria-hidden="true"
14
+ class="zd_font_icons basic icon-down "
15
+ data-id="fontIcon"
16
+ data-selector-id="fontIcon"
17
+ data-test-id="fontIcon"
18
+ style="--zd-iconfont-size: var(--zd_font_size7);"
19
+ />
20
+ </div>
21
+ </DocumentFragment>
22
+ `;
23
+
24
+ exports[`ArrowIcon Should be render isDisabled is true 1`] = `
25
+ <DocumentFragment>
26
+ <div
27
+ aria-hidden="true"
28
+ class="arrowIcon disabled inflex coldir both"
29
+ data-id="undefined_downIcon"
30
+ data-selector-id="container"
31
+ data-test-id="undefined_downIcon"
32
+ >
33
+ <i
34
+ aria-hidden="true"
35
+ class="zd_font_icons basic icon-down "
36
+ data-id="fontIcon"
37
+ data-selector-id="fontIcon"
38
+ data-test-id="fontIcon"
39
+ style="--zd-iconfont-size: var(--zd_font_size7);"
40
+ />
41
+ </div>
42
+ </DocumentFragment>
43
+ `;
44
+
45
+ exports[`ArrowIcon Should be render isReadOnly is true 1`] = `
46
+ <DocumentFragment>
47
+ <div
48
+ aria-hidden="true"
49
+ class="arrowIcon readonly inflex coldir both"
50
+ data-id="undefined_downIcon"
51
+ data-selector-id="container"
52
+ data-test-id="undefined_downIcon"
53
+ >
54
+ <i
55
+ aria-hidden="true"
56
+ class="zd_font_icons basic icon-down "
57
+ data-id="fontIcon"
58
+ data-selector-id="fontIcon"
59
+ data-test-id="fontIcon"
60
+ style="--zd-iconfont-size: var(--zd_font_size7);"
61
+ />
62
+ </div>
63
+ </DocumentFragment>
64
+ `;
65
+
66
+ exports[`ArrowIcon Should be render isRotated is true 1`] = `
67
+ <DocumentFragment>
68
+ <div
69
+ aria-hidden="true"
70
+ class="arrowIcon rotated inflex coldir both"
71
+ data-id="undefined_downIcon"
72
+ data-selector-id="container"
73
+ data-test-id="undefined_downIcon"
74
+ >
75
+ <i
76
+ aria-hidden="true"
77
+ class="zd_font_icons basic icon-down "
78
+ data-id="fontIcon"
79
+ data-selector-id="fontIcon"
80
+ data-test-id="fontIcon"
81
+ style="--zd-iconfont-size: var(--zd_font_size7);"
82
+ />
83
+ </div>
84
+ </DocumentFragment>
85
+ `;
86
+
87
+ exports[`ArrowIcon Should be render with a11yAttributes 1`] = `
88
+ <DocumentFragment>
89
+ <div
90
+ aria-hidden="true"
91
+ class="arrowIcon inflex coldir both"
92
+ data-a11y-focus="true"
93
+ data-id="undefined_downIcon"
94
+ data-selector-id="container"
95
+ data-test-id="undefined_downIcon"
96
+ >
97
+ <i
98
+ aria-hidden="true"
99
+ class="zd_font_icons basic icon-down "
100
+ data-id="fontIcon"
101
+ data-selector-id="fontIcon"
102
+ data-test-id="fontIcon"
103
+ style="--zd-iconfont-size: var(--zd_font_size7);"
104
+ />
105
+ </div>
106
+ </DocumentFragment>
107
+ `;
108
+
109
+ exports[`ArrowIcon Should be render with customClass 1`] = `
110
+ <DocumentFragment>
111
+ <div
112
+ aria-hidden="true"
113
+ class="arrowIcon arrowIcon_containerClass inflex coldir both"
114
+ data-id="undefined_downIcon"
115
+ data-selector-id="container"
116
+ data-test-id="undefined_downIcon"
117
+ >
118
+ <i
119
+ aria-hidden="true"
120
+ class="zd_font_icons basic icon-down arrowIcon_iconClass "
121
+ data-id="fontIcon"
122
+ data-selector-id="fontIcon"
123
+ data-test-id="fontIcon"
124
+ style="--zd-iconfont-size: var(--zd_font_size7);"
125
+ />
126
+ </div>
127
+ </DocumentFragment>
128
+ `;
129
+
130
+ exports[`ArrowIcon Should be render with customProps 1`] = `
131
+ <DocumentFragment>
132
+ <div
133
+ aria-hidden="true"
134
+ class="arrowIcon inflex coldir both"
135
+ data-id="undefined_downIcon"
136
+ data-selector-id="container"
137
+ data-test-id="hereIsTestId"
138
+ >
139
+ <i
140
+ aria-hidden="true"
141
+ class="zd_font_icons basic icon-down "
142
+ data-id="fontIcon"
143
+ data-selector-id="fontIcon"
144
+ data-test-id="fontIcon"
145
+ style="--zd-iconfont-size: var(--zd_font_size7);"
146
+ />
147
+ </div>
148
+ </DocumentFragment>
149
+ `;
150
+
151
+ exports[`ArrowIcon Should be render with dataId 1`] = `
152
+ <DocumentFragment>
153
+ <div
154
+ aria-hidden="true"
155
+ class="arrowIcon inflex coldir both"
156
+ data-id="ArrowIcon-test-dataId_downIcon"
157
+ data-selector-id="container"
158
+ data-test-id="ArrowIcon-test-dataId_downIcon"
159
+ >
160
+ <i
161
+ aria-hidden="true"
162
+ class="zd_font_icons basic icon-down "
163
+ data-id="fontIcon"
164
+ data-selector-id="fontIcon"
165
+ data-test-id="fontIcon"
166
+ style="--zd-iconfont-size: var(--zd_font_size7);"
167
+ />
168
+ </div>
169
+ </DocumentFragment>
170
+ `;
171
+
172
+ exports[`ArrowIcon Should be render with renderCustomToggleIndicator 1`] = `
173
+ <DocumentFragment>
174
+ <div>
175
+ Indicator
176
+ </div>
177
+ </DocumentFragment>
178
+ `;
179
+
180
+ exports[`ArrowIcon Should be render with tagAttributes 1`] = `
181
+ <DocumentFragment>
182
+ <div
183
+ aria-hidden="true"
184
+ class="arrowIcon inflex coldir both"
185
+ data-id="undefined_downIcon"
186
+ data-selector-id="container"
187
+ data-test-id="undefined_downIcon"
188
+ title="hello here is title"
189
+ >
190
+ <i
191
+ aria-hidden="true"
192
+ class="zd_font_icons basic icon-down "
193
+ data-id="fontIcon"
194
+ data-selector-id="fontIcon"
195
+ data-test-id="fontIcon"
196
+ style="--zd-iconfont-size: var(--zd_font_size7);"
197
+ />
198
+ </div>
199
+ </DocumentFragment>
200
+ `;
201
+
202
+ exports[`ArrowIcon rendering the defult props 1`] = `
203
+ <DocumentFragment>
204
+ <div
205
+ aria-hidden="true"
206
+ class="arrowIcon inflex coldir both"
207
+ data-id="undefined_downIcon"
208
+ data-selector-id="container"
209
+ data-test-id="undefined_downIcon"
210
+ >
211
+ <i
212
+ aria-hidden="true"
213
+ class="zd_font_icons basic icon-down "
214
+ data-id="fontIcon"
215
+ data-selector-id="fontIcon"
216
+ data-test-id="fontIcon"
217
+ style="--zd-iconfont-size: var(--zd_font_size7);"
218
+ />
219
+ </div>
220
+ </DocumentFragment>
221
+ `;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var _default = {
8
+ isRotated: false,
9
+ isDisabled: false,
10
+ isReadOnly: false,
11
+ iconSize: '7',
12
+ isActive: false,
13
+ customClass: {},
14
+ customProps: {},
15
+ tagAttributes: {},
16
+ a11yAttributes: {}
17
+ };
18
+ exports["default"] = _default;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = 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 _default = {
13
+ dataId: _propTypes["default"].string,
14
+ isRotated: _propTypes["default"].bool,
15
+ customClass: _propTypes["default"].shape({
16
+ iconClass: _propTypes["default"].string,
17
+ containerClass: _propTypes["default"].string
18
+ }),
19
+ customProps: _propTypes["default"].object,
20
+ tagAttributes: _propTypes["default"].object,
21
+ a11yAttributes: _propTypes["default"].object,
22
+ renderCustomToggleIndicator: _propTypes["default"].oneOfType([_propTypes["default"].node, _propTypes["default"].func]),
23
+ isDisabled: _propTypes["default"].bool,
24
+ isReadOnly: _propTypes["default"].bool,
25
+ isActive: _propTypes["default"].bool,
26
+ iconSize: _propTypes["default"].string
27
+ };
28
+ exports["default"] = _default;