@zohodesk/components 1.4.21 → 1.4.22

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 (141) hide show
  1. package/README.md +29 -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/shared/ArrowIcon/ArrowIcon.js +51 -0
  60. package/es/shared/ArrowIcon/ArrowIcon.module.css +43 -0
  61. package/es/shared/ArrowIcon/__tests__/ArrowIcon.spec.js +100 -0
  62. package/es/shared/ArrowIcon/__tests__/__snapshots__/ArrowIcon.spec.js.snap +221 -0
  63. package/es/shared/ArrowIcon/props/defaultProps.js +11 -0
  64. package/es/shared/ArrowIcon/props/propTypes.js +17 -0
  65. package/es/shared/InputFieldLine/InputFieldLine.js +45 -0
  66. package/es/shared/InputFieldLine/InputFieldLine.module.css +88 -0
  67. package/es/shared/InputFieldLine/__tests__/InputFieldLine.spec.js +114 -0
  68. package/es/shared/InputFieldLine/__tests__/__snapshots__/InputFieldLine.spec.js.snap +194 -0
  69. package/es/shared/InputFieldLine/props/defaultProps.js +16 -0
  70. package/es/shared/InputFieldLine/props/propTypes.js +22 -0
  71. package/es/utils/Common.js +3 -2
  72. package/es/utils/dropDownUtils.js +7 -1
  73. package/lib/ColorSelect/ColorMultiSelect.js +71 -0
  74. package/lib/ColorSelect/ColorSelect.module.css +3 -0
  75. package/lib/ColorSelect/ColorSingleSelect.js +111 -0
  76. package/lib/ColorSelect/__tests__/ColorMultiSelect.spec.js +82 -0
  77. package/lib/ColorSelect/__tests__/ColorSingleSelect.spec.js +91 -0
  78. package/lib/ColorSelect/__tests__/__snapshots__/ColorMultiSelect.spec.js.snap +536 -0
  79. package/lib/ColorSelect/__tests__/__snapshots__/ColorSingleSelect.spec.js.snap +422 -0
  80. package/lib/ColorSelect/_shared/ColorIndicator/ColorIndicator.js +47 -0
  81. package/lib/ColorSelect/_shared/ColorIndicator/ColorIndicator.module.css +19 -0
  82. package/lib/ColorSelect/_shared/ColorIndicator/__tests__/ColorIndicator.spec.js +86 -0
  83. package/lib/ColorSelect/_shared/ColorIndicator/__tests__/__snapshots__/ColorIndicator.spec.js.snap +106 -0
  84. package/lib/ColorSelect/_shared/ColorIndicator/props/defaultProps.js +15 -0
  85. package/lib/ColorSelect/_shared/ColorIndicator/props/propTypes.js +21 -0
  86. package/lib/ColorSelect/_shared/ColoredTag/ColoredTag.js +69 -0
  87. package/lib/ColorSelect/_shared/ColoredTag/__tests__/ColoredTag.spec.js +58 -0
  88. package/lib/ColorSelect/_shared/ColoredTag/__tests__/__snapshots__/ColoredTag.spec.js.snap +101 -0
  89. package/lib/ColorSelect/_shared/ColoredTag/props/propTypes.js +29 -0
  90. package/lib/ColorSelect/_shared/helpers/renderHelpers.js +63 -0
  91. package/lib/ColorSelect/props/defaultProps.js +32 -0
  92. package/lib/ColorSelect/props/propTypes.js +39 -0
  93. package/lib/DateTime/__tests__/__snapshots__/DateTime.spec.js.snap +3 -18
  94. package/lib/DateTime/__tests__/__snapshots__/DateWidget.spec.js.snap +1 -6
  95. package/lib/DateTime/__tests__/__snapshots__/Time.spec.js.snap +3 -18
  96. package/lib/ListItem/ListItem.js +6 -1
  97. package/lib/ListItem/ListItem.module.css +6 -0
  98. package/lib/ListItem/__tests__/ListItem.spec.js +12 -4
  99. package/lib/ListItem/__tests__/__snapshots__/ListItem.spec.js.snap +47 -0
  100. package/lib/ListItem/props/propTypes.js +1 -0
  101. package/lib/MultiSelect/MultiSelect.js +11 -5
  102. package/lib/MultiSelect/SelectedOptions.js +24 -1
  103. package/lib/MultiSelect/Suggestions.js +5 -1
  104. package/lib/MultiSelect/__tests__/MultiSelect.spec.js +42 -2
  105. package/lib/MultiSelect/__tests__/SelectedOptions.spec.js +15 -0
  106. package/lib/MultiSelect/__tests__/Suggestions.spec.js +16 -2
  107. package/lib/MultiSelect/__tests__/__snapshots__/AdvancedGroupMultiSelect.spec.js.snap +1 -3
  108. package/lib/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +3 -9
  109. package/lib/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +91 -12
  110. package/lib/MultiSelect/__tests__/__snapshots__/MultiSelectWithAvatar.spec.js.snap +1 -3
  111. package/lib/MultiSelect/__tests__/__snapshots__/SelectedOptions.spec.js.snap +15 -0
  112. package/lib/MultiSelect/__tests__/__snapshots__/Suggestions.spec.js.snap +66 -0
  113. package/lib/MultiSelect/props/propTypes.js +6 -0
  114. package/lib/Select/Select.js +67 -4
  115. package/lib/Select/__tests__/Select.spec.js +12 -0
  116. package/lib/Select/__tests__/__snapshots__/GroupSelect.spec.js.snap +1 -6
  117. package/lib/Select/__tests__/__snapshots__/Select.spec.js.snap +111 -441
  118. package/lib/Select/__tests__/__snapshots__/SelectWithIcon.spec.js.snap +1 -6
  119. package/lib/Select/props/defaultProps.js +2 -1
  120. package/lib/Select/props/propTypes.js +3 -1
  121. package/lib/TextBox/__tests__/TextBox.spec.js +36 -36
  122. package/lib/TextBoxIcon/TextBoxIcon.js +18 -13
  123. package/lib/TextBoxIcon/TextBoxIcon.module.css +3 -38
  124. package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +9 -2
  125. package/lib/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +78 -224
  126. package/lib/TextBoxIcon/props/propTypes.js +1 -2
  127. package/lib/shared/ArrowIcon/ArrowIcon.js +65 -0
  128. package/lib/shared/ArrowIcon/ArrowIcon.module.css +43 -0
  129. package/lib/shared/ArrowIcon/__tests__/ArrowIcon.spec.js +107 -0
  130. package/lib/shared/ArrowIcon/__tests__/__snapshots__/ArrowIcon.spec.js.snap +221 -0
  131. package/lib/shared/ArrowIcon/props/defaultProps.js +18 -0
  132. package/lib/shared/ArrowIcon/props/propTypes.js +28 -0
  133. package/lib/shared/InputFieldLine/InputFieldLine.js +57 -0
  134. package/lib/shared/InputFieldLine/InputFieldLine.module.css +88 -0
  135. package/lib/shared/InputFieldLine/__tests__/InputFieldLine.spec.js +122 -0
  136. package/lib/shared/InputFieldLine/__tests__/__snapshots__/InputFieldLine.spec.js.snap +194 -0
  137. package/lib/shared/InputFieldLine/props/defaultProps.js +23 -0
  138. package/lib/shared/InputFieldLine/props/propTypes.js +39 -0
  139. package/lib/utils/Common.js +8 -4
  140. package/lib/utils/dropDownUtils.js +10 -1
  141. package/package.json +9 -7
@@ -78,6 +78,53 @@ exports[`ListItem ListItem with renderValueRightPlaceholderNode 1`] = `
78
78
  </DocumentFragment>
79
79
  `;
80
80
 
81
+ exports[`ListItem Should render with renderBeforeChildren 1`] = `
82
+ <DocumentFragment>
83
+ <li
84
+ class="list medium default withBorder flex rowdir vCenter"
85
+ data-a11y-inset-focus="true"
86
+ data-id="listItem"
87
+ data-selector-id="listItem"
88
+ data-test-id="listItem"
89
+ role="option"
90
+ tabindex="0"
91
+ >
92
+ <div
93
+ class="leftBox grow basis shrinkOff"
94
+ data-id="boxComponent"
95
+ data-selector-id="box"
96
+ data-test-id="boxComponent"
97
+ >
98
+ <div
99
+ class="titleBox shrinkOff"
100
+ data-id="boxComponent"
101
+ data-selector-id="box"
102
+ data-test-id="boxComponent"
103
+ >
104
+ <div
105
+ class="beforeChild basisAuto shrinkOn"
106
+ data-id="boxComponent"
107
+ data-selector-id="box"
108
+ data-test-id="boxComponent"
109
+ >
110
+ <span>
111
+ Before children
112
+ </span>
113
+ </div>
114
+ <div
115
+ class="children basisAuto shrinkOn"
116
+ data-id="boxComponent"
117
+ data-selector-id="box"
118
+ data-test-id="boxComponent"
119
+ >
120
+ Content
121
+ </div>
122
+ </div>
123
+ </div>
124
+ </li>
125
+ </DocumentFragment>
126
+ `;
127
+
81
128
  exports[`ListItem rendering the defult props 1`] = `
82
129
  <DocumentFragment>
83
130
  <li
@@ -84,6 +84,7 @@ var ListItem_Props = {
84
84
  ListItemProps: _propTypes["default"].object
85
85
  }),
86
86
  secondaryValue: _propTypes["default"].string,
87
+ renderBeforeChildren: _propTypes["default"].oneOfType([_propTypes["default"].node, _propTypes["default"].func]),
87
88
  renderValueRightPlaceholderNode: _propTypes["default"].oneOfType([_propTypes["default"].node, _propTypes["default"].func])
88
89
  };
89
90
  exports.ListItem_Props = ListItem_Props;
@@ -105,6 +105,9 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
105
105
 
106
106
  /* eslint-disable react/no-unused-prop-types */
107
107
  var dummyArray = [];
108
+ var a11yProps = {
109
+ role: 'option'
110
+ };
108
111
 
109
112
  var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
110
113
  _inherits(MultiSelectComponent, _React$Component);
@@ -1015,6 +1018,7 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
1015
1018
  isPopupOpen = _this$props14.isPopupOpen,
1016
1019
  ariaErrorId = _this$props14.ariaErrorId,
1017
1020
  customProps = _this$props14.customProps,
1021
+ renderCustomSelectedValue = _this$props14.renderCustomSelectedValue,
1018
1022
  isFocus = _this$props14.isFocus,
1019
1023
  isPopupReady = _this$props14.isPopupReady,
1020
1024
  renderCustomClearComponent = _this$props14.renderCustomClearComponent,
@@ -1055,7 +1059,11 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
1055
1059
  onSelect: this.handleClickSelectedOption,
1056
1060
  size: size,
1057
1061
  palette: palette,
1058
- dataId: "".concat(dataId, "_selectedOptions")
1062
+ dataId: "".concat(dataId, "_selectedOptions"),
1063
+ renderCustomSelectedValue: renderCustomSelectedValue,
1064
+ isPopupReady: isPopupReady,
1065
+ isPopupOpen: isPopupOpen,
1066
+ isDisabled: isDisabled
1059
1067
  }), /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
1060
1068
  flexible: true,
1061
1069
  className: _MultiSelectModule["default"].wrapper,
@@ -1247,6 +1255,8 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
1247
1255
  }, isSearching ? /*#__PURE__*/_react["default"].createElement("div", {
1248
1256
  className: _MultiSelectModule["default"][palette]
1249
1257
  }, searchText) : suggestions.length ? /*#__PURE__*/_react["default"].createElement(_Suggestions["default"], _extends({
1258
+ a11y: a11yProps,
1259
+ needBorder: false,
1250
1260
  key: searchStr.trim(),
1251
1261
  suggestions: suggestions,
1252
1262
  isVirtualizerEnabled: isVirtualizerEnabled,
@@ -1256,13 +1266,9 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
1256
1266
  hoverOption: hoverOption,
1257
1267
  onClick: this.handleSelectOption,
1258
1268
  onMouseEnter: this.handleMouseEnter,
1259
- needBorder: false,
1260
1269
  dataId: "".concat(dataId, "_Options"),
1261
1270
  palette: palette,
1262
1271
  selectedOptions: selectedOptionIds,
1263
- a11y: {
1264
- role: 'option'
1265
- },
1266
1272
  limit: limit,
1267
1273
  limitReachedMessage: limitReachedMessage
1268
1274
  }, SuggestionsProps)) : /*#__PURE__*/_react["default"].createElement(_EmptyState["default"], {
@@ -68,7 +68,11 @@ var SelectedOptions = /*#__PURE__*/function (_React$PureComponent) {
68
68
  size = _this$props.size,
69
69
  palette = _this$props.palette,
70
70
  dataId = _this$props.dataId,
71
- limit = _this$props.limit;
71
+ limit = _this$props.limit,
72
+ renderCustomSelectedValue = _this$props.renderCustomSelectedValue,
73
+ isPopupOpen = _this$props.isPopupOpen,
74
+ isPopupReady = _this$props.isPopupReady,
75
+ isInputDisabled = _this$props.isDisabled;
72
76
  var isDarkPalette = palette === 'dark' ? 'dark' : 'danger';
73
77
  var selectedData = limit && limit > 0 ? selectedOptions.slice(0, limit) : selectedOptions;
74
78
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, selectedData.map(function (option) {
@@ -111,6 +115,25 @@ var SelectedOptions = /*#__PURE__*/function (_React$PureComponent) {
111
115
  iconName: icon,
112
116
  iconSize: iconSize
113
117
  })));
118
+ } else if (optionType === 'custom') {
119
+ return /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
120
+ className: "".concat(_SelectedOptionsModule["default"].tag, " ").concat(_SelectedOptionsModule["default"][size]),
121
+ key: "".concat(id, "customTag"),
122
+ dataId: dataId
123
+ }, typeof renderCustomSelectedValue == 'function' ? renderCustomSelectedValue({
124
+ onRemove: isDisabled || isReadOnly ? null : onRemove,
125
+ palette: isDarkPalette,
126
+ onSelectTag: isReadOnly ? null : onSelect,
127
+ getRef: getRef,
128
+ isReadOnly: isReadOnly,
129
+ isPopupReady: isPopupReady,
130
+ isPopupOpen: isPopupOpen,
131
+ isDisabled: isInputDisabled,
132
+ size: size,
133
+ highLightedSelectOptions: highLightedSelectOptions,
134
+ isActive: highLightedSelectOptions.indexOf(id) >= 0,
135
+ option: option
136
+ }) : renderCustomSelectedValue);
114
137
  }
115
138
 
116
139
  return /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
@@ -25,6 +25,8 @@ var _Layout = require("../Layout");
25
25
 
26
26
  var _Common = require("../utils/Common");
27
27
 
28
+ var _utils = require("@zohodesk/utils");
29
+
28
30
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
29
31
 
30
32
  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); }
@@ -100,6 +102,7 @@ var Suggestions = /*#__PURE__*/function (_React$PureComponent) {
100
102
  needBorder = _this$props.needBorder,
101
103
  _this$props$selectedO = _this$props.selectedOptions,
102
104
  selectedOptions = _this$props$selectedO === void 0 ? _Common.DUMMY_ARRAY : _this$props$selectedO,
105
+ renderBeforeChildren = _this$props.renderBeforeChildren,
103
106
  activeId = _this$props.activeId,
104
107
  hoverId = _this$props.hoverId,
105
108
  listItemSize = _this$props.listItemSize,
@@ -214,7 +217,8 @@ var Suggestions = /*#__PURE__*/function (_React$PureComponent) {
214
217
  size: listItemSize,
215
218
  palette: palette,
216
219
  a11y: list_a11y,
217
- secondaryValue: secondaryValue
220
+ secondaryValue: secondaryValue,
221
+ renderBeforeChildren: (0, _utils.renderNode)(renderBeforeChildren, suggestion)
218
222
  }));
219
223
  }
220
224
  }, {
@@ -8,6 +8,35 @@ var _MultiSelect = _interopRequireDefault(require("../MultiSelect"));
8
8
 
9
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
10
10
 
11
+ var options = [{
12
+ id: 1,
13
+ text: 'custom 1',
14
+ optionType: 'custom'
15
+ }, {
16
+ id: 2,
17
+ text: 'custom 2',
18
+ optionType: 'custom'
19
+ }, {
20
+ id: 3,
21
+ text: 'custom 3',
22
+ optionType: 'custom'
23
+ }, {
24
+ id: 4,
25
+ text: 'custom 4',
26
+ optionType: 'custom'
27
+ }, {
28
+ id: 5,
29
+ text: 'custom 5',
30
+ optionType: 'custom'
31
+ }, {
32
+ id: 6,
33
+ text: 'custom 6',
34
+ optionType: 'custom'
35
+ }, {
36
+ id: 7,
37
+ text: 'custom 7',
38
+ optionType: 'custom'
39
+ }];
11
40
  var testData = ['text1', 'text2', 'text3', 'text4', 'text5', 'text6', 'text7', 'text8', 'text9', 'text10'];
12
41
  var testSelectedData = ['text1', 'text2', 'text3'];
13
42
  describe('MultiSelect', function () {
@@ -17,8 +46,19 @@ describe('MultiSelect', function () {
17
46
 
18
47
  expect(asFragment()).toMatchSnapshot();
19
48
  });
20
- test('rendering with limit feature', function () {
49
+ test('Should render with renderCustomSelectedValue', function () {
21
50
  var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_MultiSelect["default"], {
51
+ options: options,
52
+ renderCustomSelectedValue: function renderCustomSelectedValue() {
53
+ return /*#__PURE__*/_react["default"].createElement("span", null, "MultiSelect Custom Value");
54
+ }
55
+ })),
56
+ asFragment = _render2.asFragment;
57
+
58
+ expect(asFragment()).toMatchSnapshot();
59
+ });
60
+ test('rendering with limit feature', function () {
61
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_MultiSelect["default"], {
22
62
  valueField: "id",
23
63
  textField: "text",
24
64
  options: testData,
@@ -36,7 +76,7 @@ describe('MultiSelect', function () {
36
76
  needResponsive: true,
37
77
  limit: 3
38
78
  })),
39
- asFragment = _render2.asFragment;
79
+ asFragment = _render3.asFragment;
40
80
 
41
81
  expect(asFragment()).toMatchSnapshot();
42
82
  });
@@ -32,4 +32,19 @@ describe('SelectedOptions', function () {
32
32
 
33
33
  expect(asFragment()).toMatchSnapshot();
34
34
  });
35
+ test('Should render with renderCustomSelectedValue', function () {
36
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_SelectedOptions["default"], {
37
+ highLightedSelectOptions: [],
38
+ selectedOptions: [{
39
+ value: 'SelectedObject1',
40
+ optionType: 'custom'
41
+ }],
42
+ renderCustomSelectedValue: function renderCustomSelectedValue() {
43
+ return /*#__PURE__*/_react["default"].createElement("span", null, " SelectedOptions Custom Value");
44
+ }
45
+ })),
46
+ asFragment = _render3.asFragment;
47
+
48
+ expect(asFragment()).toMatchSnapshot();
49
+ });
35
50
  });
@@ -64,14 +64,28 @@ describe('Suggestions', function () {
64
64
 
65
65
  expect(asFragment()).toMatchSnapshot();
66
66
  });
67
- test('rendering with limit props', function () {
67
+ test('Should render with renderBeforeChildren', function () {
68
68
  var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Suggestions["default"], {
69
+ suggestions: [{
70
+ value: 'Suggestions Option 1',
71
+ id: '1'
72
+ }],
73
+ renderBeforeChildren: function renderBeforeChildren() {
74
+ return /*#__PURE__*/_react["default"].createElement("span", null, "Suggestions Before Children");
75
+ }
76
+ })),
77
+ asFragment = _render2.asFragment;
78
+
79
+ expect(asFragment()).toMatchSnapshot();
80
+ });
81
+ test('rendering with limit props', function () {
82
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Suggestions["default"], {
69
83
  selectedOptions: [1, 2, 3, 4],
70
84
  suggestions: sampleData,
71
85
  limit: 3,
72
86
  limitReachedMessage: "Limit Reached"
73
87
  })),
74
- asFragment = _render2.asFragment;
88
+ asFragment = _render3.asFragment;
75
89
 
76
90
  expect(asFragment()).toMatchSnapshot();
77
91
  });
@@ -25,10 +25,8 @@ exports[`AdvancedGroupMultiSelect rendering the defult props 1`] = `
25
25
  "
26
26
  />
27
27
  <div
28
- class="container effect custmInputWrapper flex rowdir"
29
- data-id="containerComponent"
28
+ class="varClass customContainer effect container custmInputWrapper flex rowdir"
30
29
  data-selector-id="textBoxIcon"
31
- data-test-id="containerComponent"
32
30
  >
33
31
  <div
34
32
  class="grow basis shrinkOff"
@@ -25,10 +25,8 @@ exports[`AdvancedMultiSelect rendering the defult props 1`] = `
25
25
  "
26
26
  />
27
27
  <div
28
- class="container effect custmInputWrapper flex rowdir"
29
- data-id="containerComponent"
28
+ class="varClass customContainer effect container custmInputWrapper flex rowdir"
30
29
  data-selector-id="textBoxIcon"
31
- data-test-id="containerComponent"
32
30
  >
33
31
  <div
34
32
  class="grow basis shrinkOff"
@@ -98,10 +96,8 @@ exports[`AdvancedMultiSelect rendering the options array with objects and string
98
96
  "
99
97
  />
100
98
  <div
101
- class="container effect custmInputWrapper flex rowdir"
102
- data-id="containerComponent"
99
+ class="varClass customContainer effect container custmInputWrapper flex rowdir"
103
100
  data-selector-id="textBoxIcon"
104
- data-test-id="containerComponent"
105
101
  >
106
102
  <div
107
103
  class="grow basis shrinkOff"
@@ -346,10 +342,8 @@ exports[`AdvancedMultiSelect rendering the options array with only objects using
346
342
  "
347
343
  />
348
344
  <div
349
- class="container effect custmInputWrapper flex rowdir"
350
- data-id="containerComponent"
345
+ class="varClass customContainer effect container custmInputWrapper flex rowdir"
351
346
  data-selector-id="textBoxIcon"
352
- data-test-id="containerComponent"
353
347
  >
354
348
  <div
355
349
  class="grow basis shrinkOff"
@@ -1,5 +1,88 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
+ exports[`MultiSelect Should render with renderCustomSelectedValue 1`] = `
4
+ <DocumentFragment>
5
+ <div
6
+ class="wrapper effect"
7
+ data-id="multiSelect"
8
+ data-selector-id="multiSelect"
9
+ data-test-id="multiSelect"
10
+ >
11
+ <div
12
+ class="container medium borderColor_default hasBorder flex cover rowdir wrap vCenter"
13
+ data-id="containerComponent"
14
+ data-selector-id="container"
15
+ data-test-id="containerComponent"
16
+ >
17
+ <div
18
+ class="wrapper grow basisAuto shrinkOn"
19
+ data-id="boxComponent"
20
+ data-selector-id="box"
21
+ data-test-id="boxComponent"
22
+ >
23
+ <span
24
+ class=" custmSpan custmSpanMedium
25
+ "
26
+ />
27
+ <div
28
+ class="varClass customContainer effect container custmInputWrapper flex rowdir"
29
+ data-selector-id="textBoxIcon"
30
+ >
31
+ <div
32
+ class="grow basis shrinkOff"
33
+ data-id="boxComponent"
34
+ data-selector-id="box"
35
+ data-test-id="boxComponent"
36
+ >
37
+ <input
38
+ aria-expanded="false"
39
+ aria-haspopup="true"
40
+ aria-required="true"
41
+ autocomplete="off"
42
+ class=" container medium default effect borderColor_default "
43
+ data-id="multiSelect_textBox"
44
+ data-selector-id="textBoxIcon"
45
+ data-test-id="multiSelect_textBox"
46
+ maxlength="250"
47
+ role="combobox"
48
+ type="text"
49
+ value=""
50
+ />
51
+ </div>
52
+ <div
53
+ class="iconContainer shrinkOff"
54
+ data-id="boxComponent"
55
+ data-selector-id="box"
56
+ data-test-id="boxComponent"
57
+ >
58
+ <div
59
+ class="flex cover rowdir"
60
+ data-id="containerComponent"
61
+ data-selector-id="container"
62
+ data-test-id="containerComponent"
63
+ >
64
+ <div
65
+ class="icon shrinkOff"
66
+ data-id="boxComponent"
67
+ data-selector-id="box"
68
+ data-test-id="boxComponent"
69
+ >
70
+ <div
71
+ class="rightPlaceholder inflex rowdir vCenter"
72
+ data-id="containerComponent"
73
+ data-selector-id="container"
74
+ data-test-id="containerComponent"
75
+ />
76
+ </div>
77
+ </div>
78
+ </div>
79
+ </div>
80
+ </div>
81
+ </div>
82
+ </div>
83
+ </DocumentFragment>
84
+ `;
85
+
3
86
  exports[`MultiSelect rendering the defult props 1`] = `
4
87
  <DocumentFragment>
5
88
  <div
@@ -25,10 +108,8 @@ exports[`MultiSelect rendering the defult props 1`] = `
25
108
  "
26
109
  />
27
110
  <div
28
- class="container effect custmInputWrapper flex rowdir"
29
- data-id="containerComponent"
111
+ class="varClass customContainer effect container custmInputWrapper flex rowdir"
30
112
  data-selector-id="textBoxIcon"
31
- data-test-id="containerComponent"
32
113
  >
33
114
  <div
34
115
  class="grow basis shrinkOff"
@@ -106,7 +187,7 @@ exports[`MultiSelect rendering with limit feature 1`] = `
106
187
  data-test-id="multiSelect_selectedOptions"
107
188
  >
108
189
  <div
109
- aria-labelledby="5"
190
+ aria-labelledby="7"
110
191
  class="container effect medium lgRadius danger pointer "
111
192
  data-id="tag_Tag"
112
193
  data-selector-id="tag"
@@ -117,7 +198,7 @@ exports[`MultiSelect rendering with limit feature 1`] = `
117
198
  <div
118
199
  aria-hidden="true"
119
200
  class="text mediumtext"
120
- id="5"
201
+ id="7"
121
202
  >
122
203
  text1
123
204
  </div>
@@ -156,7 +237,7 @@ exports[`MultiSelect rendering with limit feature 1`] = `
156
237
  data-test-id="multiSelect_selectedOptions"
157
238
  >
158
239
  <div
159
- aria-labelledby="6"
240
+ aria-labelledby="8"
160
241
  class="container effect medium lgRadius danger pointer "
161
242
  data-id="tag_Tag"
162
243
  data-selector-id="tag"
@@ -167,7 +248,7 @@ exports[`MultiSelect rendering with limit feature 1`] = `
167
248
  <div
168
249
  aria-hidden="true"
169
250
  class="text mediumtext"
170
- id="6"
251
+ id="8"
171
252
  >
172
253
  text2
173
254
  </div>
@@ -206,7 +287,7 @@ exports[`MultiSelect rendering with limit feature 1`] = `
206
287
  data-test-id="multiSelect_selectedOptions"
207
288
  >
208
289
  <div
209
- aria-labelledby="7"
290
+ aria-labelledby="9"
210
291
  class="container effect medium lgRadius danger pointer "
211
292
  data-id="tag_Tag"
212
293
  data-selector-id="tag"
@@ -217,7 +298,7 @@ exports[`MultiSelect rendering with limit feature 1`] = `
217
298
  <div
218
299
  aria-hidden="true"
219
300
  class="text mediumtext"
220
- id="7"
301
+ id="9"
221
302
  >
222
303
  text3
223
304
  </div>
@@ -260,10 +341,8 @@ exports[`MultiSelect rendering with limit feature 1`] = `
260
341
  "
261
342
  />
262
343
  <div
263
- class="container effect custmInputWrapper flex rowdir"
264
- data-id="containerComponent"
344
+ class="varClass customContainer effect container custmInputWrapper flex rowdir"
265
345
  data-selector-id="textBoxIcon"
266
- data-test-id="containerComponent"
267
346
  >
268
347
  <div
269
348
  class="grow basis shrinkOff"
@@ -25,10 +25,8 @@ exports[`MultiSelectWithAvatar rendering the defult props 1`] = `
25
25
  "
26
26
  />
27
27
  <div
28
- class="container effect custmInputWrapper flex rowdir"
29
- data-id="containerComponent"
28
+ class="varClass customContainer effect container custmInputWrapper flex rowdir"
30
29
  data-selector-id="textBoxIcon"
31
- data-test-id="containerComponent"
32
30
  >
33
31
  <div
34
32
  class="grow basis shrinkOff"
@@ -1,5 +1,20 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
+ exports[`SelectedOptions Should render with renderCustomSelectedValue 1`] = `
4
+ <DocumentFragment>
5
+ <div
6
+ class="tag medium shrinkOff"
7
+ data-id="selectedOptions"
8
+ data-selector-id="box"
9
+ data-test-id="selectedOptions"
10
+ >
11
+ <span>
12
+ SelectedOptions Custom Value
13
+ </span>
14
+ </div>
15
+ </DocumentFragment>
16
+ `;
17
+
3
18
  exports[`SelectedOptions rendering the basic select options 1`] = `
4
19
  <DocumentFragment>
5
20
  <div
@@ -1,5 +1,71 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
+ exports[`Suggestions Should render with renderBeforeChildren 1`] = `
4
+ <DocumentFragment>
5
+ <div
6
+ class="flex coldir"
7
+ data-id="containerComponent"
8
+ data-selector-id="container"
9
+ data-test-id="containerComponent"
10
+ tabindex="0"
11
+ >
12
+ <div
13
+ class="shrinkOff"
14
+ data-id="undefined"
15
+ data-selector-id="box"
16
+ data-test-id="undefined"
17
+ >
18
+ <li
19
+ aria-label="Suggestions Option 1"
20
+ aria-selected="false"
21
+ class="list medium default withBorder flex rowdir vCenter"
22
+ data-a11y-inset-focus="true"
23
+ data-a11y-list-active="false"
24
+ data-id="Suggestions Option 1"
25
+ data-selector-id="listItem"
26
+ data-test-id="Suggestions Option 1"
27
+ data-title="Suggestions Option 1"
28
+ role="option"
29
+ tabindex="0"
30
+ >
31
+ <div
32
+ class="leftBox grow basis shrinkOff"
33
+ data-id="boxComponent"
34
+ data-selector-id="box"
35
+ data-test-id="boxComponent"
36
+ >
37
+ <div
38
+ class="titleBox shrinkOff"
39
+ data-id="boxComponent"
40
+ data-selector-id="box"
41
+ data-test-id="boxComponent"
42
+ >
43
+ <div
44
+ class="beforeChild basisAuto shrinkOn"
45
+ data-id="boxComponent"
46
+ data-selector-id="box"
47
+ data-test-id="boxComponent"
48
+ >
49
+ <span>
50
+ Suggestions Before Children
51
+ </span>
52
+ </div>
53
+ <div
54
+ class="value basisAuto shrinkOn"
55
+ data-id="boxComponent"
56
+ data-selector-id="box"
57
+ data-test-id="boxComponent"
58
+ >
59
+ Suggestions Option 1
60
+ </div>
61
+ </div>
62
+ </div>
63
+ </li>
64
+ </div>
65
+ </div>
66
+ </DocumentFragment>
67
+ `;
68
+
3
69
  exports[`Suggestions rendering the defult props 1`] = `
4
70
  <DocumentFragment>
5
71
  <div
@@ -139,6 +139,7 @@ var MultiSelect_propTypes = {
139
139
  allowValueFallback: _propTypes["default"].bool,
140
140
  renderCustomClearComponent: _propTypes["default"].func,
141
141
  renderCustomToggleIndicator: _propTypes["default"].oneOfType([_propTypes["default"].func, _propTypes["default"].node]),
142
+ renderCustomSelectedValue: _propTypes["default"].oneOfType([_propTypes["default"].func, _propTypes["default"].node]),
142
143
  limit: _propTypes["default"].number,
143
144
  secondaryField: _propTypes["default"].string
144
145
  };
@@ -181,6 +182,10 @@ var SelectedOptions_propTypes = {
181
182
  size: _propTypes["default"].oneOf(['medium', 'xmedium']),
182
183
  palette: _propTypes["default"].string,
183
184
  dataId: _propTypes["default"].string,
185
+ isDisabled: _propTypes["default"].bool,
186
+ isPopupReady: _propTypes["default"].bool,
187
+ isPopupOpen: _propTypes["default"].bool,
188
+ renderCustomSelectedValue: _propTypes["default"].oneOfType([_propTypes["default"].func, _propTypes["default"].node]),
184
189
  limit: _propTypes["default"].number
185
190
  };
186
191
  exports.SelectedOptions_propTypes = SelectedOptions_propTypes;
@@ -216,6 +221,7 @@ var Suggestions_propTypes = {
216
221
  optionType: _propTypes["default"].string,
217
222
  listItemProps: _propTypes["default"].object
218
223
  })),
224
+ renderBeforeChildren: _propTypes["default"].oneOfType([_propTypes["default"].func, _propTypes["default"].node]),
219
225
  limit: _propTypes["default"].number,
220
226
  limitReachedMessage: _propTypes["default"].string
221
227
  };