@zohodesk/components 1.2.63 → 1.3.1
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 +6 -0
- package/.cli/propValidation_report.html +1 -1
- package/README.md +12 -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 +54 -7
- 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/AdvancedMultiSelect.js +10 -4
- package/es/MultiSelect/MultiSelect.js +8 -4
- package/es/MultiSelect/MultiSelect.module.css +9 -1
- package/es/MultiSelect/MultiSelectWithAvatar.js +6 -2
- package/es/MultiSelect/Suggestions.js +8 -3
- package/es/MultiSelect/__tests__/__snapshots__/MultiSelectHeader.spec.js.snap +34 -13
- package/es/MultiSelect/props/defaultProps.js +2 -1
- package/es/MultiSelect/props/propTypes.js +4 -0
- package/es/Radio/props/propTypes.js +1 -1
- package/es/common/common.module.css +10 -0
- package/es/utils/dropDownUtils.js +41 -8
- package/es/v1/Radio/props/propTypes.js +1 -1
- package/lib/ListItem/ListContainer.js +3 -2
- package/lib/ListItem/ListItem.module.css +54 -7
- 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/AdvancedMultiSelect.js +76 -69
- package/lib/MultiSelect/MultiSelect.js +8 -4
- package/lib/MultiSelect/MultiSelect.module.css +9 -1
- package/lib/MultiSelect/MultiSelectWithAvatar.js +6 -2
- package/lib/MultiSelect/Suggestions.js +9 -4
- package/lib/MultiSelect/__tests__/__snapshots__/MultiSelectHeader.spec.js.snap +34 -13
- package/lib/MultiSelect/props/defaultProps.js +2 -1
- package/lib/MultiSelect/props/propTypes.js +5 -1
- package/lib/Radio/props/propTypes.js +1 -1
- package/lib/common/common.module.css +10 -0
- package/lib/utils/dropDownUtils.js +49 -11
- package/lib/v1/Radio/props/propTypes.js +1 -1
- package/package.json +7 -7
- package/result.json +1 -1
|
@@ -135,13 +135,16 @@ var AdvancedMultiSelectComponent = /*#__PURE__*/function (_MultiSelectComponent)
|
|
|
135
135
|
_this$state$options = _this$state.options,
|
|
136
136
|
options = _this$state$options === void 0 ? dummyArray : _this$state$options,
|
|
137
137
|
searchStr = _this$state.searchStr;
|
|
138
|
-
var
|
|
138
|
+
var _this$props2 = this.props,
|
|
139
|
+
needLocalSearch = _this$props2.needLocalSearch,
|
|
140
|
+
searchFields = _this$props2.searchFields;
|
|
139
141
|
|
|
140
142
|
var _this$getFilterSugges = this.getFilterSuggestions({
|
|
141
143
|
options: options,
|
|
142
144
|
selectedOptions: dummyArray,
|
|
143
145
|
searchStr: (0, _Common.getSearchString)(searchStr),
|
|
144
|
-
needSearch: needLocalSearch
|
|
146
|
+
needSearch: needLocalSearch,
|
|
147
|
+
searchFields: searchFields
|
|
145
148
|
}),
|
|
146
149
|
suggestions = _this$getFilterSugges.suggestions,
|
|
147
150
|
suggestionIds = _this$getFilterSugges.suggestionIds;
|
|
@@ -157,14 +160,14 @@ var AdvancedMultiSelectComponent = /*#__PURE__*/function (_MultiSelectComponent)
|
|
|
157
160
|
var _this$state2 = this.state,
|
|
158
161
|
optionsNormalize = _this$state2.optionsNormalize,
|
|
159
162
|
searchStr = _this$state2.searchStr;
|
|
160
|
-
var _this$
|
|
161
|
-
onChange = _this$
|
|
162
|
-
_this$
|
|
163
|
-
needToCloseOnSelect = _this$
|
|
164
|
-
togglePopup = _this$
|
|
165
|
-
isSearchClearOnSelect = _this$
|
|
166
|
-
propSelectedOptions = _this$
|
|
167
|
-
disabledOptions = _this$
|
|
163
|
+
var _this$props3 = this.props,
|
|
164
|
+
onChange = _this$props3.onChange,
|
|
165
|
+
_this$props3$needToCl = _this$props3.needToCloseOnSelect,
|
|
166
|
+
needToCloseOnSelect = _this$props3$needToCl === void 0 ? false : _this$props3$needToCl,
|
|
167
|
+
togglePopup = _this$props3.togglePopup,
|
|
168
|
+
isSearchClearOnSelect = _this$props3.isSearchClearOnSelect,
|
|
169
|
+
propSelectedOptions = _this$props3.selectedOptions,
|
|
170
|
+
disabledOptions = _this$props3.disabledOptions;
|
|
168
171
|
|
|
169
172
|
var _filterSelectedOption = (0, _dropDownUtils.filterSelectedOptions)({
|
|
170
173
|
selectedOptions: selectedOptions,
|
|
@@ -219,7 +222,9 @@ var AdvancedMultiSelectComponent = /*#__PURE__*/function (_MultiSelectComponent)
|
|
|
219
222
|
prefixText = props.prefixText,
|
|
220
223
|
optionType = props.optionType,
|
|
221
224
|
disabledOptions = props.disabledOptions,
|
|
222
|
-
allowValueFallback = props.allowValueFallback
|
|
225
|
+
allowValueFallback = props.allowValueFallback,
|
|
226
|
+
searchFields = props.searchFields,
|
|
227
|
+
secondaryField = props.secondaryField;
|
|
223
228
|
return this.formatOptions({
|
|
224
229
|
options: options,
|
|
225
230
|
valueField: valueField,
|
|
@@ -230,7 +235,9 @@ var AdvancedMultiSelectComponent = /*#__PURE__*/function (_MultiSelectComponent)
|
|
|
230
235
|
optionType: optionType,
|
|
231
236
|
iconSize: iconSize,
|
|
232
237
|
disabledOptions: disabledOptions,
|
|
233
|
-
allowValueFallback: allowValueFallback
|
|
238
|
+
allowValueFallback: allowValueFallback,
|
|
239
|
+
searchFields: searchFields,
|
|
240
|
+
secondaryField: secondaryField
|
|
234
241
|
});
|
|
235
242
|
}
|
|
236
243
|
}, {
|
|
@@ -288,11 +295,11 @@ var AdvancedMultiSelectComponent = /*#__PURE__*/function (_MultiSelectComponent)
|
|
|
288
295
|
var _this2 = this;
|
|
289
296
|
|
|
290
297
|
var oldAllSelectedOptionsDetails = this.allSelectedOptionsDetails;
|
|
291
|
-
var _this$
|
|
292
|
-
selectedOptions = _this$
|
|
293
|
-
selectedOptionsLimit = _this$
|
|
294
|
-
id = _this$
|
|
295
|
-
selectedOptionDetails = _this$
|
|
298
|
+
var _this$props4 = this.props,
|
|
299
|
+
selectedOptions = _this$props4.selectedOptions,
|
|
300
|
+
selectedOptionsLimit = _this$props4.selectedOptionsLimit,
|
|
301
|
+
id = _this$props4.id,
|
|
302
|
+
selectedOptionDetails = _this$props4.selectedOptionDetails;
|
|
296
303
|
var oldSelectedOptions = prevProps.selectedOptions,
|
|
297
304
|
oldSelectedOptionsLimit = prevProps.selectedOptionsLimit;
|
|
298
305
|
var oldCount = this.state.showedSelectedOptionsCount;
|
|
@@ -360,11 +367,11 @@ var AdvancedMultiSelectComponent = /*#__PURE__*/function (_MultiSelectComponent)
|
|
|
360
367
|
var _this3 = this;
|
|
361
368
|
|
|
362
369
|
var showedSelectedOptionsCount = this.state.showedSelectedOptionsCount;
|
|
363
|
-
var _this$
|
|
364
|
-
selectedOptionsLimit = _this$
|
|
365
|
-
selectedOptions = _this$
|
|
366
|
-
getSelectedOptionDetails = _this$
|
|
367
|
-
removeClose = _this$
|
|
370
|
+
var _this$props5 = this.props,
|
|
371
|
+
selectedOptionsLimit = _this$props5.selectedOptionsLimit,
|
|
372
|
+
selectedOptions = _this$props5.selectedOptions,
|
|
373
|
+
getSelectedOptionDetails = _this$props5.getSelectedOptionDetails,
|
|
374
|
+
removeClose = _this$props5.removeClose;
|
|
368
375
|
removeClose(e);
|
|
369
376
|
var selectedOptionsLen = selectedOptions.length;
|
|
370
377
|
|
|
@@ -401,53 +408,53 @@ var AdvancedMultiSelectComponent = /*#__PURE__*/function (_MultiSelectComponent)
|
|
|
401
408
|
value: function render() {
|
|
402
409
|
var _this4 = this;
|
|
403
410
|
|
|
404
|
-
var _this$
|
|
405
|
-
isReadOnly = _this$
|
|
406
|
-
needSelectAll = _this$
|
|
407
|
-
searchEmptyMessage = _this$
|
|
408
|
-
emptyMessage = _this$
|
|
409
|
-
noMoreOptionsMessage = _this$
|
|
410
|
-
dropBoxSize = _this$
|
|
411
|
-
placeHolder = _this$
|
|
412
|
-
isPopupOpen = _this$
|
|
413
|
-
isPopupReady = _this$
|
|
414
|
-
position = _this$
|
|
415
|
-
defaultDropBoxPosition = _this$
|
|
416
|
-
selectAllText = _this$
|
|
417
|
-
getContainerRef = _this$
|
|
418
|
-
removeClose = _this$
|
|
419
|
-
isAnimate = _this$
|
|
420
|
-
animationStyle = _this$
|
|
421
|
-
textBoxSize = _this$
|
|
422
|
-
variant = _this$
|
|
423
|
-
size = _this$
|
|
424
|
-
isDisabled = _this$
|
|
425
|
-
title = _this$
|
|
426
|
-
dataIdMultiSelectComp = _this$
|
|
427
|
-
dataIdClearIcon = _this$
|
|
428
|
-
dataIdSelectAllEle = _this$
|
|
429
|
-
dataIdLoading = _this$
|
|
430
|
-
_this$
|
|
431
|
-
allselectedOptionIds = _this$
|
|
432
|
-
listItemSize = _this$
|
|
433
|
-
needBorder = _this$
|
|
434
|
-
i18nKeys = _this$
|
|
435
|
-
htmlId = _this$
|
|
436
|
-
a11y = _this$
|
|
437
|
-
borderColor = _this$
|
|
438
|
-
isBoxPaddingNeed = _this$
|
|
439
|
-
getFooter = _this$
|
|
440
|
-
customProps = _this$
|
|
441
|
-
needEffect = _this$
|
|
442
|
-
disabledOptions = _this$
|
|
443
|
-
isLoading = _this$
|
|
444
|
-
dataSelectorId = _this$
|
|
445
|
-
customClass = _this$
|
|
446
|
-
isAbsolutePositioningNeeded = _this$
|
|
447
|
-
positionsOffset = _this$
|
|
448
|
-
targetOffset = _this$
|
|
449
|
-
isRestrictScroll = _this$
|
|
450
|
-
isFocus = _this$
|
|
411
|
+
var _this$props6 = this.props,
|
|
412
|
+
isReadOnly = _this$props6.isReadOnly,
|
|
413
|
+
needSelectAll = _this$props6.needSelectAll,
|
|
414
|
+
searchEmptyMessage = _this$props6.searchEmptyMessage,
|
|
415
|
+
emptyMessage = _this$props6.emptyMessage,
|
|
416
|
+
noMoreOptionsMessage = _this$props6.noMoreOptionsMessage,
|
|
417
|
+
dropBoxSize = _this$props6.dropBoxSize,
|
|
418
|
+
placeHolder = _this$props6.placeHolder,
|
|
419
|
+
isPopupOpen = _this$props6.isPopupOpen,
|
|
420
|
+
isPopupReady = _this$props6.isPopupReady,
|
|
421
|
+
position = _this$props6.position,
|
|
422
|
+
defaultDropBoxPosition = _this$props6.defaultDropBoxPosition,
|
|
423
|
+
selectAllText = _this$props6.selectAllText,
|
|
424
|
+
getContainerRef = _this$props6.getContainerRef,
|
|
425
|
+
removeClose = _this$props6.removeClose,
|
|
426
|
+
isAnimate = _this$props6.isAnimate,
|
|
427
|
+
animationStyle = _this$props6.animationStyle,
|
|
428
|
+
textBoxSize = _this$props6.textBoxSize,
|
|
429
|
+
variant = _this$props6.variant,
|
|
430
|
+
size = _this$props6.size,
|
|
431
|
+
isDisabled = _this$props6.isDisabled,
|
|
432
|
+
title = _this$props6.title,
|
|
433
|
+
dataIdMultiSelectComp = _this$props6.dataIdMultiSelectComp,
|
|
434
|
+
dataIdClearIcon = _this$props6.dataIdClearIcon,
|
|
435
|
+
dataIdSelectAllEle = _this$props6.dataIdSelectAllEle,
|
|
436
|
+
dataIdLoading = _this$props6.dataIdLoading,
|
|
437
|
+
_this$props6$selected = _this$props6.selectedOptions,
|
|
438
|
+
allselectedOptionIds = _this$props6$selected === void 0 ? [] : _this$props6$selected,
|
|
439
|
+
listItemSize = _this$props6.listItemSize,
|
|
440
|
+
needBorder = _this$props6.needBorder,
|
|
441
|
+
i18nKeys = _this$props6.i18nKeys,
|
|
442
|
+
htmlId = _this$props6.htmlId,
|
|
443
|
+
a11y = _this$props6.a11y,
|
|
444
|
+
borderColor = _this$props6.borderColor,
|
|
445
|
+
isBoxPaddingNeed = _this$props6.isBoxPaddingNeed,
|
|
446
|
+
getFooter = _this$props6.getFooter,
|
|
447
|
+
customProps = _this$props6.customProps,
|
|
448
|
+
needEffect = _this$props6.needEffect,
|
|
449
|
+
disabledOptions = _this$props6.disabledOptions,
|
|
450
|
+
isLoading = _this$props6.isLoading,
|
|
451
|
+
dataSelectorId = _this$props6.dataSelectorId,
|
|
452
|
+
customClass = _this$props6.customClass,
|
|
453
|
+
isAbsolutePositioningNeeded = _this$props6.isAbsolutePositioningNeeded,
|
|
454
|
+
positionsOffset = _this$props6.positionsOffset,
|
|
455
|
+
targetOffset = _this$props6.targetOffset,
|
|
456
|
+
isRestrictScroll = _this$props6.isRestrictScroll,
|
|
457
|
+
isFocus = _this$props6.isFocus;
|
|
451
458
|
var _customProps$Suggesti = customProps.SuggestionsProps,
|
|
452
459
|
SuggestionsProps = _customProps$Suggesti === void 0 ? {} : _customProps$Suggesti,
|
|
453
460
|
_customProps$DropBoxP = customProps.DropBoxProps,
|
|
@@ -300,7 +300,8 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
300
300
|
textField = props.textField,
|
|
301
301
|
prefixText = props.prefixText,
|
|
302
302
|
disabledOptions = props.disabledOptions,
|
|
303
|
-
allowValueFallback = props.allowValueFallback
|
|
303
|
+
allowValueFallback = props.allowValueFallback,
|
|
304
|
+
searchFields = props.searchFields;
|
|
304
305
|
return this.formatOptions({
|
|
305
306
|
options: options,
|
|
306
307
|
valueField: valueField,
|
|
@@ -308,7 +309,8 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
308
309
|
prefixText: prefixText,
|
|
309
310
|
optionType: 'default',
|
|
310
311
|
disabledOptions: disabledOptions,
|
|
311
|
-
allowValueFallback: allowValueFallback
|
|
312
|
+
allowValueFallback: allowValueFallback,
|
|
313
|
+
searchFields: searchFields
|
|
312
314
|
});
|
|
313
315
|
}
|
|
314
316
|
}, {
|
|
@@ -354,14 +356,16 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
354
356
|
var _this$props4 = this.props,
|
|
355
357
|
selectedOptions = _this$props4.selectedOptions,
|
|
356
358
|
needLocalSearch = _this$props4.needLocalSearch,
|
|
357
|
-
keepSelectedOptions = _this$props4.keepSelectedOptions
|
|
359
|
+
keepSelectedOptions = _this$props4.keepSelectedOptions,
|
|
360
|
+
searchFields = _this$props4.searchFields;
|
|
358
361
|
|
|
359
362
|
var _this$getFilterSugges = this.getFilterSuggestions({
|
|
360
363
|
options: options,
|
|
361
364
|
selectedOptions: selectedOptions,
|
|
362
365
|
searchStr: (0, _Common.getSearchString)(searchStr),
|
|
363
366
|
needSearch: needLocalSearch,
|
|
364
|
-
keepSelectedOptions: keepSelectedOptions
|
|
367
|
+
keepSelectedOptions: keepSelectedOptions,
|
|
368
|
+
searchFields: searchFields
|
|
365
369
|
}),
|
|
366
370
|
suggestions = _this$getFilterSugges.suggestions,
|
|
367
371
|
suggestionIds = _this$getFilterSugges.suggestionIds;
|
|
@@ -200,7 +200,15 @@
|
|
|
200
200
|
cursor: pointer;
|
|
201
201
|
margin-top: var(--zd_size5) ;
|
|
202
202
|
background-color: var(--zdt_multiselect_delete_bg);
|
|
203
|
-
border: 0
|
|
203
|
+
border: 0
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
[dir=ltr] .more {
|
|
207
|
+
margin-right:var(--zd_size3)
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
[dir=rtl] .more {
|
|
211
|
+
margin-left:var(--zd_size3)
|
|
204
212
|
}
|
|
205
213
|
|
|
206
214
|
.rightPlaceholder{
|
|
@@ -100,7 +100,9 @@ var MultiSelectWithAvatarComponent = /*#__PURE__*/function (_MultiSelectComponen
|
|
|
100
100
|
textField = props.textField,
|
|
101
101
|
imageField = props.imageField,
|
|
102
102
|
disabledOptions = props.disabledOptions,
|
|
103
|
-
allowValueFallback = props.allowValueFallback
|
|
103
|
+
allowValueFallback = props.allowValueFallback,
|
|
104
|
+
searchFields = props.searchFields,
|
|
105
|
+
secondaryField = props.secondaryField;
|
|
104
106
|
return this.formatOptions({
|
|
105
107
|
options: options,
|
|
106
108
|
valueField: valueField,
|
|
@@ -108,7 +110,9 @@ var MultiSelectWithAvatarComponent = /*#__PURE__*/function (_MultiSelectComponen
|
|
|
108
110
|
imageField: imageField,
|
|
109
111
|
optionType: 'avatar',
|
|
110
112
|
disabledOptions: disabledOptions,
|
|
111
|
-
allowValueFallback: allowValueFallback
|
|
113
|
+
allowValueFallback: allowValueFallback,
|
|
114
|
+
searchFields: searchFields,
|
|
115
|
+
secondaryField: secondaryField
|
|
112
116
|
});
|
|
113
117
|
}
|
|
114
118
|
}, {
|
|
@@ -83,7 +83,8 @@ var Suggestions = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
83
83
|
avatarPalette = _this$props.avatarPalette,
|
|
84
84
|
palette = _this$props.palette,
|
|
85
85
|
htmlId = _this$props.htmlId,
|
|
86
|
-
a11y = _this$props.a11y
|
|
86
|
+
a11y = _this$props.a11y,
|
|
87
|
+
needMultiLineText = _this$props.needMultiLineText;
|
|
87
88
|
var ariaParentRole = a11y.ariaParentRole,
|
|
88
89
|
ariaMultiselectable = a11y.ariaMultiselectable;
|
|
89
90
|
return /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
|
|
@@ -98,6 +99,7 @@ var Suggestions = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
98
99
|
}, suggestions.map(function (suggestion, index) {
|
|
99
100
|
var id = suggestion.id,
|
|
100
101
|
value = suggestion.value,
|
|
102
|
+
secondaryValue = suggestion.secondaryValue,
|
|
101
103
|
photoURL = suggestion.photoURL,
|
|
102
104
|
icon = suggestion.icon,
|
|
103
105
|
optionType = suggestion.optionType,
|
|
@@ -115,7 +117,8 @@ var Suggestions = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
115
117
|
});
|
|
116
118
|
|
|
117
119
|
var commonProps = _objectSpread({
|
|
118
|
-
isDisabled: isDisabled
|
|
120
|
+
isDisabled: isDisabled,
|
|
121
|
+
needMultiLineText: needMultiLineText
|
|
119
122
|
}, listItemCustomProps);
|
|
120
123
|
|
|
121
124
|
if (listItemProps) {
|
|
@@ -143,7 +146,8 @@ var Suggestions = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
143
146
|
size: listItemSize,
|
|
144
147
|
avatarPalette: avatarPalette,
|
|
145
148
|
palette: palette,
|
|
146
|
-
a11y: list_a11y
|
|
149
|
+
a11y: list_a11y,
|
|
150
|
+
secondaryValue: secondaryValue
|
|
147
151
|
}));
|
|
148
152
|
} else if (optionType === 'icon') {
|
|
149
153
|
return /*#__PURE__*/_react["default"].createElement(_ListItemWithIcon["default"], _extends({}, commonProps, {
|
|
@@ -163,7 +167,8 @@ var Suggestions = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
163
167
|
iconSize: iconSize,
|
|
164
168
|
size: listItemSize,
|
|
165
169
|
palette: palette,
|
|
166
|
-
a11y: list_a11y
|
|
170
|
+
a11y: list_a11y,
|
|
171
|
+
secondaryValue: secondaryValue
|
|
167
172
|
}));
|
|
168
173
|
}
|
|
169
174
|
|
|
@@ -13,27 +13,48 @@ exports[`MultiSelectHeader rendering the basic value 1`] = `
|
|
|
13
13
|
>
|
|
14
14
|
<div
|
|
15
15
|
aria-hidden="true"
|
|
16
|
-
class="iconBox shrinkOff"
|
|
16
|
+
class="iconBox lhsBox lhsJustifyContent_center shrinkOff selfStart"
|
|
17
17
|
data-id="MultiSelectHeader_selectAll_Icon"
|
|
18
18
|
data-selector-id="box"
|
|
19
19
|
data-test-id="MultiSelectHeader_selectAll_Icon"
|
|
20
20
|
>
|
|
21
|
-
<
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
data-id="
|
|
25
|
-
data-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
21
|
+
<div
|
|
22
|
+
class="lhsBox_medium shrinkOff selfStart"
|
|
23
|
+
data-id="boxComponent"
|
|
24
|
+
data-selector-id="box"
|
|
25
|
+
data-test-id="boxComponent"
|
|
26
|
+
>
|
|
27
|
+
<i
|
|
28
|
+
aria-hidden="true"
|
|
29
|
+
class="zd_font_icons basic icon-androidd "
|
|
30
|
+
data-id="fontIcon"
|
|
31
|
+
data-selector-id="fontIcon"
|
|
32
|
+
data-test-id="fontIcon"
|
|
33
|
+
style="--zd-iconfont-size: var(--zd_font_size15);"
|
|
34
|
+
/>
|
|
35
|
+
</div>
|
|
29
36
|
</div>
|
|
30
37
|
<div
|
|
31
|
-
class="
|
|
32
|
-
data-id="
|
|
38
|
+
class="grow basis shrinkOn"
|
|
39
|
+
data-id="boxComponent"
|
|
33
40
|
data-selector-id="box"
|
|
34
|
-
data-test-id="
|
|
41
|
+
data-test-id="boxComponent"
|
|
35
42
|
>
|
|
36
|
-
|
|
43
|
+
<div
|
|
44
|
+
class="flex cover coldir"
|
|
45
|
+
data-id="containerComponent"
|
|
46
|
+
data-selector-id="container"
|
|
47
|
+
data-test-id="containerComponent"
|
|
48
|
+
>
|
|
49
|
+
<div
|
|
50
|
+
class="value shrinkOff"
|
|
51
|
+
data-id="MultiSelectHeader_selectAll_Text"
|
|
52
|
+
data-selector-id="box"
|
|
53
|
+
data-test-id="MultiSelectHeader_selectAll_Text"
|
|
54
|
+
>
|
|
55
|
+
List
|
|
56
|
+
</div>
|
|
57
|
+
</div>
|
|
37
58
|
</div>
|
|
38
59
|
</li>
|
|
39
60
|
</DocumentFragment>
|
|
@@ -181,6 +181,7 @@ var SelectedOptions_defaultProps = {
|
|
|
181
181
|
};
|
|
182
182
|
exports.SelectedOptions_defaultProps = SelectedOptions_defaultProps;
|
|
183
183
|
var Suggestions_defaultProps = {
|
|
184
|
-
a11y: {}
|
|
184
|
+
a11y: {},
|
|
185
|
+
needMultiLineText: false
|
|
185
186
|
};
|
|
186
187
|
exports.Suggestions_defaultProps = Suggestions_defaultProps;
|
|
@@ -65,6 +65,7 @@ var MultiSelect_propTypes = {
|
|
|
65
65
|
a11y: _propTypes["default"].shape({
|
|
66
66
|
clearLabel: _propTypes["default"].string
|
|
67
67
|
}),
|
|
68
|
+
searchFields: _propTypes["default"].arrayOf(_propTypes["default"].string),
|
|
68
69
|
isAnimate: _propTypes["default"].bool,
|
|
69
70
|
isBoxPaddingNeed: _propTypes["default"].bool,
|
|
70
71
|
isDisabled: _propTypes["default"].bool,
|
|
@@ -153,7 +154,8 @@ var MultiSelectWithAvatar_propTypes = _objectSpread({
|
|
|
153
154
|
customProps: _propTypes["default"].shape({
|
|
154
155
|
SuggestionsProps: _propTypes["default"].object,
|
|
155
156
|
DropBoxProps: _propTypes["default"].object
|
|
156
|
-
})
|
|
157
|
+
}),
|
|
158
|
+
secondaryField: _propTypes["default"].string
|
|
157
159
|
}, MultiSelect_propTypes);
|
|
158
160
|
|
|
159
161
|
exports.MultiSelectWithAvatar_propTypes = MultiSelectWithAvatar_propTypes;
|
|
@@ -195,6 +197,7 @@ var Suggestions_propTypes = {
|
|
|
195
197
|
palette: _propTypes["default"].string,
|
|
196
198
|
selectedOptions: _propTypes["default"].array,
|
|
197
199
|
htmlId: _propTypes["default"].string,
|
|
200
|
+
needMultiLineText: _propTypes["default"].bool,
|
|
198
201
|
suggestions: _propTypes["default"].arrayOf(_propTypes["default"].shape({
|
|
199
202
|
id: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
|
|
200
203
|
value: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
|
|
@@ -305,6 +308,7 @@ var AdvancedMultiSelect_propTypes = _objectSpread(_objectSpread({}, MultiSelect_
|
|
|
305
308
|
//For grouping multiSelect
|
|
306
309
|
optionType: _propTypes["default"].oneOf(['default', 'avatar', 'icon']),
|
|
307
310
|
needEffect: _propTypes["default"].bool,
|
|
311
|
+
secondaryField: _propTypes["default"].string,
|
|
308
312
|
animationStyle: _propTypes["default"].string,
|
|
309
313
|
defaultDropBoxPosition: _propTypes["default"].oneOf(['bottom', 'top', 'left', 'right']),
|
|
310
314
|
dropBoxSize: _propTypes["default"].oneOf(['small', 'medium', 'large']),
|
|
@@ -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
|
|
@@ -260,6 +260,12 @@
|
|
|
260
260
|
justify-content: space-between;
|
|
261
261
|
}
|
|
262
262
|
|
|
263
|
+
.justifyFstart {
|
|
264
|
+
-webkit-box-pack: flex-start;
|
|
265
|
+
-ms-flex-pack: flex-start;
|
|
266
|
+
justify-content: flex-start;
|
|
267
|
+
}
|
|
268
|
+
|
|
263
269
|
.justifyFend {
|
|
264
270
|
-webkit-box-pack: flex-end;
|
|
265
271
|
-ms-flex-pack: flex-end;
|
|
@@ -493,6 +499,10 @@
|
|
|
493
499
|
display: -webkit-box;
|
|
494
500
|
overflow: hidden;
|
|
495
501
|
}
|
|
502
|
+
.lineClamp {
|
|
503
|
+
composes: wbreak clamp;
|
|
504
|
+
-webkit-line-clamp: var(--line-clamp,2);
|
|
505
|
+
}
|
|
496
506
|
|
|
497
507
|
.offSelection {
|
|
498
508
|
-webkit-user-select: none;
|
|
@@ -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,25 +148,46 @@ 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
|
+
}; // const isObjectContainsSearchString = (searchFields = [], searchStr = '', obj) => {
|
|
154
|
+
// const matchedFields = searchFields.filter(element => {
|
|
155
|
+
// return getSearchString(obj[element]).indexOf(searchStr) !== -1
|
|
156
|
+
// });
|
|
157
|
+
// return matchedFields.length !== 0;
|
|
158
|
+
// }
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
var isObjectContainsSearchString = function isObjectContainsSearchString() {
|
|
162
|
+
var searchFields = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
163
|
+
var searchStr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
164
|
+
var obj = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
165
|
+
return searchFields.some(function (field) {
|
|
166
|
+
var val = obj[field];
|
|
167
|
+
if (val === null || val === undefined) return false;
|
|
168
|
+
var str = (0, _Common.getSearchString)(val);
|
|
169
|
+
return str && str.indexOf(searchStr) !== -1;
|
|
170
|
+
});
|
|
171
|
+
};
|
|
172
|
+
|
|
145
173
|
var getAllowValueFallback = function getAllowValueFallback(props) {
|
|
146
174
|
return props.allowValueFallback !== false;
|
|
147
175
|
};
|
|
148
176
|
|
|
149
177
|
var makeGetMultiSelectFilterSuggestions = function makeGetMultiSelectFilterSuggestions() {
|
|
150
|
-
return (0, _reselect.createSelector)([getOptions, getSelectedOptionsSel, getSearchStr, getNeedSearch, getIsStartWithSearch, getKeepSelectedOptions], function (options, selectedOptions, searchStr, needSearch, isStartsWithSearch, keepSelectedOptions) {
|
|
178
|
+
return (0, _reselect.createSelector)([getOptions, getSelectedOptionsSel, getSearchStr, getNeedSearch, getIsStartWithSearch, getKeepSelectedOptions, getSearchFields], function (options, selectedOptions, searchStr, needSearch, isStartsWithSearch, keepSelectedOptions, searchFields) {
|
|
151
179
|
var suggestions = [];
|
|
152
180
|
var suggestionIds = [];
|
|
153
181
|
options.forEach(function (option) {
|
|
154
|
-
var
|
|
155
|
-
|
|
182
|
+
var searchString = (0, _Common.getSearchString)(searchStr);
|
|
183
|
+
var _option$value = option.value,
|
|
156
184
|
value = _option$value === void 0 ? '' : _option$value;
|
|
157
185
|
var valueString = (0, _Common.getSearchString)(value);
|
|
158
|
-
var
|
|
159
|
-
var isMatch = needSearch ? isStartsWithSearch ? valueString.startsWith(searchString) : valueString.indexOf(searchString) !== -1 : true;
|
|
186
|
+
var isMatch = needSearch ? isStartsWithSearch ? valueString.startsWith(searchString) : isObjectContainsSearchString(searchFields, searchString, option) : true;
|
|
160
187
|
|
|
161
|
-
if (selectedOptions.indexOf(id) === -1 && isMatch || keepSelectedOptions) {
|
|
188
|
+
if (selectedOptions.indexOf(option.id) === -1 && isMatch || keepSelectedOptions) {
|
|
162
189
|
suggestions.push(option);
|
|
163
|
-
suggestionIds.push(id);
|
|
190
|
+
suggestionIds.push(option.id);
|
|
164
191
|
}
|
|
165
192
|
});
|
|
166
193
|
return {
|
|
@@ -232,7 +259,7 @@ var extractOptionIdFromJson = function extractOptionIdFromJson(id, localData) {
|
|
|
232
259
|
exports.extractOptionIdFromJson = extractOptionIdFromJson;
|
|
233
260
|
|
|
234
261
|
var makeFormatOptions = function makeFormatOptions() {
|
|
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) {
|
|
262
|
+
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) {
|
|
236
263
|
var revampOptions = [];
|
|
237
264
|
var remvampOptionIds = [];
|
|
238
265
|
var normalizedAllOptions = {};
|
|
@@ -243,23 +270,34 @@ var makeFormatOptions = function makeFormatOptions() {
|
|
|
243
270
|
var impValueField = option.valueField,
|
|
244
271
|
impTextField = option.textField,
|
|
245
272
|
impImageField = option.imageField,
|
|
273
|
+
impSecondaryField = option.secondaryField,
|
|
246
274
|
impOptionType = option.optionType,
|
|
247
275
|
impIconName = option.iconName,
|
|
248
276
|
impIconSize = option.iconSize,
|
|
249
277
|
listStyle = option.listItemProps;
|
|
250
278
|
var id = _typeof(option) === 'object' ? option[impValueField || valueField] : option;
|
|
251
279
|
var value = _typeof(option) === 'object' ? option[impTextField || textField] : allowValueFallback ? option : '';
|
|
280
|
+
var secondaryValue = _typeof(option) === 'object' ? option[impSecondaryField || secondaryField] : '';
|
|
252
281
|
var photoURL = _typeof(option) === 'object' ? option[impImageField || imageField] : ''; // grouping options (group select/MultiSelect)
|
|
253
282
|
|
|
254
283
|
id = !(0, _Common.getIsEmptyValue)(id) ? optionIdGrouping(id, prefixText) : '';
|
|
284
|
+
var additionalSearchFieldData = searchFields.reduce(function (value, item) {
|
|
285
|
+
if (_typeof(option) === 'object' && option.hasOwnProperty(item)) {
|
|
286
|
+
value[item] = option[item];
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
return value;
|
|
290
|
+
}, {});
|
|
255
291
|
|
|
256
292
|
if (remvampOptionIds.indexOf(id) === -1 && !(0, _Common.getIsEmptyValue)(id) && !(0, _Common.getIsEmptyValue)(value)) {
|
|
257
293
|
remvampOptionIds.push(id);
|
|
258
|
-
|
|
294
|
+
|
|
295
|
+
var optionDetails = _objectSpread(_objectSpread({}, additionalSearchFieldData), {}, {
|
|
259
296
|
id: id,
|
|
260
297
|
value: value,
|
|
298
|
+
secondaryValue: secondaryValue,
|
|
261
299
|
optionType: impOptionType || optionType
|
|
262
|
-
};
|
|
300
|
+
});
|
|
263
301
|
|
|
264
302
|
if (imageField) {
|
|
265
303
|
optionDetails.photoURL = photoURL;
|
|
@@ -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.1",
|
|
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",
|
|
@@ -65,13 +65,13 @@
|
|
|
65
65
|
"@testing-library/react-hooks": "^7.0.2",
|
|
66
66
|
"@testing-library/user-event": "^13.0.10",
|
|
67
67
|
"@zohodesk-private/color-variable-preprocessor": "1.2.0",
|
|
68
|
-
"@zohodesk-private/css-variable-migrator": "^1.0.
|
|
68
|
+
"@zohodesk-private/css-variable-migrator": "^1.0.8",
|
|
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
|
}
|