@zohodesk/components 1.6.26 → 1.6.28

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 (70) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/es/DateTime/DateWidget.js +1 -1
  3. package/es/DateTime/DateWidget.module.css +3 -0
  4. package/es/DateTime/__tests__/__snapshots__/DateWidget.spec.js.snap +1 -1
  5. package/es/DividerLine/DividerLine.js +40 -0
  6. package/es/DividerLine/__tests__/DividerLine.spec.js +81 -0
  7. package/es/DividerLine/__tests__/__snapshots__/DividerLine.spec.js.snap +131 -0
  8. package/es/DividerLine/constants/index.js +29 -0
  9. package/es/DividerLine/css/DividerLine.module.css +52 -0
  10. package/es/DividerLine/css/cssJSLogic.js +1 -0
  11. package/es/DividerLine/css/dividerLine.cva.js +42 -0
  12. package/es/DividerLine/props/defaultProps.js +11 -0
  13. package/es/DividerLine/props/propTypes.js +19 -0
  14. package/es/DropDown/DropDownSeparator.js +9 -4
  15. package/es/DropDown/DropDownSeparator.module.css +0 -4
  16. package/es/DropDown/__tests__/DropDownSeparator.spec.js +8 -0
  17. package/es/DropDown/__tests__/__snapshots__/DropDownSeparator.spec.js.snap +12 -2
  18. package/es/MultiSelect/AdvancedGroupMultiSelect.js +1 -0
  19. package/es/MultiSelect/AdvancedMultiSelect.js +1 -0
  20. package/es/MultiSelect/SelectedOptions.js +3 -3
  21. package/es/MultiSelect/__tests__/AdvancedGroupMultiSelect.spec.js +42 -0
  22. package/es/MultiSelect/__tests__/AdvancedMultiSelect.spec.js +10 -0
  23. package/es/MultiSelect/__tests__/MultiSelect.spec.js +10 -0
  24. package/es/MultiSelect/__tests__/__snapshots__/AdvancedGroupMultiSelect.spec.js.snap +121 -0
  25. package/es/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +97 -0
  26. package/es/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +157 -0
  27. package/es/Select/SelectWithAvatar.js +14 -3
  28. package/es/Select/SelectWithIcon.js +23 -1
  29. package/es/Select/__tests__/SelectWithAvatar.spec.js +17 -0
  30. package/es/Select/__tests__/SelectWithIcon.spec.js +18 -0
  31. package/es/Select/__tests__/__snapshots__/SelectWithAvatar.spec.js.snap +47 -0
  32. package/es/Select/__tests__/__snapshots__/SelectWithIcon.spec.js.snap +19 -0
  33. package/es/Select/props/propTypes.js +1 -0
  34. package/es/Tooltip/Tooltip.js +4 -1
  35. package/es/v1/Button/__tests__/__snapshots__/Button.spec.js.snap +51 -51
  36. package/lib/DateTime/DateWidget.js +1 -1
  37. package/lib/DateTime/DateWidget.module.css +3 -0
  38. package/lib/DateTime/__tests__/__snapshots__/DateWidget.spec.js.snap +1 -1
  39. package/lib/DividerLine/DividerLine.js +50 -0
  40. package/lib/DividerLine/__tests__/DividerLine.spec.js +88 -0
  41. package/lib/DividerLine/__tests__/__snapshots__/DividerLine.spec.js.snap +131 -0
  42. package/lib/DividerLine/constants/index.js +39 -0
  43. package/lib/DividerLine/css/DividerLine.module.css +52 -0
  44. package/lib/DividerLine/css/cssJSLogic.js +13 -0
  45. package/lib/DividerLine/css/dividerLine.cva.js +57 -0
  46. package/lib/DividerLine/props/defaultProps.js +21 -0
  47. package/lib/DividerLine/props/propTypes.js +31 -0
  48. package/lib/DropDown/DropDownSeparator.js +9 -4
  49. package/lib/DropDown/DropDownSeparator.module.css +0 -4
  50. package/lib/DropDown/__tests__/DropDownSeparator.spec.js +8 -0
  51. package/lib/DropDown/__tests__/__snapshots__/DropDownSeparator.spec.js.snap +12 -2
  52. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +1 -0
  53. package/lib/MultiSelect/AdvancedMultiSelect.js +1 -0
  54. package/lib/MultiSelect/SelectedOptions.js +3 -3
  55. package/lib/MultiSelect/__tests__/AdvancedGroupMultiSelect.spec.js +42 -0
  56. package/lib/MultiSelect/__tests__/AdvancedMultiSelect.spec.js +10 -0
  57. package/lib/MultiSelect/__tests__/MultiSelect.spec.js +10 -0
  58. package/lib/MultiSelect/__tests__/__snapshots__/AdvancedGroupMultiSelect.spec.js.snap +121 -0
  59. package/lib/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +97 -0
  60. package/lib/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +157 -0
  61. package/lib/Select/SelectWithAvatar.js +15 -3
  62. package/lib/Select/SelectWithIcon.js +26 -1
  63. package/lib/Select/__tests__/SelectWithAvatar.spec.js +20 -0
  64. package/lib/Select/__tests__/SelectWithIcon.spec.js +21 -0
  65. package/lib/Select/__tests__/__snapshots__/SelectWithAvatar.spec.js.snap +47 -0
  66. package/lib/Select/__tests__/__snapshots__/SelectWithIcon.spec.js.snap +19 -0
  67. package/lib/Select/props/propTypes.js +1 -0
  68. package/lib/Tooltip/Tooltip.js +6 -1
  69. package/lib/v1/Button/__tests__/__snapshots__/Button.spec.js.snap +51 -51
  70. package/package.json +10 -10
@@ -1,5 +1,102 @@
1
1
  // Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
2
2
 
3
+ exports[`AdvancedMultiSelect Should render as disabled 1`] = `
4
+ <DocumentFragment>
5
+ <div
6
+ class="wrapper disabled"
7
+ data-id="multiSelectComp"
8
+ data-selector-id="advancedMultiSelect"
9
+ data-test-id="multiSelectComp"
10
+ >
11
+ <div
12
+ class="d-flex d-h-full d-w-full d-flex-row d-flex-wrap d-items-center container medium hasBorder borderColor_transparent"
13
+ data-id="containerComponent"
14
+ data-selector-id="container"
15
+ data-test-id="containerComponent"
16
+ >
17
+ <div
18
+ class="d-flex-shrink-0 tag medium"
19
+ data-id="multiSelectComp_selectedOptions"
20
+ data-selector-id="box"
21
+ data-test-id="multiSelectComp_selectedOptions"
22
+ >
23
+ <div
24
+ aria-labelledby="3"
25
+ class="container effect medium lgRadius danger disabled pointer"
26
+ data-id="tag_Tag"
27
+ data-selector-id="tag"
28
+ data-test-id="tag_Tag"
29
+ data-title="Apple"
30
+ tabindex="-1"
31
+ >
32
+ <div
33
+ aria-hidden="true"
34
+ class="text mediumtext"
35
+ id="3"
36
+ >
37
+ Apple
38
+ </div>
39
+ </div>
40
+ </div>
41
+ <div
42
+ class="d-min-h-0 d-flex-grow d-basis-auto d-min-w-0 d-flex-shrink wrapper"
43
+ data-id="multiSelectComp_textBox"
44
+ data-selector-id="box"
45
+ data-test-id="multiSelectComp_textBox"
46
+ >
47
+ <span
48
+ class="custmSpan custmSpanMedium"
49
+ />
50
+ <div
51
+ class="d-flex d-flex-row varClass customContainer disabled container custmInputWrapper"
52
+ data-selector-id="textBoxIcon"
53
+ data-title=""
54
+ >
55
+ <div
56
+ class="d-min-h-0 d-min-w-0 d-flex-grow d-basis-0 d-flex-shrink-0"
57
+ data-id="boxComponent"
58
+ data-selector-id="box"
59
+ data-test-id="boxComponent"
60
+ >
61
+ <input
62
+ aria-controls="1"
63
+ aria-describedby="2"
64
+ aria-expanded="false"
65
+ aria-haspopup="true"
66
+ aria-owns="1"
67
+ autocomplete="off"
68
+ class="container medium default effect borderColor_default"
69
+ data-id="textBoxIcon"
70
+ data-selector-id="textBoxIcon"
71
+ data-test-id="textBoxIcon"
72
+ disabled=""
73
+ maxlength="250"
74
+ placeholder=""
75
+ role="combobox"
76
+ type="text"
77
+ value=""
78
+ />
79
+ </div>
80
+ <div
81
+ class="d-flex-shrink-0 iconContainer"
82
+ data-id="boxComponent"
83
+ data-selector-id="box"
84
+ data-test-id="boxComponent"
85
+ >
86
+ <div
87
+ class="d-flex d-h-full d-w-full d-flex-row"
88
+ data-id="containerComponent"
89
+ data-selector-id="container"
90
+ data-test-id="containerComponent"
91
+ />
92
+ </div>
93
+ </div>
94
+ </div>
95
+ </div>
96
+ </div>
97
+ </DocumentFragment>
98
+ `;
99
+
3
100
  exports[`AdvancedMultiSelect rendering the defult props 1`] = `
4
101
  <DocumentFragment>
5
102
  <div
@@ -1,5 +1,162 @@
1
1
  // Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
2
2
 
3
+ exports[`MultiSelect Should render as disabled 1`] = `
4
+ <DocumentFragment>
5
+ <div
6
+ class="wrapper disabled"
7
+ data-id="multiSelect_disabled"
8
+ data-selector-id="multiSelect"
9
+ data-test-id="multiSelect_disabled"
10
+ >
11
+ <div
12
+ class="d-flex d-h-full d-w-full d-flex-row d-flex-wrap d-items-center container medium borderColor_default hasBorder"
13
+ data-id="containerComponent"
14
+ data-selector-id="container"
15
+ data-test-id="containerComponent"
16
+ >
17
+ <div
18
+ class="d-flex-shrink-0 tag medium"
19
+ data-id="multiSelect_selectedOptions"
20
+ data-selector-id="box"
21
+ data-test-id="multiSelect_selectedOptions"
22
+ >
23
+ <div
24
+ aria-labelledby="3"
25
+ class="container effect medium lgRadius danger disabled pointer"
26
+ data-id="tag_Tag"
27
+ data-selector-id="tag"
28
+ data-test-id="tag_Tag"
29
+ data-title="text1"
30
+ tabindex="-1"
31
+ >
32
+ <div
33
+ aria-hidden="true"
34
+ class="text mediumtext"
35
+ id="3"
36
+ >
37
+ text1
38
+ </div>
39
+ </div>
40
+ </div>
41
+ <div
42
+ class="d-flex-shrink-0 tag medium"
43
+ data-id="multiSelect_selectedOptions"
44
+ data-selector-id="box"
45
+ data-test-id="multiSelect_selectedOptions"
46
+ >
47
+ <div
48
+ aria-labelledby="4"
49
+ class="container effect medium lgRadius danger disabled pointer"
50
+ data-id="tag_Tag"
51
+ data-selector-id="tag"
52
+ data-test-id="tag_Tag"
53
+ data-title="text2"
54
+ tabindex="-1"
55
+ >
56
+ <div
57
+ aria-hidden="true"
58
+ class="text mediumtext"
59
+ id="4"
60
+ >
61
+ text2
62
+ </div>
63
+ </div>
64
+ </div>
65
+ <div
66
+ class="d-flex-shrink-0 tag medium"
67
+ data-id="multiSelect_selectedOptions"
68
+ data-selector-id="box"
69
+ data-test-id="multiSelect_selectedOptions"
70
+ >
71
+ <div
72
+ aria-labelledby="5"
73
+ class="container effect medium lgRadius danger disabled pointer"
74
+ data-id="tag_Tag"
75
+ data-selector-id="tag"
76
+ data-test-id="tag_Tag"
77
+ data-title="text3"
78
+ tabindex="-1"
79
+ >
80
+ <div
81
+ aria-hidden="true"
82
+ class="text mediumtext"
83
+ id="5"
84
+ >
85
+ text3
86
+ </div>
87
+ </div>
88
+ </div>
89
+ <div
90
+ class="d-min-h-0 d-flex-grow d-basis-auto d-min-w-0 d-flex-shrink wrapper"
91
+ data-id="boxComponent"
92
+ data-selector-id="box"
93
+ data-test-id="boxComponent"
94
+ >
95
+ <span
96
+ class="custmSpan custmSpanMedium"
97
+ />
98
+ <div
99
+ class="d-flex d-flex-row varClass customContainer disabled container custmInputWrapper"
100
+ data-selector-id="textBoxIcon"
101
+ data-title=""
102
+ >
103
+ <div
104
+ class="d-min-h-0 d-min-w-0 d-flex-grow d-basis-0 d-flex-shrink-0"
105
+ data-id="boxComponent"
106
+ data-selector-id="box"
107
+ data-test-id="boxComponent"
108
+ >
109
+ <input
110
+ aria-expanded="false"
111
+ aria-haspopup="true"
112
+ aria-required="true"
113
+ autocomplete="off"
114
+ class="container medium default effect borderColor_default"
115
+ data-id="multiSelect_textBox"
116
+ data-selector-id="textBoxIcon"
117
+ data-test-id="multiSelect_textBox"
118
+ disabled=""
119
+ maxlength="250"
120
+ placeholder=""
121
+ role="combobox"
122
+ type="text"
123
+ value=""
124
+ />
125
+ </div>
126
+ <div
127
+ class="d-flex-shrink-0 iconContainer"
128
+ data-id="boxComponent"
129
+ data-selector-id="box"
130
+ data-test-id="boxComponent"
131
+ >
132
+ <div
133
+ class="d-flex d-h-full d-w-full d-flex-row"
134
+ data-id="containerComponent"
135
+ data-selector-id="container"
136
+ data-test-id="containerComponent"
137
+ >
138
+ <div
139
+ class="d-flex-shrink-0 icon"
140
+ data-id="boxComponent"
141
+ data-selector-id="box"
142
+ data-test-id="boxComponent"
143
+ >
144
+ <div
145
+ class="d-inline-flex d-flex-row d-items-center rightPlaceholder"
146
+ data-id="containerComponent"
147
+ data-selector-id="container"
148
+ data-test-id="containerComponent"
149
+ />
150
+ </div>
151
+ </div>
152
+ </div>
153
+ </div>
154
+ </div>
155
+ </div>
156
+ </div>
157
+ </DocumentFragment>
158
+ `;
159
+
3
160
  exports[`MultiSelect Should render with renderCustomSelectedValue 1`] = `
4
161
  <DocumentFragment>
5
162
  <div
@@ -41,6 +41,8 @@ var _CustomResponsive = require("../Responsive/CustomResponsive");
41
41
 
42
42
  var _Loader = _interopRequireDefault(require("@zohodesk/svg/lib/Loader/Loader"));
43
43
 
44
+ var _utils = require("@zohodesk/utils");
45
+
44
46
  var _cssUtility = require("@dot-system/css-utility");
45
47
 
46
48
  var _MultiSelectModule = _interopRequireDefault(require("../MultiSelect/MultiSelect.module.css"));
@@ -227,7 +229,8 @@ var SelectWithAvatarComponent = /*#__PURE__*/function (_SelectComponent) {
227
229
  dataSelectorId = _this$props.dataSelectorId,
228
230
  getTargetRef = _this$props.getTargetRef,
229
231
  customProps = _this$props.customProps,
230
- customClass = _this$props.customClass;
232
+ customClass = _this$props.customClass,
233
+ renderCustomSelectedValue = _this$props.renderCustomSelectedValue;
231
234
  i18nKeys = Object.assign({}, i18nKeys, {
232
235
  emptyText: i18nKeys.emptyText || emptyMessage,
233
236
  searchEmptyText: i18nKeys.searchEmptyText || searchEmptyMessage
@@ -269,7 +272,16 @@ var SelectWithAvatarComponent = /*#__PURE__*/function (_SelectComponent) {
269
272
  className: "".concat(_MultiSelectModule["default"].container, " ").concat(_MultiSelectModule["default"][size], " ").concat(_MultiSelectModule["default"]["borderColor_".concat(borderColor)], " ").concat(isActive && needBorder ? _MultiSelectModule["default"].active : '', " ").concat(needBorder ? _MultiSelectModule["default"].hasBorder : '', " ").concat(textBoxClass ? textBoxClass : ''),
270
273
  eleRef: getTargetRef,
271
274
  onClick: !isDisabled && this.togglePopup
272
- }, selectedId ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
275
+ }, selectedId ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, (0, _utils.isRenderable)(renderCustomSelectedValue) ? (0, _utils.renderNode)(renderCustomSelectedValue, {
276
+ avatarPalette: avatarPalette,
277
+ id: id,
278
+ imageURL: photoURL,
279
+ onRemove: onRemove,
280
+ text: text,
281
+ dataId: "".concat(dataId, "_SelectTag"),
282
+ isReadOnly: isReadOnly,
283
+ isDisabled: isDisabled
284
+ }) : /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
273
285
  className: _MultiSelectModule["default"].tag,
274
286
  "data-id": "".concat(dataId, "_SelectTag"),
275
287
  "data-test-id": "".concat(dataId, "_SelectTag"),
@@ -284,7 +296,7 @@ var SelectWithAvatarComponent = /*#__PURE__*/function (_SelectComponent) {
284
296
  text: text,
285
297
  disabled: isReadOnly || isDisabled,
286
298
  size: tagSize
287
- })) : null, /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
299
+ }))) : null, /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
288
300
  flexible: true,
289
301
  className: _MultiSelectModule["default"].textBox,
290
302
  dataId: "".concat(dataId, "_textBox")
@@ -39,6 +39,8 @@ var _Common = require("../utils/Common.js");
39
39
 
40
40
  var _dropDownUtils = require("../utils/dropDownUtils.js");
41
41
 
42
+ var _utils = require("@zohodesk/utils");
43
+
42
44
  var _cssUtility = require("@dot-system/css-utility");
43
45
 
44
46
  var _SelectModule = _interopRequireDefault(require("./Select.module.css"));
@@ -426,6 +428,7 @@ var SelectWithIcon = /*#__PURE__*/function (_Component) {
426
428
  dropBoxSize = _this$props7.dropBoxSize,
427
429
  emptyMessage = _this$props7.emptyMessage,
428
430
  renderCustomEmptyState = _this$props7.renderCustomEmptyState,
431
+ renderCustomSelectedValue = _this$props7.renderCustomSelectedValue,
429
432
  needIcon = _this$props7.needIcon,
430
433
  iconName = _this$props7.iconName,
431
434
  iconSize = _this$props7.iconSize,
@@ -471,7 +474,29 @@ var SelectWithIcon = /*#__PURE__*/function (_Component) {
471
474
  ref: getTargetRef,
472
475
  "data-id": "".concat(isDisabled ? "".concat(dataId, "_disabled") : isReadOnly ? "".concat(dataId, "_readOnly") : dataId),
473
476
  "data-test-id": "".concat(isDisabled ? "".concat(dataId, "_disabled") : isReadOnly ? "".concat(dataId, "_readOnly") : dataId)
474
- }, /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
477
+ }, (0, _utils.isRenderable)(renderCustomSelectedValue) ? (0, _utils.renderNode)(renderCustomSelectedValue, {
478
+ iconName: iconName,
479
+ iconSize: iconSize,
480
+ iconClass: iconClass,
481
+ needIcon: needIcon,
482
+ isDisabled: isDisabled,
483
+ isReadOnly: isReadOnly,
484
+ isPopupOpen: isPopupOpen,
485
+ isActive: isPopupReady,
486
+ size: size,
487
+ option: this.props.options.find(function (option) {
488
+ return option[idKey] === selectedId;
489
+ }) || DUMMY_OBJECT,
490
+ selectedId: selectedId,
491
+ selectedValue: selectedValue,
492
+ placeHolder: placeHolder,
493
+ htmlId: htmlId,
494
+ maxLength: maxLength,
495
+ dataId: dataId,
496
+ getRef: this.inputRef,
497
+ onKeyDown: this.handleKeyDown,
498
+ ariaControlsId: setAriaId
499
+ }) : /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
475
500
  alignBox: "row"
476
501
  }, needIcon ? /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
477
502
  align: "both",
@@ -17,4 +17,24 @@ describe('SelectWithAvatar', function () {
17
17
 
18
18
  expect(asFragment()).toMatchSnapshot();
19
19
  });
20
+ test('Should render with renderCustomSelectedValue', function () {
21
+ var options = [{
22
+ id: '1',
23
+ text: 'Option 1'
24
+ }, {
25
+ id: '2',
26
+ text: 'Option 2'
27
+ }];
28
+
29
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_SelectWithAvatar["default"], {
30
+ options: options,
31
+ selectedValue: "1",
32
+ renderCustomSelectedValue: function renderCustomSelectedValue(tagProps) {
33
+ return /*#__PURE__*/_react["default"].createElement("div", null, tagProps.text, " - Custom Tag");
34
+ }
35
+ })),
36
+ asFragment = _render2.asFragment;
37
+
38
+ expect(asFragment()).toMatchSnapshot();
39
+ });
20
40
  });
@@ -19,4 +19,25 @@ describe('SelectWithIcon', function () {
19
19
 
20
20
  expect(asFragment()).toMatchSnapshot();
21
21
  });
22
+ test('Should render with renderCustomSelectedValue', function () {
23
+ var options = [{
24
+ id: '1',
25
+ value: 'Option 1'
26
+ }, {
27
+ id: '2',
28
+ value: 'Option 2'
29
+ }];
30
+
31
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_SelectWithIcon["default"], {
32
+ options: options,
33
+ selectedId: "1",
34
+ selectedValue: "Option 1",
35
+ renderCustomSelectedValue: function renderCustomSelectedValue(valueProps) {
36
+ return /*#__PURE__*/_react["default"].createElement("div", null, valueProps.selectedValue, " - Custom Value");
37
+ }
38
+ })),
39
+ asFragment = _render2.asFragment;
40
+
41
+ expect(asFragment()).toMatchSnapshot();
42
+ });
22
43
  });
@@ -1,5 +1,52 @@
1
1
  // Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
2
2
 
3
+ exports[`SelectWithAvatar Should render with renderCustomSelectedValue 1`] = `
4
+ <DocumentFragment>
5
+ <div
6
+ class="wrapper effect"
7
+ data-id="selectWithAvatar"
8
+ data-selector-id="selectWithAvatar"
9
+ data-test-id="selectWithAvatar"
10
+ >
11
+ <div
12
+ class="d-flex d-h-full d-w-full d-flex-row d-items-center container medium borderColor_default hasBorder"
13
+ data-id="containerComponent"
14
+ data-selector-id="container"
15
+ data-test-id="containerComponent"
16
+ >
17
+ <div>
18
+ Option 1 - Custom Tag
19
+ </div>
20
+ <div
21
+ class="d-min-h-0 d-min-w-0 d-flex-grow d-basis-0 d-flex-shrink-0"
22
+ data-id="selectWithAvatar_textBox"
23
+ data-selector-id="box"
24
+ data-test-id="selectWithAvatar_textBox"
25
+ >
26
+ <input
27
+ aria-activedescendant="1"
28
+ aria-controls="1"
29
+ aria-expanded="false"
30
+ aria-haspopup="true"
31
+ aria-owns="1"
32
+ aria-readonly="true"
33
+ autocomplete="off"
34
+ class="pointer container medium default effect borderColor_default"
35
+ data-id="textBox"
36
+ data-selector-id="textBox"
37
+ data-test-id="textBox"
38
+ placeholder=""
39
+ readonly=""
40
+ role="combobox"
41
+ type="text"
42
+ value=""
43
+ />
44
+ </div>
45
+ </div>
46
+ </div>
47
+ </DocumentFragment>
48
+ `;
49
+
3
50
  exports[`SelectWithAvatar rendering the defult props 1`] = `
4
51
  <DocumentFragment>
5
52
  <div
@@ -1,5 +1,24 @@
1
1
  // Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
2
2
 
3
+ exports[`SelectWithIcon Should render with renderCustomSelectedValue 1`] = `
4
+ <DocumentFragment>
5
+ <div
6
+ class="container box_medium"
7
+ data-selector-id="selectWithIcon"
8
+ >
9
+ <div
10
+ class=""
11
+ data-id="selectWithIcon"
12
+ data-test-id="selectWithIcon"
13
+ >
14
+ <div>
15
+ Option 1 - Custom Value
16
+ </div>
17
+ </div>
18
+ </div>
19
+ </DocumentFragment>
20
+ `;
21
+
3
22
  exports[`SelectWithIcon rendering the defult props 1`] = `
4
23
  <DocumentFragment>
5
24
  <div
@@ -350,6 +350,7 @@ var SelectWithIcon_propTypes = {
350
350
  boxSize: _propTypes["default"].string,
351
351
  emptyMessage: _propTypes["default"].string,
352
352
  renderCustomEmptyState: _propTypes["default"].oneOfType([_propTypes["default"].func, _propTypes["default"].node]),
353
+ renderCustomSelectedValue: _propTypes["default"].oneOfType([_propTypes["default"].func, _propTypes["default"].node]),
353
354
  isAbsolutePositioningNeeded: _propTypes["default"].bool,
354
355
  isRestrictScroll: _propTypes["default"].bool,
355
356
  positionsOffset: _propTypes["default"].object,
@@ -197,7 +197,12 @@ var Tooltip = /*#__PURE__*/function (_React$Component) {
197
197
 
198
198
  var containerElement = this.tooltipContainerEl;
199
199
  var element = e.target;
200
- var titleDiv = element.hasAttribute('data-title') || element.hasAttribute('title') ? element : element.closest('[data-title]') || element.closest('[title]');
200
+
201
+ var hasTitleValue = function hasTitleValue(el) {
202
+ return el.hasAttribute('data-title') && el.getAttribute('data-title') !== '' || el.hasAttribute('title') && el.getAttribute('title') !== '';
203
+ };
204
+
205
+ var titleDiv = hasTitleValue(element) ? element : element.closest('[data-title]:not([data-title=""])') || element.closest('[title]:not([title=""])');
201
206
 
202
207
  if (titleDiv) {
203
208
  var title = titleDiv.getAttribute('data-title') || titleDiv.getAttribute('title');