@zohodesk/components 1.2.62 → 1.3.0
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.
- package/.cli/config/variables/variableMapping.json +7 -0
- package/.cli/propValidation_report.html +1 -1
- package/README.md +13 -0
- package/assets/Appearance/dark/mode/Component_DarkMode.module.css +1 -0
- package/assets/Appearance/light/mode/Component_LightMode.module.css +1 -0
- package/assets/Appearance/pureDark/mode/Component_PureDarkMode.module.css +1 -0
- package/es/ListItem/ListContainer.js +3 -2
- package/es/ListItem/ListItem.module.css +52 -6
- package/es/ListItem/ListItemWithAvatar.js +17 -6
- package/es/ListItem/ListItemWithCheckBox.js +18 -6
- package/es/ListItem/ListItemWithIcon.js +20 -7
- package/es/ListItem/ListItemWithRadio.js +19 -6
- package/es/ListItem/__tests__/ListContainer.spec.js +8 -0
- package/es/ListItem/__tests__/ListItemWithAvatar.spec.js +35 -0
- package/es/ListItem/__tests__/ListItemWithCheckBox.spec.js +35 -0
- package/es/ListItem/__tests__/ListItemWithIcon.spec.js +35 -0
- package/es/ListItem/__tests__/ListItemWithRadio.spec.js +35 -0
- package/es/ListItem/__tests__/__snapshots__/ListContainer.spec.js.snap +13 -0
- package/es/ListItem/__tests__/__snapshots__/ListItemWithAvatar.spec.js.snap +200 -2
- package/es/ListItem/__tests__/__snapshots__/ListItemWithCheckBox.spec.js.snap +451 -30
- package/es/ListItem/__tests__/__snapshots__/ListItemWithIcon.spec.js.snap +202 -4
- package/es/ListItem/__tests__/__snapshots__/ListItemWithRadio.spec.js.snap +447 -30
- package/es/ListItem/props/defaultProps.js +13 -5
- package/es/ListItem/props/propTypes.js +13 -1
- package/es/MultiSelect/AdvancedGroupMultiSelect.js +12 -4
- package/es/MultiSelect/AdvancedMultiSelect.js +20 -8
- package/es/MultiSelect/MultiSelect.js +16 -6
- package/es/MultiSelect/MultiSelect.module.css +9 -1
- package/es/MultiSelect/MultiSelectWithAvatar.js +8 -2
- package/es/MultiSelect/Suggestions.js +5 -2
- package/es/MultiSelect/__tests__/AdvancedMultiSelect.spec.js +28 -0
- package/es/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +390 -0
- package/es/MultiSelect/__tests__/__snapshots__/MultiSelectHeader.spec.js.snap +34 -13
- package/es/MultiSelect/props/defaultProps.js +8 -4
- package/es/MultiSelect/props/propTypes.js +7 -2
- package/es/Radio/props/propTypes.js +1 -1
- package/es/Select/GroupSelect.js +4 -2
- package/es/Select/Select.js +3 -1
- package/es/Select/SelectWithAvatar.js +4 -2
- package/es/Select/props/defaultProps.js +4 -2
- package/es/Select/props/propTypes.js +4 -2
- package/es/common/common.module.css +10 -0
- package/es/utils/dropDownUtils.js +42 -13
- package/es/v1/Radio/props/propTypes.js +1 -1
- package/lib/ListItem/ListContainer.js +3 -2
- package/lib/ListItem/ListItem.module.css +52 -6
- package/lib/ListItem/ListItemWithAvatar.js +16 -5
- package/lib/ListItem/ListItemWithCheckBox.js +17 -5
- package/lib/ListItem/ListItemWithIcon.js +19 -6
- package/lib/ListItem/ListItemWithRadio.js +18 -5
- package/lib/ListItem/__tests__/ListContainer.spec.js +8 -0
- package/lib/ListItem/__tests__/ListItemWithAvatar.spec.js +35 -0
- package/lib/ListItem/__tests__/ListItemWithCheckBox.spec.js +35 -0
- package/lib/ListItem/__tests__/ListItemWithIcon.spec.js +35 -0
- package/lib/ListItem/__tests__/ListItemWithRadio.spec.js +35 -0
- package/lib/ListItem/__tests__/__snapshots__/ListContainer.spec.js.snap +13 -0
- package/lib/ListItem/__tests__/__snapshots__/ListItemWithAvatar.spec.js.snap +200 -2
- package/lib/ListItem/__tests__/__snapshots__/ListItemWithCheckBox.spec.js.snap +451 -30
- package/lib/ListItem/__tests__/__snapshots__/ListItemWithIcon.spec.js.snap +202 -4
- package/lib/ListItem/__tests__/__snapshots__/ListItemWithRadio.spec.js.snap +447 -30
- package/lib/ListItem/props/defaultProps.js +13 -5
- package/lib/ListItem/props/propTypes.js +12 -2
- package/lib/MultiSelect/AdvancedGroupMultiSelect.js +11 -5
- package/lib/MultiSelect/AdvancedMultiSelect.js +86 -73
- package/lib/MultiSelect/MultiSelect.js +14 -6
- package/lib/MultiSelect/MultiSelect.module.css +9 -1
- package/lib/MultiSelect/MultiSelectWithAvatar.js +8 -2
- package/lib/MultiSelect/Suggestions.js +5 -2
- package/lib/MultiSelect/__tests__/AdvancedMultiSelect.spec.js +28 -0
- package/lib/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +390 -0
- package/lib/MultiSelect/__tests__/__snapshots__/MultiSelectHeader.spec.js.snap +34 -13
- package/lib/MultiSelect/props/defaultProps.js +8 -4
- package/lib/MultiSelect/props/propTypes.js +7 -3
- package/lib/Radio/props/propTypes.js +1 -1
- package/lib/Select/GroupSelect.js +4 -2
- package/lib/Select/Select.js +3 -1
- package/lib/Select/SelectWithAvatar.js +4 -2
- package/lib/Select/props/defaultProps.js +4 -2
- package/lib/Select/props/propTypes.js +4 -2
- package/lib/common/common.module.css +10 -0
- package/lib/utils/dropDownUtils.js +52 -16
- package/lib/v1/Radio/props/propTypes.js +1 -1
- package/package.json +6 -6
- package/result.json +1 -1
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.optionIdGrouping = exports.makeObjectConcat = exports.makeGetSelectedValueText = exports.makeGetOptionIdChange = exports.makeGetMultiSelectSelectedOptions = exports.makeGetMultiSelectFilterSuggestions = exports.makeGetIsShowClearIcon = exports.makeGetGroupSelectOptions = exports.makeGetGroupSelectFilterSuggestions = exports.makeFormatOptions = exports.getValueField = exports.getTextField = exports.getPrefixText = exports.getOptions = exports.getOptionType = exports.getImageField = exports.getIconSize = exports.getIconName = exports.filterSelectedOptions = exports.extractOptionIdFromJson = exports.extractOptionId = exports.dummyObj = exports.dummyArray = void 0;
|
|
6
|
+
exports.optionIdGrouping = exports.makeObjectConcat = exports.makeGetSelectedValueText = exports.makeGetOptionIdChange = exports.makeGetMultiSelectSelectedOptions = exports.makeGetMultiSelectFilterSuggestions = exports.makeGetIsShowClearIcon = exports.makeGetGroupSelectOptions = exports.makeGetGroupSelectFilterSuggestions = exports.makeFormatOptions = exports.getValueField = exports.getTextField = exports.getSecondaryField = exports.getPrefixText = exports.getOptions = exports.getOptionType = exports.getImageField = exports.getIconSize = exports.getIconName = exports.filterSelectedOptions = exports.extractOptionIdFromJson = exports.extractOptionId = exports.dummyObj = exports.dummyArray = void 0;
|
|
7
7
|
|
|
8
8
|
var _reselect = require("reselect");
|
|
9
9
|
|
|
@@ -66,6 +66,12 @@ var getValueField = function getValueField(props) {
|
|
|
66
66
|
|
|
67
67
|
exports.getValueField = getValueField;
|
|
68
68
|
|
|
69
|
+
var getSecondaryField = function getSecondaryField(props) {
|
|
70
|
+
return props.secondaryField || '';
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
exports.getSecondaryField = getSecondaryField;
|
|
74
|
+
|
|
69
75
|
var getTextField = function getTextField(props) {
|
|
70
76
|
return props.textField || '';
|
|
71
77
|
};
|
|
@@ -142,21 +148,38 @@ var getListItemProps = function getListItemProps(props) {
|
|
|
142
148
|
return props.listItemProps || '';
|
|
143
149
|
};
|
|
144
150
|
|
|
151
|
+
var getSearchFields = function getSearchFields(props) {
|
|
152
|
+
return props.searchFields || ['value'];
|
|
153
|
+
};
|
|
154
|
+
|
|
155
|
+
var isObjectContainsSearchString = function isObjectContainsSearchString() {
|
|
156
|
+
var searchFields = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
157
|
+
var searchStr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
158
|
+
var obj = arguments.length > 2 ? arguments[2] : undefined;
|
|
159
|
+
var matchedFields = searchFields.filter(function (element) {
|
|
160
|
+
return (0, _Common.getSearchString)(obj[element]).indexOf(searchStr) !== -1;
|
|
161
|
+
});
|
|
162
|
+
return matchedFields.length !== 0;
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
var getAllowValueFallback = function getAllowValueFallback(props) {
|
|
166
|
+
return props.allowValueFallback !== false;
|
|
167
|
+
};
|
|
168
|
+
|
|
145
169
|
var makeGetMultiSelectFilterSuggestions = function makeGetMultiSelectFilterSuggestions() {
|
|
146
|
-
return (0, _reselect.createSelector)([getOptions, getSelectedOptionsSel, getSearchStr, getNeedSearch, getIsStartWithSearch, getKeepSelectedOptions], function (options, selectedOptions, searchStr, needSearch, isStartsWithSearch, keepSelectedOptions) {
|
|
170
|
+
return (0, _reselect.createSelector)([getOptions, getSelectedOptionsSel, getSearchStr, getNeedSearch, getIsStartWithSearch, getKeepSelectedOptions, getSearchFields], function (options, selectedOptions, searchStr, needSearch, isStartsWithSearch, keepSelectedOptions, searchFields) {
|
|
147
171
|
var suggestions = [];
|
|
148
172
|
var suggestionIds = [];
|
|
149
173
|
options.forEach(function (option) {
|
|
150
|
-
var
|
|
151
|
-
|
|
174
|
+
var searchString = (0, _Common.getSearchString)(searchStr);
|
|
175
|
+
var _option$value = option.value,
|
|
152
176
|
value = _option$value === void 0 ? '' : _option$value;
|
|
153
177
|
var valueString = (0, _Common.getSearchString)(value);
|
|
154
|
-
var
|
|
155
|
-
var isMatch = needSearch ? isStartsWithSearch ? valueString.startsWith(searchString) : valueString.indexOf(searchString) !== -1 : true;
|
|
178
|
+
var isMatch = needSearch ? isStartsWithSearch ? valueString.startsWith(searchString) : isObjectContainsSearchString(searchFields, searchString, option) : true;
|
|
156
179
|
|
|
157
|
-
if (selectedOptions.indexOf(id) === -1 && isMatch || keepSelectedOptions) {
|
|
180
|
+
if (selectedOptions.indexOf(option.id) === -1 && isMatch || keepSelectedOptions) {
|
|
158
181
|
suggestions.push(option);
|
|
159
|
-
suggestionIds.push(id);
|
|
182
|
+
suggestionIds.push(option.id);
|
|
160
183
|
}
|
|
161
184
|
});
|
|
162
185
|
return {
|
|
@@ -228,7 +251,7 @@ var extractOptionIdFromJson = function extractOptionIdFromJson(id, localData) {
|
|
|
228
251
|
exports.extractOptionIdFromJson = extractOptionIdFromJson;
|
|
229
252
|
|
|
230
253
|
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) {
|
|
254
|
+
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) {
|
|
232
255
|
var revampOptions = [];
|
|
233
256
|
var remvampOptionIds = [];
|
|
234
257
|
var normalizedAllOptions = {};
|
|
@@ -239,23 +262,34 @@ var makeFormatOptions = function makeFormatOptions() {
|
|
|
239
262
|
var impValueField = option.valueField,
|
|
240
263
|
impTextField = option.textField,
|
|
241
264
|
impImageField = option.imageField,
|
|
265
|
+
impSecondaryField = option.secondaryField,
|
|
242
266
|
impOptionType = option.optionType,
|
|
243
267
|
impIconName = option.iconName,
|
|
244
268
|
impIconSize = option.iconSize,
|
|
245
269
|
listStyle = option.listItemProps;
|
|
246
270
|
var id = _typeof(option) === 'object' ? option[impValueField || valueField] : option;
|
|
247
|
-
var value = _typeof(option) === 'object' ? option[impTextField || textField] : option;
|
|
271
|
+
var value = _typeof(option) === 'object' ? option[impTextField || textField] : allowValueFallback ? option : '';
|
|
272
|
+
var secondaryValue = _typeof(option) === 'object' ? option[impSecondaryField || secondaryField] : '';
|
|
248
273
|
var photoURL = _typeof(option) === 'object' ? option[impImageField || imageField] : ''; // grouping options (group select/MultiSelect)
|
|
249
274
|
|
|
250
275
|
id = !(0, _Common.getIsEmptyValue)(id) ? optionIdGrouping(id, prefixText) : '';
|
|
276
|
+
var additionalSearchFieldData = searchFields.reduce(function (value, item) {
|
|
277
|
+
if (_typeof(option) === 'object' && option.hasOwnProperty(item)) {
|
|
278
|
+
value[item] = option[item];
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
return value;
|
|
282
|
+
}, {});
|
|
251
283
|
|
|
252
284
|
if (remvampOptionIds.indexOf(id) === -1 && !(0, _Common.getIsEmptyValue)(id) && !(0, _Common.getIsEmptyValue)(value)) {
|
|
253
285
|
remvampOptionIds.push(id);
|
|
254
|
-
|
|
286
|
+
|
|
287
|
+
var optionDetails = _objectSpread(_objectSpread({}, additionalSearchFieldData), {}, {
|
|
255
288
|
id: id,
|
|
256
289
|
value: value,
|
|
290
|
+
secondaryValue: secondaryValue,
|
|
257
291
|
optionType: impOptionType || optionType
|
|
258
|
-
};
|
|
292
|
+
});
|
|
259
293
|
|
|
260
294
|
if (imageField) {
|
|
261
295
|
optionDetails.photoURL = photoURL;
|
|
@@ -297,7 +331,7 @@ var makeFormatOptions = function makeFormatOptions() {
|
|
|
297
331
|
exports.makeFormatOptions = makeFormatOptions;
|
|
298
332
|
|
|
299
333
|
var makeGetMultiSelectSelectedOptions = function makeGetMultiSelectSelectedOptions() {
|
|
300
|
-
return (0, _reselect.createSelector)([getSelectedOptionsSel, getNormalizedFormatOptions, getSelectedOptionsLength], function (selectedOptions, normalizedFormatOptions, selectedOptionsLength) {
|
|
334
|
+
return (0, _reselect.createSelector)([getSelectedOptionsSel, getNormalizedFormatOptions, getSelectedOptionsLength, getAllowValueFallback], function (selectedOptions, normalizedFormatOptions, selectedOptionsLength, allowValueFallback) {
|
|
301
335
|
var output = [];
|
|
302
336
|
var revampSelectedOptions = [];
|
|
303
337
|
var normalizedSelectedOptions = {};
|
|
@@ -313,7 +347,8 @@ var makeGetMultiSelectSelectedOptions = function makeGetMultiSelectSelectedOptio
|
|
|
313
347
|
revampSelectedOptions.push(id);
|
|
314
348
|
output.push(normalizedFormatOptions[option]);
|
|
315
349
|
normalizedSelectedOptions[id] = normalizedFormatOptions[option];
|
|
316
|
-
} else if ((0, _Common.getIsEmptyValue)(id) && !(0, _Common.getIsEmptyValue)(option) && revampSelectedOptions.indexOf(option) === -1) {
|
|
350
|
+
} else if (allowValueFallback && (0, _Common.getIsEmptyValue)(id) && !(0, _Common.getIsEmptyValue)(option) && revampSelectedOptions.indexOf(option) === -1) {
|
|
351
|
+
//fallback case
|
|
317
352
|
var newObj = {
|
|
318
353
|
id: option,
|
|
319
354
|
value: option
|
|
@@ -412,7 +447,7 @@ var getGroupedOptions = function getGroupedOptions(props) {
|
|
|
412
447
|
var getFormatOptions = makeFormatOptions();
|
|
413
448
|
|
|
414
449
|
var makeGetGroupSelectOptions = function makeGetGroupSelectOptions() {
|
|
415
|
-
return (0, _reselect.createSelector)([getGroupedOptions], function (groupedOptions) {
|
|
450
|
+
return (0, _reselect.createSelector)([getGroupedOptions, getAllowValueFallback], function (groupedOptions, allowValueFallback) {
|
|
416
451
|
var revampedGroups = [];
|
|
417
452
|
var allOptionIds = [];
|
|
418
453
|
var allNormalizedOptions = {}; //all group normalized options
|
|
@@ -435,7 +470,8 @@ var makeGetGroupSelectOptions = function makeGetGroupSelectOptions() {
|
|
|
435
470
|
options: options,
|
|
436
471
|
valueField: valueField,
|
|
437
472
|
textField: textField,
|
|
438
|
-
prefixText: groupId
|
|
473
|
+
prefixText: groupId,
|
|
474
|
+
allowValueFallback: allowValueFallback
|
|
439
475
|
}),
|
|
440
476
|
allOptions = _getFormatOptions.allOptions,
|
|
441
477
|
normalizedAllOptions = _getFormatOptions.normalizedAllOptions,
|
|
@@ -39,7 +39,7 @@ var propTypes = {
|
|
|
39
39
|
ariaChecked: _propTypes["default"].bool,
|
|
40
40
|
ariaHidden: _propTypes["default"].bool,
|
|
41
41
|
role: _propTypes["default"].string,
|
|
42
|
-
tabIndex: _propTypes["default"].oneOfType(_propTypes["default"].string, _propTypes["default"].number),
|
|
42
|
+
tabIndex: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
|
|
43
43
|
ariaLabelledby: _propTypes["default"].string,
|
|
44
44
|
ariaLabel: _propTypes["default"].string,
|
|
45
45
|
ariaReadonly: _propTypes["default"].bool
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zohodesk/components",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
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 test && npm run download && npm run css:review && npm run review:props ",
|
|
41
|
+
"prepublishOnly": "node prePublish.js && npm run test-clean && npm run test && 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",
|
|
@@ -68,10 +68,10 @@
|
|
|
68
68
|
"@zohodesk-private/css-variable-migrator": "^1.0.7",
|
|
69
69
|
"@zohodesk-private/node-plugins": "1.1.8",
|
|
70
70
|
"@zohodesk-private/react-prop-validator": "1.2.3",
|
|
71
|
-
"@zohodesk/a11y": "2.3.
|
|
71
|
+
"@zohodesk/a11y": "2.3.4",
|
|
72
72
|
"@zohodesk/docstool": "1.0.0-alpha-2",
|
|
73
73
|
"@zohodesk/hooks": "2.0.5",
|
|
74
|
-
"@zohodesk/icons": "1.0.
|
|
74
|
+
"@zohodesk/icons": "1.0.75",
|
|
75
75
|
"@zohodesk/svg": "1.1.22",
|
|
76
76
|
"@zohodesk/utils": "1.3.14",
|
|
77
77
|
"@zohodesk/variables": "1.0.0",
|
|
@@ -86,7 +86,7 @@
|
|
|
86
86
|
"selectn": "1.1.2"
|
|
87
87
|
},
|
|
88
88
|
"peerDependencies": {
|
|
89
|
-
"@zohodesk/icons": "1.0.
|
|
89
|
+
"@zohodesk/icons": "1.0.75",
|
|
90
90
|
"@zohodesk/variables": "1.0.0",
|
|
91
91
|
"@zohodesk/svg": "1.1.22",
|
|
92
92
|
"@zohodesk/virtualizer": "1.0.3",
|
|
@@ -94,6 +94,6 @@
|
|
|
94
94
|
"react-sortable-hoc": "^0.8.3",
|
|
95
95
|
"@zohodesk/hooks": "2.0.5",
|
|
96
96
|
"@zohodesk/utils": "1.3.14",
|
|
97
|
-
"@zohodesk/a11y": "2.3.
|
|
97
|
+
"@zohodesk/a11y": "2.3.4"
|
|
98
98
|
}
|
|
99
99
|
}
|