@zohodesk/components 1.0.0-temp-230.1 → 1.0.0-temp-234

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 (176) hide show
  1. package/.cli/propValidation_report.html +1 -1
  2. package/README.md +41 -11
  3. package/assets/Appearance/dark/mode/Component_DarkMode.module.css +0 -8
  4. package/assets/Appearance/light/mode/Component_LightMode.module.css +0 -8
  5. package/assets/Appearance/pureDark/mode/Component_PureDarkMode.module.css +0 -8
  6. package/es/DateTime/__tests__/__snapshots__/DateTime.spec.js.snap +18 -9
  7. package/es/DateTime/__tests__/__snapshots__/DateWidget.spec.js.snap +6 -3
  8. package/es/DateTime/__tests__/__snapshots__/Time.spec.js.snap +18 -9
  9. package/es/ListItem/ListItem.js +7 -8
  10. package/es/ListItem/ListItem.module.css +0 -6
  11. package/es/ListItem/ListItemWithAvatar.js +12 -6
  12. package/es/ListItem/ListItemWithCheckBox.js +12 -6
  13. package/es/ListItem/ListItemWithIcon.js +11 -5
  14. package/es/ListItem/ListItemWithRadio.js +12 -6
  15. package/es/ListItem/__tests__/ListItem.spec.js +14 -3
  16. package/es/ListItem/__tests__/ListItemWithAvatar.spec.js +19 -0
  17. package/es/ListItem/__tests__/ListItemWithCheckBox.spec.js +19 -0
  18. package/es/ListItem/__tests__/ListItemWithIcon.spec.js +17 -0
  19. package/es/ListItem/__tests__/ListItemWithRadio.spec.js +19 -0
  20. package/es/ListItem/__tests__/__snapshots__/ListItem.spec.js.snap +38 -7
  21. package/es/ListItem/__tests__/__snapshots__/ListItemWithAvatar.spec.js.snap +140 -46
  22. package/es/ListItem/__tests__/__snapshots__/ListItemWithCheckBox.spec.js.snap +251 -49
  23. package/es/ListItem/__tests__/__snapshots__/ListItemWithIcon.spec.js.snap +144 -50
  24. package/es/ListItem/__tests__/__snapshots__/ListItemWithRadio.spec.js.snap +252 -52
  25. package/es/ListItem/props/propTypes.js +14 -5
  26. package/es/MultiSelect/AdvancedGroupMultiSelect.js +16 -8
  27. package/es/MultiSelect/AdvancedMultiSelect.js +13 -6
  28. package/es/MultiSelect/EmptyState.js +2 -1
  29. package/es/MultiSelect/MultiSelect.js +67 -35
  30. package/es/MultiSelect/MultiSelectWithAvatar.js +9 -2
  31. package/es/MultiSelect/SelectedOptions.js +3 -24
  32. package/es/MultiSelect/Suggestions.js +175 -98
  33. package/es/MultiSelect/__tests__/MultiSelect.spec.js +19 -32
  34. package/es/MultiSelect/__tests__/SelectedOptions.spec.js +0 -13
  35. package/es/MultiSelect/__tests__/Suggestions.spec.js +52 -6
  36. package/es/MultiSelect/__tests__/__snapshots__/AdvancedGroupMultiSelect.spec.js.snap +3 -3
  37. package/es/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +9 -9
  38. package/es/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +178 -10
  39. package/es/MultiSelect/__tests__/__snapshots__/MultiSelectWithAvatar.spec.js.snap +3 -3
  40. package/es/MultiSelect/__tests__/__snapshots__/SelectedOptions.spec.js.snap +0 -15
  41. package/es/MultiSelect/__tests__/__snapshots__/Suggestions.spec.js.snap +308 -31
  42. package/es/MultiSelect/constants.js +6 -0
  43. package/es/MultiSelect/props/defaultProps.js +2 -0
  44. package/es/MultiSelect/props/propTypes.js +16 -58
  45. package/es/Select/GroupSelect.js +4 -2
  46. package/es/Select/Select.js +50 -44
  47. package/es/Select/SelectWithAvatar.js +14 -3
  48. package/es/Select/SelectWithIcon.js +7 -3
  49. package/es/Select/__tests__/Select.spec.js +0 -10
  50. package/es/Select/__tests__/__snapshots__/GroupSelect.spec.js.snap +6 -3
  51. package/es/Select/__tests__/__snapshots__/Select.spec.js.snap +429 -245
  52. package/es/Select/__tests__/__snapshots__/SelectWithIcon.spec.js.snap +6 -3
  53. package/es/Select/props/defaultProps.js +2 -0
  54. package/es/Select/props/propTypes.js +7 -2
  55. package/es/TextBoxIcon/TextBoxIcon.js +12 -17
  56. package/es/TextBoxIcon/TextBoxIcon.module.css +38 -3
  57. package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +2 -1
  58. package/es/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +225 -116
  59. package/es/TextBoxIcon/props/propTypes.js +2 -1
  60. package/es/utils/Common.js +3 -4
  61. package/es/utils/dropDownUtils.js +40 -16
  62. package/lib/DateTime/__tests__/__snapshots__/DateTime.spec.js.snap +18 -9
  63. package/lib/DateTime/__tests__/__snapshots__/DateWidget.spec.js.snap +6 -3
  64. package/lib/DateTime/__tests__/__snapshots__/Time.spec.js.snap +18 -9
  65. package/lib/ListItem/ListItem.js +8 -8
  66. package/lib/ListItem/ListItem.module.css +0 -6
  67. package/lib/ListItem/ListItemWithAvatar.js +13 -6
  68. package/lib/ListItem/ListItemWithCheckBox.js +13 -6
  69. package/lib/ListItem/ListItemWithIcon.js +11 -5
  70. package/lib/ListItem/ListItemWithRadio.js +13 -6
  71. package/lib/ListItem/__tests__/ListItem.spec.js +18 -3
  72. package/lib/ListItem/__tests__/ListItemWithAvatar.spec.js +23 -0
  73. package/lib/ListItem/__tests__/ListItemWithCheckBox.spec.js +23 -0
  74. package/lib/ListItem/__tests__/ListItemWithIcon.spec.js +21 -0
  75. package/lib/ListItem/__tests__/ListItemWithRadio.spec.js +23 -0
  76. package/lib/ListItem/__tests__/__snapshots__/ListItem.spec.js.snap +38 -7
  77. package/lib/ListItem/__tests__/__snapshots__/ListItemWithAvatar.spec.js.snap +140 -46
  78. package/lib/ListItem/__tests__/__snapshots__/ListItemWithCheckBox.spec.js.snap +251 -49
  79. package/lib/ListItem/__tests__/__snapshots__/ListItemWithIcon.spec.js.snap +144 -50
  80. package/lib/ListItem/__tests__/__snapshots__/ListItemWithRadio.spec.js.snap +252 -52
  81. package/lib/ListItem/props/propTypes.js +14 -6
  82. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +94 -83
  83. package/lib/MultiSelect/AdvancedMultiSelect.js +16 -7
  84. package/lib/MultiSelect/EmptyState.js +3 -1
  85. package/lib/MultiSelect/MultiSelect.js +68 -33
  86. package/lib/MultiSelect/MultiSelectWithAvatar.js +11 -3
  87. package/lib/MultiSelect/SelectedOptions.js +3 -24
  88. package/lib/MultiSelect/Suggestions.js +177 -101
  89. package/lib/MultiSelect/__tests__/MultiSelect.spec.js +19 -34
  90. package/lib/MultiSelect/__tests__/SelectedOptions.spec.js +0 -15
  91. package/lib/MultiSelect/__tests__/Suggestions.spec.js +52 -8
  92. package/lib/MultiSelect/__tests__/__snapshots__/AdvancedGroupMultiSelect.spec.js.snap +3 -3
  93. package/lib/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +9 -9
  94. package/lib/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +178 -10
  95. package/lib/MultiSelect/__tests__/__snapshots__/MultiSelectWithAvatar.spec.js.snap +3 -3
  96. package/lib/MultiSelect/__tests__/__snapshots__/SelectedOptions.spec.js.snap +0 -15
  97. package/lib/MultiSelect/__tests__/__snapshots__/Suggestions.spec.js.snap +308 -31
  98. package/lib/MultiSelect/constants.js +13 -0
  99. package/lib/MultiSelect/props/defaultProps.js +2 -0
  100. package/lib/MultiSelect/props/propTypes.js +15 -58
  101. package/lib/Select/GroupSelect.js +4 -3
  102. package/lib/Select/Select.js +48 -41
  103. package/lib/Select/SelectWithAvatar.js +14 -6
  104. package/lib/Select/SelectWithIcon.js +7 -4
  105. package/lib/Select/__tests__/Select.spec.js +0 -12
  106. package/lib/Select/__tests__/__snapshots__/GroupSelect.spec.js.snap +6 -3
  107. package/lib/Select/__tests__/__snapshots__/Select.spec.js.snap +429 -245
  108. package/lib/Select/__tests__/__snapshots__/SelectWithIcon.spec.js.snap +6 -3
  109. package/lib/Select/props/defaultProps.js +2 -0
  110. package/lib/Select/props/propTypes.js +7 -2
  111. package/lib/TextBoxIcon/TextBoxIcon.js +13 -18
  112. package/lib/TextBoxIcon/TextBoxIcon.module.css +38 -3
  113. package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +2 -1
  114. package/lib/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +225 -116
  115. package/lib/TextBoxIcon/props/propTypes.js +2 -1
  116. package/lib/utils/Common.js +5 -9
  117. package/lib/utils/dropDownUtils.js +40 -15
  118. package/package.json +10 -10
  119. package/es/ColorSelect/ColorMultiSelect.js +0 -36
  120. package/es/ColorSelect/ColorSingleSelect.js +0 -50
  121. package/es/ColorSelect/__tests__/ColorMultiSelect.spec.js +0 -59
  122. package/es/ColorSelect/__tests__/ColorSingleSelect.spec.js +0 -59
  123. package/es/ColorSelect/__tests__/__snapshots__/ColorMultiSelect.spec.js.snap +0 -547
  124. package/es/ColorSelect/__tests__/__snapshots__/ColorSingleSelect.spec.js.snap +0 -178
  125. package/es/ColorSelect/common/ColorIndicator/ColorIndicator.js +0 -27
  126. package/es/ColorSelect/common/ColorIndicator/ColorIndicator.module.css +0 -18
  127. package/es/ColorSelect/common/ColorIndicator/__tests__/ColorSingleSelect.spec.js +0 -60
  128. package/es/ColorSelect/common/ColorIndicator/__tests__/__snapshots__/ColorSingleSelect.spec.js.snap +0 -95
  129. package/es/ColorSelect/common/ColorIndicator/props/defaultProps.js +0 -7
  130. package/es/ColorSelect/common/ColorIndicator/props/propTypes.js +0 -9
  131. package/es/ColorSelect/common/ColoredTag/ColoredTag.js +0 -33
  132. package/es/ColorSelect/common/ColoredTag/__tests__/ColoredTag.spec.js +0 -50
  133. package/es/ColorSelect/common/ColoredTag/__tests__/__snapshots__/ColoredTag.spec.js.snap +0 -101
  134. package/es/ColorSelect/common/ColoredTag/props/propTypes.js +0 -9
  135. package/es/ColorSelect/common/helpers.js +0 -35
  136. package/es/ColorSelect/props/defaultProps.js +0 -13
  137. package/es/ColorSelect/props/propTypes.js +0 -14
  138. package/es/shared/ArrowIcon/ArrowIcon.js +0 -36
  139. package/es/shared/ArrowIcon/ArrowIcon.module.css +0 -22
  140. package/es/shared/ArrowIcon/props/defaultProps.js +0 -6
  141. package/es/shared/ArrowIcon/props/propTypes.js +0 -10
  142. package/es/shared/InputFieldLine/InputFieldLine.js +0 -39
  143. package/es/shared/InputFieldLine/InputFieldLine.module.css +0 -90
  144. package/es/shared/InputFieldLine/__tests__/InputFieldLine.spec.js +0 -114
  145. package/es/shared/InputFieldLine/__tests__/__snapshots__/InputFieldLine.spec.js.snap +0 -194
  146. package/es/shared/InputFieldLine/props/defaultProps.js +0 -14
  147. package/es/shared/InputFieldLine/props/propTypes.js +0 -19
  148. package/lib/ColorSelect/ColorMultiSelect.js +0 -65
  149. package/lib/ColorSelect/ColorSingleSelect.js +0 -78
  150. package/lib/ColorSelect/__tests__/ColorMultiSelect.spec.js +0 -70
  151. package/lib/ColorSelect/__tests__/ColorSingleSelect.spec.js +0 -70
  152. package/lib/ColorSelect/__tests__/__snapshots__/ColorMultiSelect.spec.js.snap +0 -547
  153. package/lib/ColorSelect/__tests__/__snapshots__/ColorSingleSelect.spec.js.snap +0 -178
  154. package/lib/ColorSelect/common/ColorIndicator/ColorIndicator.js +0 -40
  155. package/lib/ColorSelect/common/ColorIndicator/ColorIndicator.module.css +0 -18
  156. package/lib/ColorSelect/common/ColorIndicator/__tests__/ColorSingleSelect.spec.js +0 -67
  157. package/lib/ColorSelect/common/ColorIndicator/__tests__/__snapshots__/ColorSingleSelect.spec.js.snap +0 -95
  158. package/lib/ColorSelect/common/ColorIndicator/props/defaultProps.js +0 -14
  159. package/lib/ColorSelect/common/ColorIndicator/props/propTypes.js +0 -20
  160. package/lib/ColorSelect/common/ColoredTag/ColoredTag.js +0 -61
  161. package/lib/ColorSelect/common/ColoredTag/__tests__/ColoredTag.spec.js +0 -58
  162. package/lib/ColorSelect/common/ColoredTag/__tests__/__snapshots__/ColoredTag.spec.js.snap +0 -101
  163. package/lib/ColorSelect/common/ColoredTag/props/propTypes.js +0 -28
  164. package/lib/ColorSelect/common/helpers.js +0 -53
  165. package/lib/ColorSelect/props/defaultProps.js +0 -31
  166. package/lib/ColorSelect/props/propTypes.js +0 -35
  167. package/lib/shared/ArrowIcon/ArrowIcon.js +0 -51
  168. package/lib/shared/ArrowIcon/ArrowIcon.module.css +0 -22
  169. package/lib/shared/ArrowIcon/props/defaultProps.js +0 -13
  170. package/lib/shared/ArrowIcon/props/propTypes.js +0 -21
  171. package/lib/shared/InputFieldLine/InputFieldLine.js +0 -53
  172. package/lib/shared/InputFieldLine/InputFieldLine.module.css +0 -90
  173. package/lib/shared/InputFieldLine/__tests__/InputFieldLine.spec.js +0 -122
  174. package/lib/shared/InputFieldLine/__tests__/__snapshots__/InputFieldLine.spec.js.snap +0 -194
  175. package/lib/shared/InputFieldLine/props/defaultProps.js +0 -21
  176. package/lib/shared/InputFieldLine/props/propTypes.js +0 -36
@@ -57,7 +57,8 @@ var propTypes = _objectSpread(_objectSpread({}, _propTypes2.propTypes), {}, {
57
57
  customClass: _propTypes["default"].shape({
58
58
  customTBoxWrap: _propTypes["default"].string,
59
59
  customTextBox: _propTypes["default"].string,
60
- customTBoxIcon: _propTypes["default"].string
60
+ customTBoxIcon: _propTypes["default"].string,
61
+ customTBoxLine: _propTypes["default"].string
61
62
  }),
62
63
  iconOnHover: _propTypes["default"].bool,
63
64
  isFocus: _propTypes["default"].bool,
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.DUMMY_OBJECT = exports.DUMMY_FUNCTION = exports.DUMMY_ARRAY = void 0;
6
+ exports.DUMMY_OBJECT = exports.DUMMY_ARRAY = void 0;
7
7
  exports.bind = bind;
8
8
  exports.bytesToSize = bytesToSize;
9
9
  exports.cancelBubblingEffect = cancelBubblingEffect;
@@ -475,7 +475,7 @@ function getElementSpace(elementRef) {
475
475
 
476
476
  function getSearchString() {
477
477
  var charachers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
478
- return (charachers || '').toString().toLowerCase(); //.replace(/\s+/g, '');
478
+ return (charachers || '').toString().toLowerCase().trim(); //.replace(/\s+/g, '');
479
479
  }
480
480
 
481
481
  function findScrollEnd(element) {
@@ -515,11 +515,7 @@ function isTextSelected() {
515
515
  return false;
516
516
  }
517
517
 
518
- var DUMMY_ARRAY = Object.freeze([]);
519
- exports.DUMMY_ARRAY = DUMMY_ARRAY;
520
- var DUMMY_OBJECT = Object.freeze({});
518
+ var DUMMY_OBJECT = {};
521
519
  exports.DUMMY_OBJECT = DUMMY_OBJECT;
522
-
523
- var DUMMY_FUNCTION = function DUMMY_FUNCTION() {};
524
-
525
- exports.DUMMY_FUNCTION = DUMMY_FUNCTION;
520
+ var DUMMY_ARRAY = [];
521
+ exports.DUMMY_ARRAY = DUMMY_ARRAY;
@@ -9,10 +9,6 @@ var _reselect = require("reselect");
9
9
 
10
10
  var _Common = require("./Common");
11
11
 
12
- var _selectn = _interopRequireDefault(require("selectn"));
13
-
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
-
16
12
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
17
13
 
18
14
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -56,6 +52,10 @@ var getOptionsOrder = function getOptionsOrder(props) {
56
52
  return props.optionsOrder || dummyArray;
57
53
  };
58
54
 
55
+ var getLimit = function getLimit(props) {
56
+ return props.limit || 0;
57
+ };
58
+
59
59
  var getSelectedOptionsSel = function getSelectedOptionsSel(props) {
60
60
  return props.selectedOptions || dummyArray;
61
61
  };
@@ -152,8 +152,14 @@ var getListItemProps = function getListItemProps(props) {
152
152
  return props.listItemProps || '';
153
153
  };
154
154
 
155
+ var getlistItemCustomProps = function getlistItemCustomProps(props) {
156
+ return props.listItemCustomProps || dummyObj;
157
+ };
158
+
159
+ var defaultSearchFields = ['value'];
160
+
155
161
  var getSearchFields = function getSearchFields(props) {
156
- return props.searchFields || ['value'];
162
+ return props.searchFields || defaultSearchFields;
157
163
  }; // const isObjectContainsSearchString = (searchFields = [], searchStr = '', obj) => {
158
164
  // const matchedFields = searchFields.filter(element => {
159
165
  // return getSearchString(obj[element]).indexOf(searchStr) !== -1
@@ -263,7 +269,7 @@ var extractOptionIdFromJson = function extractOptionIdFromJson(id, localData) {
263
269
  exports.extractOptionIdFromJson = extractOptionIdFromJson;
264
270
 
265
271
  var makeFormatOptions = function makeFormatOptions() {
266
- return (0, _reselect.createSelector)([getOptions, getValueField, getTextField, getImageField, getPrefixText, getIconName, getIconSize, getOptionType, getDisabledOptions, getListItemProps, getAllowValueFallback, getSearchFields, getSecondaryField], function (options, valueField, textField, imageField, prefixText, iconName, iconSize, optionType, disabledOptions, listItemProps, allowValueFallback, searchFields, secondaryField) {
272
+ return (0, _reselect.createSelector)([getOptions, getValueField, getTextField, getImageField, getPrefixText, getIconName, getIconSize, getOptionType, getDisabledOptions, getListItemProps, getlistItemCustomProps, getAllowValueFallback, getSearchFields, getSecondaryField], function (options, valueField, textField, imageField, prefixText, iconName, iconSize, optionType, disabledOptions, listItemProps, listItemCustomProps, allowValueFallback, searchFields, secondaryField) {
267
273
  var revampOptions = [];
268
274
  var remvampOptionIds = [];
269
275
  var normalizedAllOptions = {};
@@ -278,12 +284,12 @@ var makeFormatOptions = function makeFormatOptions() {
278
284
  impOptionType = option.optionType,
279
285
  impIconName = option.iconName,
280
286
  impIconSize = option.iconSize,
281
- listStyle = option.listItemProps;
287
+ listStyle = option.listItemProps,
288
+ listStyleCustomProps = option.listItemCustomProps;
282
289
  var id = _typeof(option) === 'object' ? option[impValueField || valueField] : option;
283
290
  var value = _typeof(option) === 'object' ? option[impTextField || textField] : allowValueFallback ? option : '';
284
291
  var secondaryValue = _typeof(option) === 'object' ? option[impSecondaryField || secondaryField] : '';
285
- var photoURL = _typeof(option) === 'object' ? option[impImageField || imageField] : '';
286
- var colorCode = (0, _selectn["default"])('colorCode', option); // grouping options (group select/MultiSelect)
292
+ var photoURL = _typeof(option) === 'object' ? option[impImageField || imageField] : ''; // grouping options (group select/MultiSelect)
287
293
 
288
294
  id = !(0, _Common.getIsEmptyValue)(id) ? optionIdGrouping(id, prefixText) : '';
289
295
  var additionalSearchFieldData = searchFields.reduce(function (value, item) {
@@ -324,8 +330,8 @@ var makeFormatOptions = function makeFormatOptions() {
324
330
  optionDetails.listItemProps = listStyle || listItemProps;
325
331
  }
326
332
 
327
- if (colorCode) {
328
- optionDetails.colorCode = colorCode;
333
+ if (listStyleCustomProps || listItemCustomProps) {
334
+ optionDetails.listItemCustomProps = listStyleCustomProps || listItemCustomProps;
329
335
  }
330
336
 
331
337
  normalizedFormatOptions[id] = optionDetails;
@@ -348,7 +354,7 @@ var makeFormatOptions = function makeFormatOptions() {
348
354
  exports.makeFormatOptions = makeFormatOptions;
349
355
 
350
356
  var makeGetMultiSelectSelectedOptions = function makeGetMultiSelectSelectedOptions() {
351
- return (0, _reselect.createSelector)([getSelectedOptionsSel, getNormalizedFormatOptions, getSelectedOptionsLength, getAllowValueFallback], function (selectedOptions, normalizedFormatOptions, selectedOptionsLength, allowValueFallback) {
357
+ return (0, _reselect.createSelector)([getSelectedOptionsSel, getNormalizedFormatOptions, getSelectedOptionsLength, getAllowValueFallback, getLimit], function (selectedOptions, normalizedFormatOptions, selectedOptionsLength, allowValueFallback, limit) {
352
358
  var output = [];
353
359
  var revampSelectedOptions = [];
354
360
  var normalizedSelectedOptions = {};
@@ -376,6 +382,12 @@ var makeGetMultiSelectSelectedOptions = function makeGetMultiSelectSelectedOptio
376
382
  }
377
383
  }
378
384
 
385
+ if (limit && limit > 0) {
386
+ output = output.slice(0, limit);
387
+ revampSelectedOptions = revampSelectedOptions.slice(0, limit);
388
+ normalizedSelectedOptions = Object.fromEntries(Object.entries(normalizedSelectedOptions).slice(0, limit));
389
+ }
390
+
379
391
  return {
380
392
  formatSelectedOptions: output,
381
393
  normalizedSelectedOptions: normalizedSelectedOptions,
@@ -477,7 +489,8 @@ var makeGetGroupSelectOptions = function makeGetGroupSelectOptions() {
477
489
  groupId = group.id,
478
490
  name = group.name,
479
491
  valueField = group.valueField,
480
- textField = group.textField;
492
+ textField = group.textField,
493
+ secondaryField = group.secondaryField;
481
494
 
482
495
  if (!(0, _Common.getIsEmptyValue)(groupId) && groupIds.indexOf(groupId) === -1) {
483
496
  groupIds.push(groupId);
@@ -487,6 +500,7 @@ var makeGetGroupSelectOptions = function makeGetGroupSelectOptions() {
487
500
  options: options,
488
501
  valueField: valueField,
489
502
  textField: textField,
503
+ secondaryField: secondaryField,
490
504
  prefixText: groupId,
491
505
  allowValueFallback: allowValueFallback
492
506
  }),
@@ -602,7 +616,8 @@ var filterSelectedOptions = function filterSelectedOptions() {
602
616
  _ref4$propSelectedOpt = _ref4.propSelectedOptions,
603
617
  propSelectedOptions = _ref4$propSelectedOpt === void 0 ? dummyArray : _ref4$propSelectedOpt,
604
618
  _ref4$disabledOptions = _ref4.disabledOptions,
605
- disabledOptions = _ref4$disabledOptions === void 0 ? dummyArray : _ref4$disabledOptions;
619
+ disabledOptions = _ref4$disabledOptions === void 0 ? dummyArray : _ref4$disabledOptions,
620
+ limit = _ref4.limit;
606
621
 
607
622
  // eslint-disable-next-line no-param-reassign
608
623
  selectedOptions = selectedOptions || dummyArray; // eslint-disable-next-line no-param-reassign
@@ -626,8 +641,18 @@ var filterSelectedOptions = function filterSelectedOptions() {
626
641
 
627
642
  return true;
628
643
  });
644
+ var totalSelectedOptions = [].concat(_toConsumableArray(oldValidSelectedOptions), _toConsumableArray(newlyAddedOptions));
645
+
646
+ if (limit && limit > 0) {
647
+ if (totalSelectedOptions.length > limit) {
648
+ return {
649
+ newSelectedOptions: totalSelectedOptions.slice(0, limit)
650
+ };
651
+ }
652
+ }
653
+
629
654
  return {
630
- newSelectedOptions: [].concat(_toConsumableArray(oldValidSelectedOptions), _toConsumableArray(newlyAddedOptions))
655
+ newSelectedOptions: totalSelectedOptions
631
656
  };
632
657
  };
633
658
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zohodesk/components",
3
- "version": "1.0.0-temp-230.1",
3
+ "version": "1.0.0-temp-234",
4
4
  "main": "es/index.js",
5
5
  "module": "es/index.js",
6
6
  "private": false,
@@ -39,7 +39,7 @@
39
39
  "build:css:umd": "npm run clean && npm run init && react-cli build:css:umd",
40
40
  "coverage": "react-cli coverage",
41
41
  "prepare": "npm run init && npm run css:build ",
42
- "prepublishOnly": "node prePublish.js",
42
+ "prepublishOnly": "node prePublish.js && npm run css:review",
43
43
  "postpublish": "node postPublish.js",
44
44
  "report": "react-cli publish:report",
45
45
  "test": "react-cli test",
@@ -77,21 +77,21 @@
77
77
  "@zohodesk-private/css-variable-migrator": "1.0.9",
78
78
  "@zohodesk-private/node-plugins": "1.1.13",
79
79
  "@zohodesk-private/react-prop-validator": "1.2.3",
80
- "@zohodesk/a11y": "2.3.6",
80
+ "@zohodesk/a11y": "2.3.7",
81
81
  "@zohodesk/docstool": "1.0.0-alpha-2",
82
82
  "@zohodesk/dotkit": "1.0.3",
83
83
  "@zohodesk/hooks": "2.0.5",
84
84
  "@zohodesk/icons": "1.1.0",
85
85
  "@zohodesk/layout": "3.1.0",
86
- "@zohodesk/svg": "1.2.1",
86
+ "@zohodesk/svg": "1.2.2",
87
87
  "@zohodesk/utils": "1.3.14",
88
88
  "@zohodesk/variables": "1.1.0",
89
- "@zohodesk/virtualizer": "1.0.3",
89
+ "@zohodesk/virtualizer": "1.0.13",
90
90
  "react-sortable-hoc": "^0.8.3",
91
- "velocity-react": "1.4.3"
91
+ "velocity-react": "1.4.3",
92
+ "@zohodesk/react-cli": "1.1.27"
92
93
  },
93
94
  "dependencies": {
94
- "color": "4.2.3",
95
95
  "hoist-non-react-statics": "3.0.1",
96
96
  "react-transition-group": "2.5.0",
97
97
  "reselect": "4.0.0",
@@ -100,13 +100,13 @@
100
100
  "peerDependencies": {
101
101
  "@zohodesk/icons": "1.1.0",
102
102
  "@zohodesk/variables": "1.1.0",
103
- "@zohodesk/svg": "1.2.1",
104
- "@zohodesk/virtualizer": "1.0.3",
103
+ "@zohodesk/svg": "1.2.2",
104
+ "@zohodesk/virtualizer": "1.0.13",
105
105
  "velocity-react": "1.4.3",
106
106
  "react-sortable-hoc": "^0.8.3",
107
107
  "@zohodesk/hooks": "2.0.5",
108
108
  "@zohodesk/utils": "1.3.14",
109
- "@zohodesk/a11y": "2.3.6",
109
+ "@zohodesk/a11y": "2.3.7",
110
110
  "@zohodesk/layout": "3.1.0",
111
111
  "@zohodesk/dotkit": "1.0.3"
112
112
  }
@@ -1,36 +0,0 @@
1
- import React from 'react';
2
- import MultiSelect from "../MultiSelect/MultiSelect";
3
- import { ColorMultiSelect_propTypes } from "./props/propTypes";
4
- import { ColorMultiSelect_defaultProps } from "./props/defaultProps";
5
- import { renderColoredTag, renderColorIndicator } from "./common/helpers";
6
-
7
- function ColorMultiSelect(props) {
8
- const {
9
- options,
10
- renderCustomColorIndicator,
11
- renderCustomSelectedValue,
12
- customProps,
13
- ...rest
14
- } = props;
15
- const renderSelectedValue = renderCustomSelectedValue || renderColoredTag;
16
- const colorIndicator = renderCustomColorIndicator || renderColorIndicator;
17
- const optionsWithOptionType = options.map(option => {
18
- if (typeof option !== 'object') return option;
19
- return { ...option,
20
- optionType: 'custom'
21
- };
22
- });
23
- return /*#__PURE__*/React.createElement(MultiSelect, { ...rest,
24
- options: optionsWithOptionType,
25
- renderCustomSelectedValue: renderSelectedValue,
26
- customProps: { ...customProps,
27
- SuggestionsProps: { ...customProps.SuggestionsProps,
28
- renderBeforeChildren: colorIndicator
29
- }
30
- }
31
- });
32
- }
33
-
34
- ColorMultiSelect.propTypes = ColorMultiSelect_propTypes;
35
- ColorMultiSelect.defaultProps = ColorMultiSelect_defaultProps;
36
- export default ColorMultiSelect;
@@ -1,50 +0,0 @@
1
- import React from 'react';
2
- import Select from "../Select/Select";
3
- import { ColorSingleSelect_propTypes } from "./props/propTypes";
4
- import { ColorSingleSelect_defaultProps } from "./props/defaultProps";
5
- import { renderColoredTag, renderColorIndicator } from "./common/helpers";
6
- import Box from "../Layout/Box";
7
- import Container from "../Layout/Container";
8
- import ArrowIcon from "../shared/ArrowIcon/ArrowIcon";
9
- import arrowIconStyle from "../shared/ArrowIcon/ArrowIcon.module.css";
10
-
11
- function ColorSingleSelect(props) {
12
- const {
13
- options,
14
- renderCustomColorIndicator,
15
- renderCustomSelectedValue,
16
- customClass,
17
- customProps,
18
- ...rest
19
- } = props;
20
-
21
- const renderSelectedValue = data => {
22
- const {
23
- isPopupOpen
24
- } = data;
25
- return /*#__PURE__*/React.createElement(Container, {
26
- alignBox: "row",
27
- align: "between"
28
- }, /*#__PURE__*/React.createElement(Box, {
29
- shrink: true
30
- }, renderCustomSelectedValue ? renderCustomSelectedValue(data) : renderColoredTag(data)), /*#__PURE__*/React.createElement(ArrowIcon, {
31
- isRotated: isPopupOpen
32
- }));
33
- };
34
-
35
- const colorIndicator = renderCustomColorIndicator || renderColorIndicator;
36
- return /*#__PURE__*/React.createElement(Select, { ...rest,
37
- className: `${arrowIconStyle.arrowIconContainer} ${customClass}`,
38
- options: options,
39
- renderCustomSelectedValue: renderSelectedValue,
40
- customProps: { ...customProps,
41
- SuggestionsProps: { ...customProps.SuggestionsProps,
42
- renderBeforeChildren: colorIndicator
43
- }
44
- }
45
- });
46
- }
47
-
48
- ColorSingleSelect.propTypes = ColorSingleSelect_propTypes;
49
- ColorSingleSelect.defaultProps = ColorSingleSelect_defaultProps;
50
- export default ColorSingleSelect;
@@ -1,59 +0,0 @@
1
- import React from 'react';
2
- import { render } from '@testing-library/react';
3
- import ColorMultiSelect from "../ColorMultiSelect";
4
- const options = [{
5
- id: 1,
6
- text: 'Red',
7
- colorCode: '#ff6e6e'
8
- }, {
9
- id: 2,
10
- text: 'Green',
11
- colorCode: '#77d779'
12
- }, {
13
- id: 3,
14
- text: 'Blue',
15
- colorCode: '#649cff'
16
- }];
17
- describe('ColorMultiSelect', () => {
18
- test('rendering the defult props', () => {
19
- const {
20
- asFragment
21
- } = render( /*#__PURE__*/React.createElement(ColorMultiSelect, null));
22
- expect(asFragment()).toMatchSnapshot();
23
- });
24
- test('Should render the default selected value', () => {
25
- const {
26
- asFragment
27
- } = render( /*#__PURE__*/React.createElement(ColorMultiSelect, {
28
- options: options
29
- }));
30
- expect(asFragment()).toMatchSnapshot();
31
- });
32
- test('Should render the selected value', () => {
33
- const {
34
- asFragment
35
- } = render( /*#__PURE__*/React.createElement(ColorMultiSelect, {
36
- options: options,
37
- selectedOptions: [1, 2]
38
- }));
39
- expect(asFragment()).toMatchSnapshot();
40
- });
41
- test('renders with renderCustomColorIndicator', () => {
42
- const {
43
- asFragment
44
- } = render( /*#__PURE__*/React.createElement(ColorMultiSelect, {
45
- options: options,
46
- renderCustomColorIndicator: () => /*#__PURE__*/React.createElement("div", null, " custom color indicator")
47
- }));
48
- expect(asFragment()).toMatchSnapshot();
49
- });
50
- test('renders with renderCustomSelectedValue', () => {
51
- const {
52
- asFragment
53
- } = render( /*#__PURE__*/React.createElement(ColorMultiSelect, {
54
- options: options,
55
- renderCustomSelectedValue: () => /*#__PURE__*/React.createElement("span", null, "custom selected value")
56
- }));
57
- expect(asFragment()).toMatchSnapshot();
58
- });
59
- });
@@ -1,59 +0,0 @@
1
- import React from 'react';
2
- import { render } from '@testing-library/react';
3
- import ColorSingleSelect from "../ColorSingleSelect";
4
- const options = [{
5
- id: 1,
6
- text: 'Red',
7
- colorCode: '#ff6e6e'
8
- }, {
9
- id: 2,
10
- text: 'Green',
11
- colorCode: '#77d779'
12
- }, {
13
- id: 3,
14
- text: 'Blue',
15
- colorCode: '#649cff'
16
- }];
17
- describe('ColorSingleSelect', () => {
18
- test('rendering the defult props', () => {
19
- const {
20
- asFragment
21
- } = render( /*#__PURE__*/React.createElement(ColorSingleSelect, null));
22
- expect(asFragment()).toMatchSnapshot();
23
- });
24
- test('Should render the default selected value', () => {
25
- const {
26
- asFragment
27
- } = render( /*#__PURE__*/React.createElement(ColorSingleSelect, {
28
- options: options
29
- }));
30
- expect(asFragment()).toMatchSnapshot();
31
- });
32
- test('Should render the selected value', () => {
33
- const {
34
- asFragment
35
- } = render( /*#__PURE__*/React.createElement(ColorSingleSelect, {
36
- options: options,
37
- selectedValue: "green"
38
- }));
39
- expect(asFragment()).toMatchSnapshot();
40
- });
41
- test('renders with renderCustomColorIndicator', () => {
42
- const {
43
- asFragment
44
- } = render( /*#__PURE__*/React.createElement(ColorSingleSelect, {
45
- options: options,
46
- renderCustomColorIndicator: () => /*#__PURE__*/React.createElement("div", null, " custom color indicator")
47
- }));
48
- expect(asFragment()).toMatchSnapshot();
49
- });
50
- test('renders with renderCustomSelectedValue', () => {
51
- const {
52
- asFragment
53
- } = render( /*#__PURE__*/React.createElement(ColorSingleSelect, {
54
- options: options,
55
- renderCustomSelectedValue: () => /*#__PURE__*/React.createElement("span", null, "custom selected value")
56
- }));
57
- expect(asFragment()).toMatchSnapshot();
58
- });
59
- });