@zohodesk/components 1.4.8 → 1.4.10-exp-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/propValidation_report.html +1 -1
- package/README.md +22 -0
- package/es/MultiSelect/AdvancedGroupMultiSelect.js +16 -8
- package/es/MultiSelect/AdvancedMultiSelect.js +13 -6
- package/es/MultiSelect/EmptyState.js +2 -1
- package/es/MultiSelect/MultiSelect.js +36 -15
- package/es/MultiSelect/MultiSelectWithAvatar.js +9 -2
- package/es/MultiSelect/SelectedOptions.js +4 -2
- package/es/MultiSelect/Suggestions.js +174 -97
- package/es/MultiSelect/__tests__/MultiSelect.spec.js +25 -0
- package/es/MultiSelect/__tests__/Suggestions.spec.js +58 -0
- package/es/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +253 -0
- package/es/MultiSelect/__tests__/__snapshots__/Suggestions.spec.js.snap +343 -0
- package/es/MultiSelect/constants.js +6 -0
- package/es/MultiSelect/props/defaultProps.js +2 -0
- package/es/MultiSelect/props/propTypes.js +18 -55
- package/es/Select/Select.js +13 -3
- package/es/Select/SelectWithIcon.js +1 -1
- package/es/Select/__tests__/Select.spec.js +16 -8
- package/es/Select/__tests__/__snapshots__/Select.spec.js.snap +281 -0
- package/es/Select/props/defaultProps.js +1 -0
- package/es/Select/props/propTypes.js +1 -0
- package/es/utils/Common.js +3 -2
- package/es/utils/dropDownUtils.js +28 -7
- package/lib/MultiSelect/AdvancedGroupMultiSelect.js +94 -83
- package/lib/MultiSelect/AdvancedMultiSelect.js +16 -7
- package/lib/MultiSelect/EmptyState.js +3 -1
- package/lib/MultiSelect/MultiSelect.js +39 -15
- package/lib/MultiSelect/MultiSelectWithAvatar.js +11 -3
- package/lib/MultiSelect/SelectedOptions.js +4 -2
- package/lib/MultiSelect/Suggestions.js +176 -100
- package/lib/MultiSelect/__tests__/MultiSelect.spec.js +25 -0
- package/lib/MultiSelect/__tests__/Suggestions.spec.js +58 -0
- package/lib/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +253 -0
- package/lib/MultiSelect/__tests__/__snapshots__/Suggestions.spec.js.snap +343 -0
- package/lib/MultiSelect/constants.js +13 -0
- package/lib/MultiSelect/props/defaultProps.js +2 -0
- package/lib/MultiSelect/props/propTypes.js +17 -55
- package/lib/Select/Select.js +13 -2
- package/lib/Select/SelectWithIcon.js +1 -1
- package/lib/Select/__tests__/Select.spec.js +165 -155
- package/lib/Select/__tests__/__snapshots__/Select.spec.js.snap +281 -0
- package/lib/Select/props/defaultProps.js +1 -0
- package/lib/Select/props/propTypes.js +1 -0
- package/lib/utils/Common.js +5 -3
- package/lib/utils/dropDownUtils.js +27 -4
- package/package.json +9 -8
|
@@ -50,17 +50,20 @@ var MultiSelect_propTypes = {
|
|
|
50
50
|
disableAction: _propTypes["default"].bool,
|
|
51
51
|
dropBoxSize: _propTypes["default"].oneOf(['small', 'medium', 'large']),
|
|
52
52
|
emptyMessage: _propTypes["default"].string.isRequired,
|
|
53
|
+
isVirtualizerEnabled: _propTypes["default"].bool,
|
|
53
54
|
getContainerRef: _propTypes["default"].func,
|
|
54
55
|
getNextOptions: _propTypes["default"].func,
|
|
55
56
|
getPublicMethods: _propTypes["default"].func,
|
|
56
57
|
getRef: _propTypes["default"].func,
|
|
57
58
|
getTargetRef: _propTypes["default"].func,
|
|
58
59
|
i18nKeys: _propTypes["default"].shape({
|
|
60
|
+
searchText: _propTypes["default"].string,
|
|
59
61
|
clearText: _propTypes["default"].string,
|
|
60
62
|
loadingText: _propTypes["default"].string,
|
|
61
63
|
emptyText: _propTypes["default"].string,
|
|
62
64
|
noMoreText: _propTypes["default"].string,
|
|
63
|
-
searchEmptyText: _propTypes["default"].string
|
|
65
|
+
searchEmptyText: _propTypes["default"].string,
|
|
66
|
+
limitReachedMessage: _propTypes["default"].string
|
|
64
67
|
}),
|
|
65
68
|
a11y: _propTypes["default"].shape({
|
|
66
69
|
clearLabel: _propTypes["default"].string
|
|
@@ -135,7 +138,8 @@ var MultiSelect_propTypes = {
|
|
|
135
138
|
isFocus: _propTypes["default"].bool,
|
|
136
139
|
allowValueFallback: _propTypes["default"].bool,
|
|
137
140
|
renderCustomClearComponent: _propTypes["default"].func,
|
|
138
|
-
renderCustomToggleIndicator: _propTypes["default"].oneOfType([_propTypes["default"].func, _propTypes["default"].node])
|
|
141
|
+
renderCustomToggleIndicator: _propTypes["default"].oneOfType([_propTypes["default"].func, _propTypes["default"].node]),
|
|
142
|
+
limit: _propTypes["default"].number
|
|
139
143
|
};
|
|
140
144
|
exports.MultiSelect_propTypes = MultiSelect_propTypes;
|
|
141
145
|
var MultiSelectHeader_propTypes = {
|
|
@@ -176,7 +180,8 @@ var SelectedOptions_propTypes = {
|
|
|
176
180
|
})),
|
|
177
181
|
size: _propTypes["default"].oneOf(['medium', 'xmedium']),
|
|
178
182
|
palette: _propTypes["default"].string,
|
|
179
|
-
dataId: _propTypes["default"].string
|
|
183
|
+
dataId: _propTypes["default"].string,
|
|
184
|
+
limit: _propTypes["default"].number
|
|
180
185
|
};
|
|
181
186
|
exports.SelectedOptions_propTypes = SelectedOptions_propTypes;
|
|
182
187
|
var Suggestions_propTypes = {
|
|
@@ -188,6 +193,8 @@ var Suggestions_propTypes = {
|
|
|
188
193
|
avatarPalette: _propTypes["default"].string,
|
|
189
194
|
className: _propTypes["default"].string,
|
|
190
195
|
dataId: _propTypes["default"].string,
|
|
196
|
+
isVirtualizerEnabled: _propTypes["default"].bool,
|
|
197
|
+
setVirtualizerContainerRefFunction: _propTypes["default"].func,
|
|
191
198
|
getRef: _propTypes["default"].func,
|
|
192
199
|
hoverId: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
|
|
193
200
|
hoverOption: _propTypes["default"].number,
|
|
@@ -207,7 +214,9 @@ var Suggestions_propTypes = {
|
|
|
207
214
|
logo: _propTypes["default"].string,
|
|
208
215
|
optionType: _propTypes["default"].string,
|
|
209
216
|
listItemProps: _propTypes["default"].object
|
|
210
|
-
}))
|
|
217
|
+
})),
|
|
218
|
+
limit: _propTypes["default"].number,
|
|
219
|
+
limitReachedMessage: _propTypes["default"].string
|
|
211
220
|
};
|
|
212
221
|
exports.Suggestions_propTypes = Suggestions_propTypes;
|
|
213
222
|
var AdvancedGroupMultiSelect_propTypes = (_AdvancedGroupMultiSe = {
|
|
@@ -226,7 +235,8 @@ var AdvancedGroupMultiSelect_propTypes = (_AdvancedGroupMultiSe = {
|
|
|
226
235
|
loadingText: _propTypes["default"].string,
|
|
227
236
|
emptyText: _propTypes["default"].string,
|
|
228
237
|
noMoreText: _propTypes["default"].string,
|
|
229
|
-
searchEmptyText: _propTypes["default"].string
|
|
238
|
+
searchEmptyText: _propTypes["default"].string,
|
|
239
|
+
limitReachedMessage: _propTypes["default"].string
|
|
230
240
|
}),
|
|
231
241
|
a11y: _propTypes["default"].shape({
|
|
232
242
|
clearLabel: _propTypes["default"].string
|
|
@@ -278,7 +288,7 @@ var AdvancedGroupMultiSelect_propTypes = (_AdvancedGroupMultiSe = {
|
|
|
278
288
|
needToCloseOnSelect: _propTypes["default"].func,
|
|
279
289
|
searchStr: _propTypes["default"].string,
|
|
280
290
|
children: _propTypes["default"].node
|
|
281
|
-
}, _defineProperty(_AdvancedGroupMultiSe, "dataSelectorId", _propTypes["default"].string), _defineProperty(_AdvancedGroupMultiSe, "isFocus", _propTypes["default"].bool), _defineProperty(_AdvancedGroupMultiSe, "allowValueFallback", _propTypes["default"].bool), _AdvancedGroupMultiSe);
|
|
291
|
+
}, _defineProperty(_AdvancedGroupMultiSe, "dataSelectorId", _propTypes["default"].string), _defineProperty(_AdvancedGroupMultiSe, "isFocus", _propTypes["default"].bool), _defineProperty(_AdvancedGroupMultiSe, "allowValueFallback", _propTypes["default"].bool), _defineProperty(_AdvancedGroupMultiSe, "limit", _propTypes["default"].number), _AdvancedGroupMultiSe);
|
|
282
292
|
exports.AdvancedGroupMultiSelect_propTypes = AdvancedGroupMultiSelect_propTypes;
|
|
283
293
|
|
|
284
294
|
var AdvancedMultiSelect_propTypes = _objectSpread(_objectSpread({}, MultiSelect_propTypes), {}, {
|
|
@@ -293,70 +303,22 @@ var AdvancedMultiSelect_propTypes = _objectSpread(_objectSpread({}, MultiSelect_
|
|
|
293
303
|
selectedOptions: _propTypes["default"].arrayOf(_propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number])).isRequired,
|
|
294
304
|
selectedOptionsLimit: _propTypes["default"].number,
|
|
295
305
|
getSelectedOptionDetails: _propTypes["default"].func,
|
|
296
|
-
emptyMessage: _propTypes["default"].string.isRequired,
|
|
297
|
-
isDisabled: _propTypes["default"].bool,
|
|
298
|
-
isReadOnly: _propTypes["default"].bool,
|
|
299
|
-
needLocalSearch: _propTypes["default"].bool,
|
|
300
|
-
needSelectAll: _propTypes["default"].bool,
|
|
301
|
-
onChange: _propTypes["default"].func.isRequired,
|
|
302
|
-
searchEmptyMessage: _propTypes["default"].string,
|
|
303
|
-
placeHolder: _propTypes["default"].string,
|
|
304
|
-
selectAllText: _propTypes["default"].string,
|
|
305
|
-
textField: _propTypes["default"].string,
|
|
306
|
-
valueField: _propTypes["default"].string,
|
|
307
306
|
imageField: _propTypes["default"].string,
|
|
308
307
|
iconName: _propTypes["default"].string,
|
|
309
308
|
prefixText: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
|
|
310
309
|
//For grouping multiSelect
|
|
311
310
|
optionType: _propTypes["default"].oneOf(['default', 'avatar', 'icon']),
|
|
312
|
-
needEffect: _propTypes["default"].bool,
|
|
313
311
|
secondaryField: _propTypes["default"].string,
|
|
314
|
-
animationStyle: _propTypes["default"].string,
|
|
315
|
-
defaultDropBoxPosition: _propTypes["default"].oneOf(['bottom', 'top', 'left', 'right']),
|
|
316
|
-
dropBoxSize: _propTypes["default"].oneOf(['small', 'medium', 'large']),
|
|
317
|
-
isAnimate: _propTypes["default"].bool,
|
|
318
|
-
size: _propTypes["default"].oneOf(['medium', 'xmedium']),
|
|
319
|
-
textBoxSize: _propTypes["default"].oneOf(['small', 'medium', 'xmedium']),
|
|
320
|
-
title: _propTypes["default"].string,
|
|
321
|
-
variant: _propTypes["default"].string,
|
|
322
312
|
dataIdClearIcon: _propTypes["default"].string,
|
|
323
313
|
dataIdLoading: _propTypes["default"].string,
|
|
324
314
|
dataIdMultiSelectComp: _propTypes["default"].string,
|
|
325
315
|
dataIdSelectAllEle: _propTypes["default"].string,
|
|
326
|
-
|
|
327
|
-
/**** Popup Props ****/
|
|
328
|
-
isPopupOpen: _propTypes["default"].bool,
|
|
329
|
-
isPopupReady: _propTypes["default"].bool,
|
|
330
|
-
togglePopup: _propTypes["default"].func,
|
|
331
|
-
getContainerRef: _propTypes["default"].func,
|
|
332
|
-
position: _propTypes["default"].string,
|
|
333
|
-
removeClose: _propTypes["default"].func,
|
|
334
316
|
listItemSize: _propTypes["default"].oneOf(['small', 'medium', 'large']),
|
|
335
|
-
needBorder: _propTypes["default"].bool,
|
|
336
|
-
htmlId: _propTypes["default"].string,
|
|
337
|
-
i18nKeys: _propTypes["default"].shape({
|
|
338
|
-
clearText: _propTypes["default"].string,
|
|
339
|
-
loadingText: _propTypes["default"].string,
|
|
340
|
-
emptyText: _propTypes["default"].string,
|
|
341
|
-
noMoreText: _propTypes["default"].string,
|
|
342
|
-
searchEmptyText: _propTypes["default"].string
|
|
343
|
-
}),
|
|
344
|
-
a11y: _propTypes["default"].shape({
|
|
345
|
-
clearLabel: _propTypes["default"].string
|
|
346
|
-
}),
|
|
347
|
-
borderColor: _propTypes["default"].oneOf(['transparent', 'default', 'dark']),
|
|
348
|
-
isBoxPaddingNeed: _propTypes["default"].bool,
|
|
349
|
-
isSearchClearOnSelect: _propTypes["default"].bool,
|
|
350
|
-
disabledOptions: _propTypes["default"].arrayOf(_propTypes["default"].string),
|
|
351
|
-
getFooter: _propTypes["default"].func,
|
|
352
317
|
customProps: _propTypes["default"].shape({
|
|
353
318
|
SuggestionsProps: _propTypes["default"].object,
|
|
354
319
|
DropBoxProps: _propTypes["default"].object
|
|
355
320
|
}),
|
|
356
|
-
|
|
357
|
-
dataSelectorId: _propTypes["default"].string,
|
|
358
|
-
customClass: _propTypes["default"].object,
|
|
359
|
-
isFocus: _propTypes["default"].bool
|
|
321
|
+
customClass: _propTypes["default"].object
|
|
360
322
|
});
|
|
361
323
|
|
|
362
324
|
exports.AdvancedMultiSelect_propTypes = AdvancedMultiSelect_propTypes;
|
package/lib/Select/Select.js
CHANGED
|
@@ -168,6 +168,7 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
|
|
|
168
168
|
_this.handleAddNewOption = _this.handleAddNewOption.bind(_assertThisInitialized(_this));
|
|
169
169
|
_this.handleExposePopupHandlers = _this.handleExposePopupHandlers.bind(_assertThisInitialized(_this));
|
|
170
170
|
_this.handleGetAddNewOptionText = _this.handleGetAddNewOptionText.bind(_assertThisInitialized(_this));
|
|
171
|
+
_this.setSuggestionsVirtualizerContainerRefFunction = _this.setSuggestionsVirtualizerContainerRefFunction.bind(_assertThisInitialized(_this));
|
|
171
172
|
_this.valueInputTypeString = '';
|
|
172
173
|
_this.valueInputSearchString = '';
|
|
173
174
|
_this.autoSelectSuggestions = [];
|
|
@@ -309,9 +310,9 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
|
|
|
309
310
|
textField = props.textField,
|
|
310
311
|
allowValueFallback = props.allowValueFallback,
|
|
311
312
|
_props$customProps = props.customProps,
|
|
312
|
-
customProps = _props$customProps === void 0 ?
|
|
313
|
+
customProps = _props$customProps === void 0 ? _dropDownUtils.dummyObj : _props$customProps;
|
|
313
314
|
var _customProps$listItem = customProps.listItemProps,
|
|
314
|
-
listItemProps = _customProps$listItem === void 0 ?
|
|
315
|
+
listItemProps = _customProps$listItem === void 0 ? _dropDownUtils.dummyObj : _customProps$listItem;
|
|
315
316
|
return this.formatOptions({
|
|
316
317
|
options: options,
|
|
317
318
|
valueField: valueField,
|
|
@@ -574,6 +575,7 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
|
|
|
574
575
|
key: "suggestionContainerRef",
|
|
575
576
|
value: function suggestionContainerRef(el) {
|
|
576
577
|
this.suggestionContainer = el;
|
|
578
|
+
typeof this.setSuggestionsVirtualizerRef === 'function' && this.setSuggestionsVirtualizerRef(el);
|
|
577
579
|
}
|
|
578
580
|
}, {
|
|
579
581
|
key: "suggestionItemRef",
|
|
@@ -721,6 +723,12 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
|
|
|
721
723
|
onAddNewOption: this.handleAddNewOption
|
|
722
724
|
});
|
|
723
725
|
}
|
|
726
|
+
}, {
|
|
727
|
+
key: "setSuggestionsVirtualizerContainerRefFunction",
|
|
728
|
+
value: function setSuggestionsVirtualizerContainerRefFunction(refFunc) {
|
|
729
|
+
this.setSuggestionsVirtualizerRef = refFunc;
|
|
730
|
+
this.suggestionContainer && refFunc(this.suggestionContainer);
|
|
731
|
+
}
|
|
724
732
|
}, {
|
|
725
733
|
key: "render",
|
|
726
734
|
value: function render() {
|
|
@@ -777,6 +785,7 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
|
|
|
777
785
|
targetOffset = _this$props11.targetOffset,
|
|
778
786
|
isRestrictScroll = _this$props11.isRestrictScroll,
|
|
779
787
|
dropBoxPortalId = _this$props11.dropBoxPortalId,
|
|
788
|
+
isVirtualizerEnabled = _this$props11.isVirtualizerEnabled,
|
|
780
789
|
renderCustomToggleIndicator = _this$props11.renderCustomToggleIndicator,
|
|
781
790
|
renderCustomSearchClearComponent = _this$props11.renderCustomSearchClearComponent;
|
|
782
791
|
var _i18nKeys = i18nKeys,
|
|
@@ -976,6 +985,8 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
|
|
|
976
985
|
eleRef: _this7.suggestionContainerRef
|
|
977
986
|
}, suggestions.length ? /*#__PURE__*/_react["default"].createElement(_Suggestions["default"], _extends({
|
|
978
987
|
activeId: selectedId,
|
|
988
|
+
isVirtualizerEnabled: isVirtualizerEnabled,
|
|
989
|
+
setVirtualizerContainerRefFunction: _this7.setSuggestionsVirtualizerContainerRefFunction,
|
|
979
990
|
suggestions: suggestions,
|
|
980
991
|
getRef: _this7.suggestionItemRef,
|
|
981
992
|
hoverOption: hoverIndex,
|
|
@@ -261,7 +261,7 @@ var SelectWithIcon = /*#__PURE__*/function (_Component) {
|
|
|
261
261
|
|
|
262
262
|
if (options.length) {
|
|
263
263
|
datas = options.filter(function (obj) {
|
|
264
|
-
return obj[valueKey].toLowerCase().includes(searchValue.toLowerCase());
|
|
264
|
+
return obj[valueKey].toLowerCase().includes(searchValue.toLowerCase().trim());
|
|
265
265
|
});
|
|
266
266
|
}
|
|
267
267
|
|