@zohodesk/components 1.2.63 → 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 +8 -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/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 +5 -2
- package/es/MultiSelect/__tests__/__snapshots__/MultiSelectHeader.spec.js.snap +34 -13
- package/es/MultiSelect/props/propTypes.js +3 -0
- package/es/Radio/props/propTypes.js +1 -1
- package/es/common/common.module.css +10 -0
- package/es/utils/dropDownUtils.js +33 -8
- 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/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 +5 -2
- package/lib/MultiSelect/__tests__/__snapshots__/MultiSelectHeader.spec.js.snap +34 -13
- package/lib/MultiSelect/props/propTypes.js +4 -1
- package/lib/Radio/props/propTypes.js +1 -1
- package/lib/common/common.module.css +10 -0
- package/lib/utils/dropDownUtils.js +41 -11
- package/lib/v1/Radio/props/propTypes.js +1 -1
- package/package.json +6 -6
- 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
|
}, {
|
|
@@ -98,6 +98,7 @@ var Suggestions = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
98
98
|
}, suggestions.map(function (suggestion, index) {
|
|
99
99
|
var id = suggestion.id,
|
|
100
100
|
value = suggestion.value,
|
|
101
|
+
secondaryValue = suggestion.secondaryValue,
|
|
101
102
|
photoURL = suggestion.photoURL,
|
|
102
103
|
icon = suggestion.icon,
|
|
103
104
|
optionType = suggestion.optionType,
|
|
@@ -143,7 +144,8 @@ var Suggestions = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
143
144
|
size: listItemSize,
|
|
144
145
|
avatarPalette: avatarPalette,
|
|
145
146
|
palette: palette,
|
|
146
|
-
a11y: list_a11y
|
|
147
|
+
a11y: list_a11y,
|
|
148
|
+
secondaryValue: secondaryValue
|
|
147
149
|
}));
|
|
148
150
|
} else if (optionType === 'icon') {
|
|
149
151
|
return /*#__PURE__*/_react["default"].createElement(_ListItemWithIcon["default"], _extends({}, commonProps, {
|
|
@@ -163,7 +165,8 @@ var Suggestions = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
163
165
|
iconSize: iconSize,
|
|
164
166
|
size: listItemSize,
|
|
165
167
|
palette: palette,
|
|
166
|
-
a11y: list_a11y
|
|
168
|
+
a11y: list_a11y,
|
|
169
|
+
secondaryValue: secondaryValue
|
|
167
170
|
}));
|
|
168
171
|
}
|
|
169
172
|
|
|
@@ -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>
|
|
@@ -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;
|
|
@@ -305,6 +307,7 @@ var AdvancedMultiSelect_propTypes = _objectSpread(_objectSpread({}, MultiSelect_
|
|
|
305
307
|
//For grouping multiSelect
|
|
306
308
|
optionType: _propTypes["default"].oneOf(['default', 'avatar', 'icon']),
|
|
307
309
|
needEffect: _propTypes["default"].bool,
|
|
310
|
+
secondaryField: _propTypes["default"].string,
|
|
308
311
|
animationStyle: _propTypes["default"].string,
|
|
309
312
|
defaultDropBoxPosition: _propTypes["default"].oneOf(['bottom', 'top', 'left', 'right']),
|
|
310
313
|
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,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
|
+
|
|
145
165
|
var getAllowValueFallback = function getAllowValueFallback(props) {
|
|
146
166
|
return props.allowValueFallback !== false;
|
|
147
167
|
};
|
|
148
168
|
|
|
149
169
|
var makeGetMultiSelectFilterSuggestions = function makeGetMultiSelectFilterSuggestions() {
|
|
150
|
-
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) {
|
|
151
171
|
var suggestions = [];
|
|
152
172
|
var suggestionIds = [];
|
|
153
173
|
options.forEach(function (option) {
|
|
154
|
-
var
|
|
155
|
-
|
|
174
|
+
var searchString = (0, _Common.getSearchString)(searchStr);
|
|
175
|
+
var _option$value = option.value,
|
|
156
176
|
value = _option$value === void 0 ? '' : _option$value;
|
|
157
177
|
var valueString = (0, _Common.getSearchString)(value);
|
|
158
|
-
var
|
|
159
|
-
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;
|
|
160
179
|
|
|
161
|
-
if (selectedOptions.indexOf(id) === -1 && isMatch || keepSelectedOptions) {
|
|
180
|
+
if (selectedOptions.indexOf(option.id) === -1 && isMatch || keepSelectedOptions) {
|
|
162
181
|
suggestions.push(option);
|
|
163
|
-
suggestionIds.push(id);
|
|
182
|
+
suggestionIds.push(option.id);
|
|
164
183
|
}
|
|
165
184
|
});
|
|
166
185
|
return {
|
|
@@ -232,7 +251,7 @@ var extractOptionIdFromJson = function extractOptionIdFromJson(id, localData) {
|
|
|
232
251
|
exports.extractOptionIdFromJson = extractOptionIdFromJson;
|
|
233
252
|
|
|
234
253
|
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) {
|
|
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) {
|
|
236
255
|
var revampOptions = [];
|
|
237
256
|
var remvampOptionIds = [];
|
|
238
257
|
var normalizedAllOptions = {};
|
|
@@ -243,23 +262,34 @@ var makeFormatOptions = function makeFormatOptions() {
|
|
|
243
262
|
var impValueField = option.valueField,
|
|
244
263
|
impTextField = option.textField,
|
|
245
264
|
impImageField = option.imageField,
|
|
265
|
+
impSecondaryField = option.secondaryField,
|
|
246
266
|
impOptionType = option.optionType,
|
|
247
267
|
impIconName = option.iconName,
|
|
248
268
|
impIconSize = option.iconSize,
|
|
249
269
|
listStyle = option.listItemProps;
|
|
250
270
|
var id = _typeof(option) === 'object' ? option[impValueField || valueField] : option;
|
|
251
271
|
var value = _typeof(option) === 'object' ? option[impTextField || textField] : allowValueFallback ? option : '';
|
|
272
|
+
var secondaryValue = _typeof(option) === 'object' ? option[impSecondaryField || secondaryField] : '';
|
|
252
273
|
var photoURL = _typeof(option) === 'object' ? option[impImageField || imageField] : ''; // grouping options (group select/MultiSelect)
|
|
253
274
|
|
|
254
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
|
+
}, {});
|
|
255
283
|
|
|
256
284
|
if (remvampOptionIds.indexOf(id) === -1 && !(0, _Common.getIsEmptyValue)(id) && !(0, _Common.getIsEmptyValue)(value)) {
|
|
257
285
|
remvampOptionIds.push(id);
|
|
258
|
-
|
|
286
|
+
|
|
287
|
+
var optionDetails = _objectSpread(_objectSpread({}, additionalSearchFieldData), {}, {
|
|
259
288
|
id: id,
|
|
260
289
|
value: value,
|
|
290
|
+
secondaryValue: secondaryValue,
|
|
261
291
|
optionType: impOptionType || optionType
|
|
262
|
-
};
|
|
292
|
+
});
|
|
263
293
|
|
|
264
294
|
if (imageField) {
|
|
265
295
|
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.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
|
}
|