@zohodesk/components 1.0.0-temp-199.12 → 1.0.0-temp-220

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 (53) hide show
  1. package/.cli/propValidation_report.html +1 -1
  2. package/README.md +5 -0
  3. package/es/ListItem/ListContainer.js +2 -3
  4. package/es/ListItem/ListItem.js +2 -3
  5. package/es/ListItem/ListItem.module.css +2 -11
  6. package/es/ListItem/ListItemWithAvatar.js +3 -3
  7. package/es/ListItem/ListItemWithIcon.js +2 -3
  8. package/es/ListItem/props/defaultProps.js +1 -2
  9. package/es/ListItem/props/propTypes.js +1 -2
  10. package/es/MultiSelect/AdvancedGroupMultiSelect.js +14 -11
  11. package/es/MultiSelect/AdvancedMultiSelect.js +12 -6
  12. package/es/MultiSelect/MultiSelect.js +12 -11
  13. package/es/MultiSelect/MultiSelectWithAvatar.js +4 -2
  14. package/es/MultiSelect/Suggestions.js +2 -9
  15. package/es/MultiSelect/__tests__/AdvancedMultiSelect.spec.js +28 -0
  16. package/es/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +390 -0
  17. package/es/MultiSelect/props/defaultProps.js +8 -7
  18. package/es/MultiSelect/props/propTypes.js +5 -11
  19. package/es/Popup/Popup.js +19 -22
  20. package/es/Select/GroupSelect.js +5 -7
  21. package/es/Select/Select.js +3 -1
  22. package/es/Select/SelectWithAvatar.js +6 -9
  23. package/es/Select/SelectWithIcon.js +2 -4
  24. package/es/Select/props/defaultProps.js +5 -4
  25. package/es/Select/props/propTypes.js +7 -10
  26. package/es/common/common.module.css +0 -5
  27. package/es/utils/dropDownUtils.js +10 -6
  28. package/lib/ListItem/ListContainer.js +2 -3
  29. package/lib/ListItem/ListItem.js +2 -3
  30. package/lib/ListItem/ListItem.module.css +2 -11
  31. package/lib/ListItem/ListItemWithAvatar.js +3 -3
  32. package/lib/ListItem/ListItemWithIcon.js +2 -3
  33. package/lib/ListItem/props/defaultProps.js +1 -2
  34. package/lib/ListItem/props/propTypes.js +1 -2
  35. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +14 -13
  36. package/lib/MultiSelect/AdvancedMultiSelect.js +12 -6
  37. package/lib/MultiSelect/MultiSelect.js +11 -10
  38. package/lib/MultiSelect/MultiSelectWithAvatar.js +4 -2
  39. package/lib/MultiSelect/Suggestions.js +3 -9
  40. package/lib/MultiSelect/__tests__/AdvancedMultiSelect.spec.js +28 -0
  41. package/lib/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +390 -0
  42. package/lib/MultiSelect/props/defaultProps.js +8 -7
  43. package/lib/MultiSelect/props/propTypes.js +5 -11
  44. package/lib/Popup/Popup.js +20 -24
  45. package/lib/Select/GroupSelect.js +6 -6
  46. package/lib/Select/Select.js +3 -1
  47. package/lib/Select/SelectWithAvatar.js +7 -10
  48. package/lib/Select/SelectWithIcon.js +3 -5
  49. package/lib/Select/props/defaultProps.js +5 -4
  50. package/lib/Select/props/propTypes.js +7 -10
  51. package/lib/common/common.module.css +0 -5
  52. package/lib/utils/dropDownUtils.js +12 -6
  53. package/package.json +2 -2
@@ -51,8 +51,6 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
51
51
 
52
52
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
53
53
 
54
- 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); }
55
-
56
54
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
57
55
 
58
56
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
@@ -100,13 +98,15 @@ var SelectWithAvatarComponent = /*#__PURE__*/function (_SelectComponent) {
100
98
  var options = props.options,
101
99
  valueField = props.valueField,
102
100
  textField = props.textField,
103
- imageField = props.imageField;
101
+ imageField = props.imageField,
102
+ allowValueFallback = props.allowValueFallback;
104
103
  return this.formatOptions({
105
104
  options: options,
106
105
  valueField: valueField,
107
106
  textField: textField,
108
107
  imageField: imageField,
109
- optionType: 'avatar'
108
+ optionType: 'avatar',
109
+ allowValueFallback: allowValueFallback
110
110
  });
111
111
  }
112
112
  }, {
@@ -215,10 +215,7 @@ var SelectWithAvatarComponent = /*#__PURE__*/function (_SelectComponent) {
215
215
  needEffect = _this$props.needEffect,
216
216
  isLoading = _this$props.isLoading,
217
217
  dataSelectorId = _this$props.dataSelectorId,
218
- getTargetRef = _this$props.getTargetRef,
219
- customProps = _this$props.customProps;
220
- var _customProps$Suggesti = customProps.SuggestionsProps,
221
- SuggestionsProps = _customProps$Suggesti === void 0 ? {} : _customProps$Suggesti;
218
+ getTargetRef = _this$props.getTargetRef;
222
219
  i18nKeys = Object.assign({}, i18nKeys, {
223
220
  emptyText: i18nKeys.emptyText || emptyMessage,
224
221
  searchEmptyText: i18nKeys.searchEmptyText || searchEmptyMessage
@@ -357,7 +354,7 @@ var SelectWithAvatarComponent = /*#__PURE__*/function (_SelectComponent) {
357
354
  a11y: {
358
355
  role: 'heading'
359
356
  }
360
- })) : null, suggestions.length ? /*#__PURE__*/_react["default"].createElement(_Suggestions["default"], _extends({
357
+ })) : null, suggestions.length ? /*#__PURE__*/_react["default"].createElement(_Suggestions["default"], {
361
358
  dataId: "".concat(dataId, "_Options"),
362
359
  activeId: selectedId,
363
360
  suggestions: suggestions,
@@ -374,7 +371,7 @@ var SelectWithAvatarComponent = /*#__PURE__*/function (_SelectComponent) {
374
371
  ariaParentRole: 'listbox',
375
372
  role: 'option'
376
373
  }
377
- }, SuggestionsProps)) : /*#__PURE__*/_react["default"].createElement(_EmptyState["default"], {
374
+ }) : /*#__PURE__*/_react["default"].createElement(_EmptyState["default"], {
378
375
  isLoading: isFetchingOptions,
379
376
  options: options,
380
377
  searchString: searchStr,
@@ -440,9 +440,7 @@ var SelectWithIcon = /*#__PURE__*/function (_Component) {
440
440
  _customProps$Dropdown = customProps.DropdownSearchTextBoxProps,
441
441
  DropdownSearchTextBoxProps = _customProps$Dropdown === void 0 ? {} : _customProps$Dropdown,
442
442
  _customProps$TextBoxI = customProps.TextBoxIconProps,
443
- TextBoxIconProps = _customProps$TextBoxI === void 0 ? {} : _customProps$TextBoxI,
444
- _customProps$ListItem = customProps.ListItemProps,
445
- ListItemProps = _customProps$ListItem === void 0 ? {} : _customProps$ListItem;
443
+ TextBoxIconProps = _customProps$TextBoxI === void 0 ? {} : _customProps$TextBoxI;
446
444
  return /*#__PURE__*/_react["default"].createElement("div", {
447
445
  className: "".concat(_SelectModule["default"].container, " ").concat(_SelectModule["default"]["box_".concat(size)], " ").concat(isReadOnly ? _SelectModule["default"].readonly : '', " ").concat(borderColor === 'transparent' ? _SelectModule["default"].transparentContainer : ''),
448
446
  "data-title": isDisabled ? title : null,
@@ -575,7 +573,7 @@ var SelectWithIcon = /*#__PURE__*/function (_Component) {
575
573
  var iconName = options.iconName,
576
574
  iconSize = options.iconSize,
577
575
  iconColor = options.iconColor;
578
- return /*#__PURE__*/_react["default"].createElement(_ListItemWithIcon["default"], _extends({
576
+ return /*#__PURE__*/_react["default"].createElement(_ListItemWithIcon["default"], {
579
577
  key: options[idKey],
580
578
  value: options[valueKey],
581
579
  size: "medium",
@@ -599,7 +597,7 @@ var SelectWithIcon = /*#__PURE__*/function (_Component) {
599
597
  ariaSelected: selectedId === options[idKey],
600
598
  ariaLabel: options[valueKey]
601
599
  }
602
- }, ListItemProps));
600
+ });
603
601
  })) : /*#__PURE__*/_react["default"].createElement(_EmptyState["default"], {
604
602
  isLoading: isFetchingOptions,
605
603
  options: options,
@@ -45,7 +45,8 @@ var Select_defaultProps = {
45
45
  iconOnHover: false,
46
46
  customProps: {},
47
47
  isLoading: false,
48
- isAbsolutePositioningNeeded: true
48
+ isAbsolutePositioningNeeded: true,
49
+ allowValueFallback: true
49
50
  };
50
51
  exports.Select_defaultProps = Select_defaultProps;
51
52
  var GroupSelect_defaultProps = {
@@ -83,7 +84,8 @@ var GroupSelect_defaultProps = {
83
84
  i18nKeys: {},
84
85
  iconOnHover: false,
85
86
  isLoading: false,
86
- customProps: {}
87
+ customProps: {},
88
+ allowValueFallback: true
87
89
  };
88
90
  exports.GroupSelect_defaultProps = GroupSelect_defaultProps;
89
91
  var SelectWithAvatar_defaultProps = {
@@ -110,8 +112,7 @@ var SelectWithAvatar_defaultProps = {
110
112
  isRestrictScroll: false,
111
113
  i18nKeys: {},
112
114
  needEffect: true,
113
- isLoading: false,
114
- customProps: {}
115
+ isLoading: false
115
116
  };
116
117
  exports.SelectWithAvatar_defaultProps = SelectWithAvatar_defaultProps;
117
118
  var SelectWithIcon_defaultProps = (_SelectWithIcon_defau = {
@@ -109,7 +109,8 @@ var Select_propTypes = {
109
109
  positionsOffset: _propTypes["default"].object,
110
110
  targetOffset: _propTypes["default"].object,
111
111
  isRestrictScroll: _propTypes["default"].bool,
112
- dropBoxPortalId: _propTypes["default"].string
112
+ dropBoxPortalId: _propTypes["default"].string,
113
+ allowValueFallback: _propTypes["default"].bool
113
114
  };
114
115
  exports.Select_propTypes = Select_propTypes;
115
116
  var GroupSelect_propTypes = {
@@ -194,9 +195,9 @@ var GroupSelect_propTypes = {
194
195
  isDefaultSelectValue: _propTypes["default"].bool,
195
196
  customProps: _propTypes["default"].shape({
196
197
  TextBoxProps: _propTypes["default"].object,
197
- TextBoxIconProps: _propTypes["default"].object,
198
- SuggestionsProps: _propTypes["default"].object
199
- })
198
+ TextBoxIconProps: _propTypes["default"].object
199
+ }),
200
+ allowValueFallback: _propTypes["default"].bool
200
201
  };
201
202
  exports.GroupSelect_propTypes = GroupSelect_propTypes;
202
203
 
@@ -259,10 +260,7 @@ var SelectWithAvatar_propTypes = _objectSpread(_objectSpread({}, Select_propType
259
260
  htmlId: _propTypes["default"].string,
260
261
  needEffect: _propTypes["default"].bool,
261
262
  isLoading: _propTypes["default"].bool,
262
- dataSelectorId: _propTypes["default"].string,
263
- customProps: _propTypes["default"].shape({
264
- SuggestionsProps: _propTypes["default"].object
265
- })
263
+ dataSelectorId: _propTypes["default"].string
266
264
  });
267
265
 
268
266
  exports.SelectWithAvatar_propTypes = SelectWithAvatar_propTypes;
@@ -326,8 +324,7 @@ var SelectWithIcon_propTypes = {
326
324
  customProps: _propTypes["default"].shape({
327
325
  TextBoxProps: _propTypes["default"].object,
328
326
  DropdownSearchTextBoxProps: _propTypes["default"].object,
329
- TextBoxIconProps: _propTypes["default"].object,
330
- ListItemProps: _propTypes["default"].object
327
+ TextBoxIconProps: _propTypes["default"].object
331
328
  })
332
329
  };
333
330
  exports.SelectWithIcon_propTypes = SelectWithIcon_propTypes;
@@ -494,11 +494,6 @@
494
494
  overflow: hidden;
495
495
  }
496
496
 
497
- .lineClamp {
498
- composes: wbreak clamp;
499
- -webkit-line-clamp: var(--line-clamp,3);
500
- }
501
-
502
497
  .offSelection {
503
498
  -webkit-user-select: none;
504
499
  -moz-user-select: none;
@@ -142,6 +142,10 @@ var getListItemProps = function getListItemProps(props) {
142
142
  return props.listItemProps || '';
143
143
  };
144
144
 
145
+ var getAllowValueFallback = function getAllowValueFallback(props) {
146
+ return props.allowValueFallback !== false;
147
+ };
148
+
145
149
  var makeGetMultiSelectFilterSuggestions = function makeGetMultiSelectFilterSuggestions() {
146
150
  return (0, _reselect.createSelector)([getOptions, getSelectedOptionsSel, getSearchStr, getNeedSearch, getIsStartWithSearch, getKeepSelectedOptions], function (options, selectedOptions, searchStr, needSearch, isStartsWithSearch, keepSelectedOptions) {
147
151
  var suggestions = [];
@@ -228,7 +232,7 @@ var extractOptionIdFromJson = function extractOptionIdFromJson(id, localData) {
228
232
  exports.extractOptionIdFromJson = extractOptionIdFromJson;
229
233
 
230
234
  var makeFormatOptions = function makeFormatOptions() {
231
- return (0, _reselect.createSelector)([getOptions, getValueField, getTextField, getImageField, getPrefixText, getIconName, getIconSize, getOptionType, getDisabledOptions, getListItemProps], function (options, valueField, textField, imageField, prefixText, iconName, iconSize, optionType, disabledOptions, listItemProps) {
235
+ return (0, _reselect.createSelector)([getOptions, getValueField, getTextField, getImageField, getPrefixText, getIconName, getIconSize, getOptionType, getDisabledOptions, getListItemProps, getAllowValueFallback], function (options, valueField, textField, imageField, prefixText, iconName, iconSize, optionType, disabledOptions, listItemProps, allowValueFallback) {
232
236
  var revampOptions = [];
233
237
  var remvampOptionIds = [];
234
238
  var normalizedAllOptions = {};
@@ -244,7 +248,7 @@ var makeFormatOptions = function makeFormatOptions() {
244
248
  impIconSize = option.iconSize,
245
249
  listStyle = option.listItemProps;
246
250
  var id = _typeof(option) === 'object' ? option[impValueField || valueField] : option;
247
- var value = _typeof(option) === 'object' ? option[impTextField || textField] : option;
251
+ var value = _typeof(option) === 'object' ? option[impTextField || textField] : allowValueFallback ? option : '';
248
252
  var photoURL = _typeof(option) === 'object' ? option[impImageField || imageField] : ''; // grouping options (group select/MultiSelect)
249
253
 
250
254
  id = !(0, _Common.getIsEmptyValue)(id) ? optionIdGrouping(id, prefixText) : '';
@@ -297,7 +301,7 @@ var makeFormatOptions = function makeFormatOptions() {
297
301
  exports.makeFormatOptions = makeFormatOptions;
298
302
 
299
303
  var makeGetMultiSelectSelectedOptions = function makeGetMultiSelectSelectedOptions() {
300
- return (0, _reselect.createSelector)([getSelectedOptionsSel, getNormalizedFormatOptions, getSelectedOptionsLength], function (selectedOptions, normalizedFormatOptions, selectedOptionsLength) {
304
+ return (0, _reselect.createSelector)([getSelectedOptionsSel, getNormalizedFormatOptions, getSelectedOptionsLength, getAllowValueFallback], function (selectedOptions, normalizedFormatOptions, selectedOptionsLength, allowValueFallback) {
301
305
  var output = [];
302
306
  var revampSelectedOptions = [];
303
307
  var normalizedSelectedOptions = {};
@@ -313,7 +317,8 @@ var makeGetMultiSelectSelectedOptions = function makeGetMultiSelectSelectedOptio
313
317
  revampSelectedOptions.push(id);
314
318
  output.push(normalizedFormatOptions[option]);
315
319
  normalizedSelectedOptions[id] = normalizedFormatOptions[option];
316
- } else if ((0, _Common.getIsEmptyValue)(id) && !(0, _Common.getIsEmptyValue)(option) && revampSelectedOptions.indexOf(option) === -1) {
320
+ } else if (allowValueFallback && (0, _Common.getIsEmptyValue)(id) && !(0, _Common.getIsEmptyValue)(option) && revampSelectedOptions.indexOf(option) === -1) {
321
+ //fallback case
317
322
  var newObj = {
318
323
  id: option,
319
324
  value: option
@@ -412,7 +417,7 @@ var getGroupedOptions = function getGroupedOptions(props) {
412
417
  var getFormatOptions = makeFormatOptions();
413
418
 
414
419
  var makeGetGroupSelectOptions = function makeGetGroupSelectOptions() {
415
- return (0, _reselect.createSelector)([getGroupedOptions], function (groupedOptions) {
420
+ return (0, _reselect.createSelector)([getGroupedOptions, getAllowValueFallback], function (groupedOptions, allowValueFallback) {
416
421
  var revampedGroups = [];
417
422
  var allOptionIds = [];
418
423
  var allNormalizedOptions = {}; //all group normalized options
@@ -435,7 +440,8 @@ var makeGetGroupSelectOptions = function makeGetGroupSelectOptions() {
435
440
  options: options,
436
441
  valueField: valueField,
437
442
  textField: textField,
438
- prefixText: groupId
443
+ prefixText: groupId,
444
+ allowValueFallback: allowValueFallback
439
445
  }),
440
446
  allOptions = _getFormatOptions.allOptions,
441
447
  normalizedAllOptions = _getFormatOptions.normalizedAllOptions,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zohodesk/components",
3
- "version": "1.0.0-temp-199.12",
3
+ "version": "1.0.0-temp-220",
4
4
  "main": "es/index.js",
5
5
  "module": "es/index.js",
6
6
  "private": false,
@@ -38,7 +38,7 @@
38
38
  "build:css:umd": "npm run clean && npm run init && react-cli build:css:umd",
39
39
  "coverage": "react-cli coverage",
40
40
  "prepare": "npm run init && npm run build && npm run rtl && npm run cssVariableConvert ",
41
- "prepublishOnly": "node prePublish.js npm run download && npm run css:review && npm run review:props ",
41
+ "prepublishOnly": "node prePublish.js && npm run download && npm run css:review && npm run review:props ",
42
42
  "postpublish": "node postPublish.js",
43
43
  "report": "react-cli publish:report",
44
44
  "test": "react-cli test",