@zohodesk/components 1.2.2 → 1.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/.cli/PropLessFiles.html +1 -1
  2. package/.cli/PropValidationExcludeFilesArray.js +10 -2
  3. package/.cli/propValidation_report.html +1 -1
  4. package/README.md +10 -0
  5. package/assets/Appearance/dark/mode/Component_DarkMode.module.css +1 -0
  6. package/assets/Appearance/light/mode/Component_LightMode.module.css +1 -0
  7. package/assets/Appearance/pureDark/mode/Component_PureDarkMode.module.css +1 -0
  8. package/coverage/Button/Button.js.html +1 -1
  9. package/coverage/Button/css/Button.module.css.html +1 -1
  10. package/coverage/Button/css/cssJSLogic.js.html +1 -1
  11. package/coverage/Button/css/index.html +1 -1
  12. package/coverage/Button/index.html +1 -1
  13. package/coverage/Button/props/defaultProps.js.html +1 -1
  14. package/coverage/Button/props/index.html +1 -1
  15. package/coverage/Button/props/propTypes.js.html +9 -3
  16. package/coverage/Buttongroup/Buttongroup.js.html +1 -1
  17. package/coverage/Buttongroup/Buttongroup.module.css.html +1 -1
  18. package/coverage/Buttongroup/index.html +1 -1
  19. package/coverage/Buttongroup/props/defaultProps.js.html +1 -1
  20. package/coverage/Buttongroup/props/index.html +1 -1
  21. package/coverage/Buttongroup/props/propTypes.js.html +1 -1
  22. package/coverage/coverage-final.json +10 -10
  23. package/coverage/coverage-summary.json +10 -10
  24. package/coverage/index.html +1 -1
  25. package/coverage/utils/dummyFunction.js.html +1 -1
  26. package/coverage/utils/index.html +1 -1
  27. package/es/Button/props/propTypes.js +3 -1
  28. package/es/MultiSelect/AdvancedGroupMultiSelect.js +2 -3
  29. package/es/MultiSelect/AdvancedMultiSelect.js +2 -3
  30. package/es/MultiSelect/MobileHeader/MobileHeader.js +50 -0
  31. package/es/MultiSelect/MobileHeader/MobileHeader.module.css +16 -0
  32. package/es/MultiSelect/MobileHeader/props/defaultProps.js +7 -0
  33. package/es/MultiSelect/MobileHeader/props/propTypes.js +7 -0
  34. package/es/MultiSelect/MultiSelect.js +112 -91
  35. package/es/MultiSelect/MultiSelect.module.css +2 -5
  36. package/es/MultiSelect/MultiSelectHeader.js +1 -2
  37. package/es/MultiSelect/MultiSelectWithAvatar.js +14 -112
  38. package/es/MultiSelect/props/defaultProps.js +3 -1
  39. package/es/MultiSelect/props/propTypes.js +9 -57
  40. package/es/deprecated/PortalLayer/props/propTypes.js +3 -1
  41. package/es/index.js +2 -1
  42. package/lib/Button/props/propTypes.js +3 -1
  43. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +2 -3
  44. package/lib/MultiSelect/AdvancedMultiSelect.js +2 -3
  45. package/lib/MultiSelect/MobileHeader/MobileHeader.js +62 -0
  46. package/lib/MultiSelect/MobileHeader/MobileHeader.module.css +16 -0
  47. package/lib/MultiSelect/MobileHeader/props/defaultProps.js +14 -0
  48. package/lib/MultiSelect/MobileHeader/props/propTypes.js +18 -0
  49. package/lib/MultiSelect/MultiSelect.js +116 -96
  50. package/lib/MultiSelect/MultiSelect.module.css +2 -5
  51. package/lib/MultiSelect/MultiSelectHeader.js +1 -2
  52. package/lib/MultiSelect/MultiSelectWithAvatar.js +17 -113
  53. package/lib/MultiSelect/props/defaultProps.js +3 -1
  54. package/lib/MultiSelect/props/propTypes.js +19 -60
  55. package/lib/deprecated/PortalLayer/props/propTypes.js +3 -1
  56. package/lib/index.js +10 -1
  57. package/package.json +11 -11
  58. package/result.json +1 -1
@@ -62,7 +62,8 @@ export const AdvancedGroupMultiSelect_propTypes = {
62
62
  onChange: PropTypes.func,
63
63
  needToCloseOnSelect: PropTypes.func,
64
64
  searchStr: PropTypes.string,
65
- children: PropTypes.node
65
+ children: PropTypes.node,
66
+ dataSelectorId: PropTypes.string
66
67
  };
67
68
  export const AdvancedMultiSelect_propTypes = {
68
69
  id: PropTypes.string.isRequired,
@@ -164,7 +165,7 @@ export const MultiSelect_propTypes = {
164
165
  borderColor: PropTypes.oneOf(['transparent', 'default', 'dark']),
165
166
  closePopupOnly: PropTypes.func,
166
167
  dataId: PropTypes.string,
167
- defaultDropBoxPosition: PropTypes.string,
168
+ defaultDropBoxPosition: PropTypes.oneOf(['bottom', 'top', 'left', 'right']),
168
169
  disableAction: PropTypes.bool,
169
170
  dropBoxSize: PropTypes.oneOf(['small', 'medium', 'large']),
170
171
  emptyMessage: PropTypes.string.isRequired,
@@ -197,7 +198,6 @@ export const MultiSelect_propTypes = {
197
198
  needBorder: PropTypes.bool,
198
199
  needLocalSearch: PropTypes.bool,
199
200
  needResponsive: PropTypes.bool,
200
- needSelectAll: PropTypes.bool,
201
201
  needToCloseOnSelect: PropTypes.bool,
202
202
  //For Group multiSelect
203
203
  noMoreOptionsMessage: PropTypes.string,
@@ -219,7 +219,6 @@ export const MultiSelect_propTypes = {
219
219
  removeClose: PropTypes.func,
220
220
  searchDebounceTime: PropTypes.number,
221
221
  searchEmptyMessage: PropTypes.string,
222
- selectAllText: PropTypes.string,
223
222
  selectedOptions: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])).isRequired,
224
223
  size: PropTypes.oneOf(['medium', 'xmedium']),
225
224
  textBoxClass: PropTypes.string,
@@ -239,77 +238,30 @@ export const MultiSelect_propTypes = {
239
238
  boxSize: PropTypes.string,
240
239
  isLoading: PropTypes.bool,
241
240
  dataSelectorId: PropTypes.string,
242
- keepSelectedOptions: PropTypes.bool
241
+ keepSelectedOptions: PropTypes.bool,
242
+ needSelectAll: PropTypes.bool,
243
+ selectAllText: PropTypes.string,
244
+ setAriaId: PropTypes.string,
245
+ ariaErrorId: PropTypes.string
243
246
  };
244
247
  export const MultiSelectHeader_propTypes = {
245
248
  dataId: PropTypes.string,
246
- needSelectAll: PropTypes.bool,
247
249
  onSelect: PropTypes.func,
248
250
  selectAllText: PropTypes.string,
249
251
  suggestions: PropTypes.array
250
252
  };
251
253
  export const MultiSelectWithAvatar_propTypes = {
252
- dropBoxSize: PropTypes.oneOf(['small', 'medium', 'large']),
253
254
  options: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])), PropTypes.arrayOf(PropTypes.shape({
254
255
  id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
255
256
  text: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
256
257
  photoURL: PropTypes.string
257
258
  }))]).isRequired,
258
- placeHolder: PropTypes.string,
259
- emptyMessage: PropTypes.string.isRequired,
260
- valueField: PropTypes.string,
261
- textField: PropTypes.string,
262
259
  imageField: PropTypes.string,
263
- isReadOnly: PropTypes.bool,
264
- needSelectAll: PropTypes.bool,
265
- selectAllText: PropTypes.string,
266
- defaultDropBoxPosition: PropTypes.oneOf(['bottom', 'top', 'left', 'right']),
267
- searchEmptyMessage: PropTypes.string,
268
- noMoreOptionsMessage: PropTypes.string,
269
- isAnimate: PropTypes.bool,
270
- animationStyle: PropTypes.string,
271
- size: PropTypes.oneOf(['medium', 'xmedium']),
272
- textBoxSize: PropTypes.oneOf(['small', 'medium', 'xmedium']),
273
- variant: PropTypes.string,
274
- isDisabled: PropTypes.bool,
275
- title: PropTypes.string,
276
- needResponsive: PropTypes.bool,
277
- dataId: PropTypes.string,
278
- borderColor: PropTypes.oneOf(['transparent', 'default']),
279
- textBoxClass: PropTypes.string,
280
- needBorder: PropTypes.bool,
281
- disableAction: PropTypes.bool,
282
- palette: PropTypes.oneOf(['default', 'dark']),
283
- htmlId: PropTypes.string,
284
- isBoxPaddingNeed: PropTypes.bool,
285
- needEffect: PropTypes.bool,
286
- keepSelectedOptions: PropTypes.bool,
287
260
  customProps: PropTypes.shape({
288
261
  SuggestionsProps: PropTypes.object,
289
262
  DropBoxProps: PropTypes.object
290
263
  }),
291
-
292
- /**** Popup props ****/
293
- isPopupOpen: PropTypes.bool,
294
- isPopupReady: PropTypes.bool,
295
- removeClose: PropTypes.func,
296
- position: PropTypes.string,
297
- getContainerRef: PropTypes.func,
298
- i18nKeys: PropTypes.shape({
299
- clearText: PropTypes.string,
300
- loadingText: PropTypes.string,
301
- emptyText: PropTypes.string,
302
- noMoreText: PropTypes.string,
303
- searchEmptyText: PropTypes.string
304
- }),
305
- a11y: PropTypes.shape({
306
- clearLabel: PropTypes.string
307
- }),
308
- children: PropTypes.node,
309
- customChildrenClass: PropTypes.string,
310
- disabledOptions: PropTypes.arrayOf(PropTypes.string),
311
- isLoading: PropTypes.bool,
312
- dataSelectorId: PropTypes.string
264
+ ...MultiSelect_propTypes
313
265
  };
314
266
  export const SelectedOptions_propTypes = {
315
267
  getRef: PropTypes.func,
@@ -7,7 +7,9 @@ export const propTypes = {
7
7
  portalId: PropTypes.string,
8
8
  renderChildren: PropTypes.func,
9
9
  saveGetFunction: PropTypes.func,
10
- saveUpdateFunction: PropTypes.func
10
+ saveUpdateFunction: PropTypes.func,
11
+ isActive: PropTypes.bool,
12
+ name: PropTypes.string
11
13
  };
12
14
  export const RefElement_propTypes = {
13
15
  Element: PropTypes.node,
package/es/index.js CHANGED
@@ -38,4 +38,5 @@ export { default as Tooltip } from './Tooltip/Tooltip';
38
38
  import * as _utils from './utils';
39
39
  export { _utils as utils };
40
40
  export * from './VelocityAnimation';
41
- export * from './semantic';
41
+ export * from './semantic';
42
+ export { default as Typography } from './v1/Typography/Typography';
@@ -30,7 +30,9 @@ var propTypes = {
30
30
  customStatusSize: _propTypes["default"].string
31
31
  }),
32
32
  customStyle: _propTypes["default"].object,
33
- customProps: _propTypes["default"].object
33
+ customProps: _propTypes["default"].object,
34
+ id: _propTypes["default"].string,
35
+ a11y: _propTypes["default"].object
34
36
  };
35
37
  exports.propTypes = propTypes;
36
38
  var _default = propTypes;
@@ -1090,13 +1090,12 @@ var AdvancedGroupMultiSelect = /*#__PURE__*/function (_React$Component) {
1090
1090
  }, /*#__PURE__*/_react["default"].createElement(_Card["default"], {
1091
1091
  customClass: "".concat(_MultiSelectModule["default"].box, " ").concat(_MultiSelectModule["default"]["".concat(palette, "Box")]),
1092
1092
  onScroll: _this5.handleScroll
1093
- }, /*#__PURE__*/_react["default"].createElement(_Card.CardHeader, null, /*#__PURE__*/_react["default"].createElement(_MultiSelectHeader["default"], {
1094
- needSelectAll: needSelectAll,
1093
+ }, needSelectAll ? /*#__PURE__*/_react["default"].createElement(_Card.CardHeader, null, /*#__PURE__*/_react["default"].createElement(_MultiSelectHeader["default"], {
1095
1094
  onSelect: _this5.handleSelectAll,
1096
1095
  selectAllText: selectAllText,
1097
1096
  suggestions: suggestionOptionIds,
1098
1097
  dataId: dataId
1099
- })), isDataLoaded ? /*#__PURE__*/_react["default"].createElement(_Card.CardContent, {
1098
+ })) : null, isDataLoaded ? /*#__PURE__*/_react["default"].createElement(_Card.CardContent, {
1100
1099
  shrink: true,
1101
1100
  customClass: !tabletMode && dropBoxSize ? _MultiSelectModule["default"][dropBoxSize] : '',
1102
1101
  eleRef: _this5.suggestionContainerRef
@@ -575,13 +575,12 @@ var AdvancedMultiSelectComponent = /*#__PURE__*/function (_MultiSelectComponent)
575
575
  }, /*#__PURE__*/_react["default"].createElement(_Card["default"], {
576
576
  customClass: _MultiSelectModule["default"].box,
577
577
  onScroll: _this4.handleScroll
578
- }, /*#__PURE__*/_react["default"].createElement(_Card.CardHeader, null, /*#__PURE__*/_react["default"].createElement(_MultiSelectHeader["default"], {
579
- needSelectAll: needSelectAll,
578
+ }, needSelectAll ? /*#__PURE__*/_react["default"].createElement(_Card.CardHeader, null, /*#__PURE__*/_react["default"].createElement(_MultiSelectHeader["default"], {
580
579
  onSelect: _this4.handleSelectAll,
581
580
  selectAllText: selectAllText,
582
581
  suggestions: suggestions,
583
582
  dataId: dataIdSelectAllEle
584
- })), /*#__PURE__*/_react["default"].createElement(_Card.CardContent, {
583
+ })) : null, /*#__PURE__*/_react["default"].createElement(_Card.CardContent, {
585
584
  shrink: true,
586
585
  customClass: !tabletMode && dropBoxSize ? _MultiSelectModule["default"][dropBoxSize] : '',
587
586
  eleRef: _this4.suggestionContainerRef
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = MobileHeader;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _Button = _interopRequireDefault(require("../../Button/Button"));
11
+
12
+ var _Layout = require("../../Layout");
13
+
14
+ var _defaultProps = require("./props/defaultProps");
15
+
16
+ var _propTypes = require("./props/propTypes");
17
+
18
+ var _MobileHeaderModule = _interopRequireDefault(require("./MobileHeader.module.css"));
19
+
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
21
+
22
+ function MobileHeader(props) {
23
+ var i18nKeys = props.i18nKeys,
24
+ onClick = props.onClick,
25
+ selectedOptions = props.selectedOptions,
26
+ children = props.children;
27
+ var i18nText = Object.assign({}, i18nKeys, {
28
+ mobileHeaderText: i18nKeys.mobileHeaderText ? "".concat(i18nKeys.mobileHeaderText) : "".concat(selectedOptions.length, " Selected")
29
+ });
30
+ var mobilePrimaryButtonText = i18nText.mobilePrimaryButtonText,
31
+ mobileSecondaryButtonText = i18nText.mobileSecondaryButtonText,
32
+ mobileHeaderText = i18nText.mobileHeaderText;
33
+ var showMobileHeader = i18nKeys.mobileHeaderText || !i18nKeys.mobileHeaderText && selectedOptions.length >= 1;
34
+ return /*#__PURE__*/_react["default"].createElement("div", {
35
+ className: _MobileHeaderModule["default"].container
36
+ }, /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
37
+ isCover: false,
38
+ align: "vertical",
39
+ alignContent: "between",
40
+ alignBox: "row",
41
+ className: _MobileHeaderModule["default"].header
42
+ }, /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
43
+ className: _MobileHeaderModule["default"].cardHeading,
44
+ "data-title": showMobileHeader ? mobileHeaderText : null,
45
+ flexible: true
46
+ }, showMobileHeader && mobileHeaderText), /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
47
+ shrink: true
48
+ }, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
49
+ onClick: onClick,
50
+ isBold: true,
51
+ size: "medium",
52
+ text: selectedOptions.length >= 1 ? mobilePrimaryButtonText : mobileSecondaryButtonText,
53
+ palette: "plainPrimary",
54
+ customClass: {
55
+ customButton: _MobileHeaderModule["default"].buttonText
56
+ },
57
+ "data-title": mobilePrimaryButtonText
58
+ }))), children);
59
+ }
60
+
61
+ MobileHeader.defaultProps = _defaultProps.defaultProps;
62
+ MobileHeader.propTypes = _propTypes.propTypes;
@@ -0,0 +1,16 @@
1
+ .container{
2
+ padding: 0 var(--zd_size20) var(--zd_size12) var(--zd_size20) ;
3
+ }
4
+ .header{
5
+ padding-bottom: var(--zd_size4) ;
6
+ }
7
+ .cardHeading{
8
+ font-size: var(--zd_font_size16) ;
9
+ color: var(--zdt_multiselect_res_title_text);
10
+ composes: bold dotted from '../../common/common.module.css'
11
+ }
12
+ .buttonText{
13
+ font-size: var(--zd_font_size15) ;
14
+ composes: dotted from '../../common/common.module.css';
15
+ padding: 0
16
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.defaultProps = void 0;
7
+ var defaultProps = {
8
+ selectedOptions: [],
9
+ i18nKeys: {
10
+ mobilePrimaryButtonText: 'Done',
11
+ mobileSecondaryButtonText: 'Close'
12
+ }
13
+ };
14
+ exports.defaultProps = defaultProps;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.propTypes = void 0;
7
+
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
+
12
+ var propTypes = {
13
+ i18nKeys: _propTypes["default"].object,
14
+ onClick: _propTypes["default"].func,
15
+ selectedOptions: _propTypes["default"].array,
16
+ children: _propTypes["default"].node
17
+ };
18
+ exports.propTypes = propTypes;
@@ -13,6 +13,8 @@ var _propTypes = require("./props/propTypes");
13
13
 
14
14
  var _defaultProps = require("./props/defaultProps");
15
15
 
16
+ var _defaultProps2 = require("./MobileHeader/props/defaultProps");
17
+
16
18
  var _Popup = _interopRequireDefault(require("../Popup/Popup"));
17
19
 
18
20
  var _TextBoxIcon = _interopRequireDefault(require("../TextBoxIcon/TextBoxIcon"));
@@ -27,8 +29,6 @@ var _Suggestions = _interopRequireDefault(require("./Suggestions"));
27
29
 
28
30
  var _EmptyState = _interopRequireDefault(require("./EmptyState"));
29
31
 
30
- var _MultiSelectHeader = _interopRequireDefault(require("./MultiSelectHeader"));
31
-
32
32
  var _CssProvider = _interopRequireDefault(require("../Provider/CssProvider"));
33
33
 
34
34
  var _IdProvider = require("../Provider/IdProvider");
@@ -37,6 +37,8 @@ var _ResponsiveDropBox = _interopRequireDefault(require("../ResponsiveDropBox/Re
37
37
 
38
38
  var _CustomResponsive = require("../Responsive/CustomResponsive");
39
39
 
40
+ var _MultiSelectHeader = _interopRequireDefault(require("./MultiSelectHeader"));
41
+
40
42
  var _Loader = _interopRequireDefault(require("@zohodesk/svg/lib/Loader/Loader"));
41
43
 
42
44
  var _icons = require("@zohodesk/icons");
@@ -47,7 +49,7 @@ var _Common = require("../utils/Common.js");
47
49
 
48
50
  var _dropDownUtils = require("../utils/dropDownUtils");
49
51
 
50
- var _Config = require("../Provider/Config");
52
+ var _MobileHeader = _interopRequireDefault(require("./MobileHeader/MobileHeader"));
51
53
 
52
54
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
53
55
 
@@ -151,7 +153,7 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
151
153
  _this.suggestionsOrder = [];
152
154
  _this._isMounted = false;
153
155
 
154
- _Common.bind.apply(_assertThisInitialized(_this), ['handleInputCick', 'handleFilterSuggestions', 'handleKeyDown', 'handleSelectAll', 'handleDeselectAll', 'handleSelectOption', 'handleRemoveOption', 'handleSearch', 'handleClickSelectedOption', 'handleChange', 'handlePopupClose', 'togglePopup', 'selectedOptionRef', 'searchInputRef', 'suggestionContainerRef', 'suggestionItemRef', 'selectedOptionContainerRef', 'handleActive', 'handleInactive', 'handleMouseEnter', 'handleFetchOptions', 'handleFormatOptions', 'handleGetSelectedOptions', 'handleComponentDidUpdate', 'handleInputFocus', 'handleExposedPublicMethods']);
156
+ _Common.bind.apply(_assertThisInitialized(_this), ['handleInputCick', 'handleFilterSuggestions', 'handleKeyDown', 'handleSelectAll', 'handleDeselectAll', 'handleSelectOption', 'handleRemoveOption', 'handleSearch', 'handleClickSelectedOption', 'handleChange', 'handlePopupClose', 'togglePopup', 'selectedOptionRef', 'searchInputRef', 'suggestionContainerRef', 'suggestionItemRef', 'selectedOptionContainerRef', 'handleActive', 'handleInactive', 'handleMouseEnter', 'handleFetchOptions', 'handleFormatOptions', 'handleGetSelectedOptions', 'handleComponentDidUpdate', 'handleInputFocus', 'handleExposedPublicMethods', 'getSelectionUI', 'moveFocusToTextbox']);
155
157
 
156
158
  _this.handleSearchOptions = (0, _Common.debounce)(_this.handleSearchOptions.bind(_assertThisInitialized(_this)), searchDebounceTime);
157
159
  _this.handleScroll = _this.handleScroll.bind(_assertThisInitialized(_this));
@@ -619,9 +621,7 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
619
621
  this.handleChange(newSelectedOptions);
620
622
  }
621
623
 
622
- this.searchInput && this.searchInput.focus({
623
- preventScroll: true
624
- });
624
+ this.moveFocusToTextbox();
625
625
  }
626
626
  }, {
627
627
  key: "handleMouseEnter",
@@ -763,9 +763,7 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
763
763
  this.setState({
764
764
  shiftKeyPressHighLighted: 0
765
765
  });
766
- this.searchInput && this.searchInput.focus({
767
- preventScroll: true
768
- });
766
+ this.moveFocusToTextbox();
769
767
  }
770
768
  }, {
771
769
  key: "handleScroll",
@@ -814,9 +812,7 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
814
812
 
815
813
  onChange && onChange(newSelectedOptions, allSelectedOptionsDetails); // this.setState({ searchStr: '' });
816
814
 
817
- this.searchInput && this.searchInput.focus({
818
- preventScroll: true
819
- });
815
+ this.moveFocusToTextbox();
820
816
 
821
817
  if (needToCloseOnSelect) {
822
818
  togglePopup(e);
@@ -903,7 +899,12 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
903
899
  var _this$props12 = this.props,
904
900
  isDisabled = _this$props12.isDisabled,
905
901
  isReadOnly = _this$props12.isReadOnly;
906
- this.searchInput && !isDisabled && !isReadOnly && this.searchInput.focus({
902
+ !isDisabled && !isReadOnly && this.moveFocusToTextbox();
903
+ }
904
+ }, {
905
+ key: "moveFocusToTextbox",
906
+ value: function moveFocusToTextbox() {
907
+ this.searchInput && this.searchInput.focus({
907
908
  preventScroll: true
908
909
  });
909
910
  }
@@ -928,79 +929,43 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
928
929
  };
929
930
  }
930
931
  }, {
931
- key: "render",
932
- value: function render() {
933
- var _this5 = this;
934
-
932
+ key: "getSelectionUI",
933
+ value: function getSelectionUI() {
934
+ var isResponsive = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
935
935
  var _this$props14 = this.props,
936
- isReadOnly = _this$props14.isReadOnly,
937
- needSelectAll = _this$props14.needSelectAll,
938
- searchEmptyMessage = _this$props14.searchEmptyMessage,
939
- emptyMessage = _this$props14.emptyMessage,
940
- noMoreOptionsMessage = _this$props14.noMoreOptionsMessage,
941
- dropBoxSize = _this$props14.dropBoxSize,
936
+ size = _this$props14.size,
937
+ needBorder = _this$props14.needBorder,
938
+ disableAction = _this$props14.disableAction,
939
+ borderColor = _this$props14.borderColor,
942
940
  placeHolder = _this$props14.placeHolder,
943
- isPopupOpen = _this$props14.isPopupOpen,
944
- isPopupReady = _this$props14.isPopupReady,
945
- position = _this$props14.position,
946
- defaultDropBoxPosition = _this$props14.defaultDropBoxPosition,
947
- selectAllText = _this$props14.selectAllText,
948
- getContainerRef = _this$props14.getContainerRef,
949
- removeClose = _this$props14.removeClose,
950
- isAnimate = _this$props14.isAnimate,
951
- animationStyle = _this$props14.animationStyle,
952
941
  textBoxSize = _this$props14.textBoxSize,
953
942
  variant = _this$props14.variant,
954
- size = _this$props14.size,
955
- isDisabled = _this$props14.isDisabled,
956
- title = _this$props14.title,
957
- needResponsive = _this$props14.needResponsive,
958
- dataId = _this$props14.dataId,
959
- dataSelectorId = _this$props14.dataSelectorId,
960
- isSearching = _this$props14.isSearching,
961
- borderColor = _this$props14.borderColor,
962
943
  textBoxClass = _this$props14.textBoxClass,
963
- needBorder = _this$props14.needBorder,
964
- disableAction = _this$props14.disableAction,
965
- isBoxPaddingNeed = _this$props14.isBoxPaddingNeed,
966
- palette = _this$props14.palette,
967
944
  needAutoFocus = _this$props14.needAutoFocus,
968
945
  htmlId = _this$props14.htmlId,
969
- i18nKeys = _this$props14.i18nKeys,
970
- a11y = _this$props14.a11y,
971
946
  children = _this$props14.children,
972
947
  customChildrenClass = _this$props14.customChildrenClass,
973
- getFooter = _this$props14.getFooter,
974
- needEffect = _this$props14.needEffect,
975
- disabledOptions = _this$props14.disabledOptions,
976
- boxSize = _this$props14.boxSize,
977
948
  autoComplete = _this$props14.autoComplete,
978
- isLoading = _this$props14.isLoading;
979
- var _i18nKeys = i18nKeys,
980
- _i18nKeys$clearText = _i18nKeys.clearText,
981
- clearText = _i18nKeys$clearText === void 0 ? 'Clear all' : _i18nKeys$clearText,
982
- _i18nKeys$searchText = _i18nKeys.searchText,
983
- searchText = _i18nKeys$searchText === void 0 ? 'Searching...' : _i18nKeys$searchText;
984
- var _a11y$clearLabel = a11y.clearLabel,
985
- clearLabel = _a11y$clearLabel === void 0 ? 'Clear all' : _a11y$clearLabel,
986
- ariaLabelledby = a11y.ariaLabelledby;
987
- i18nKeys = Object.assign({}, i18nKeys, {
988
- emptyText: i18nKeys.emptyText || emptyMessage,
989
- searchEmptyText: i18nKeys.searchEmptyText || searchEmptyMessage,
990
- noMoreText: i18nKeys.noMoreText || noMoreOptionsMessage
991
- });
949
+ a11y = _this$props14.a11y,
950
+ disabledOptions = _this$props14.disabledOptions,
951
+ i18nKeys = _this$props14.i18nKeys,
952
+ isReadOnly = _this$props14.isReadOnly,
953
+ isDisabled = _this$props14.isDisabled,
954
+ palette = _this$props14.palette,
955
+ dataId = _this$props14.dataId,
956
+ setAriaId = _this$props14.setAriaId,
957
+ isPopupOpen = _this$props14.isPopupOpen,
958
+ ariaErrorId = _this$props14.ariaErrorId;
992
959
  var _this$state8 = this.state,
960
+ isActive = _this$state8.isActive,
993
961
  selectedOptions = _this$state8.selectedOptions,
994
- searchStr = _this$state8.searchStr,
995
- hoverOption = _this$state8.hoverOption,
996
962
  highLightedSelectOptions = _this$state8.highLightedSelectOptions,
997
- options = _this$state8.options,
998
- isFetchingOptions = _this$state8.isFetchingOptions,
999
- isActive = _this$state8.isActive,
1000
- selectedOptionIds = _this$state8.selectedOptionIds;
1001
- var suggestions = this.handleFilterSuggestions();
1002
- var setAriaId = this.getNextAriaId();
1003
- var ariaErrorId = this.getNextAriaId();
963
+ searchStr = _this$state8.searchStr;
964
+ var _i18nKeys$clearText = i18nKeys.clearText,
965
+ clearText = _i18nKeys$clearText === void 0 ? 'Clear all' : _i18nKeys$clearText;
966
+ var _a11y$clearLabel = a11y.clearLabel,
967
+ clearLabel = _a11y$clearLabel === void 0 ? 'Clear all' : _a11y$clearLabel,
968
+ ariaLabelledby = a11y.ariaLabelledby;
1004
969
 
1005
970
  var _this$getIsShowClearI = this.getIsShowClearIcon({
1006
971
  selectedOptions: selectedOptions,
@@ -1009,17 +974,10 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
1009
974
  isShowClear = _this$getIsShowClearI.isShowClearIcon;
1010
975
 
1011
976
  var isShowClearIcon = !isReadOnly && !isDisabled && !disableAction && isShowClear;
1012
- return /*#__PURE__*/_react["default"].createElement("div", {
1013
- className: "".concat(_MultiSelectModule["default"].wrapper, " ").concat(isDisabled ? _MultiSelectModule["default"].disabled : '', " ").concat(isReadOnly ? _MultiSelectModule["default"].readOnly : '', " ").concat(disableAction ? (0, _CssProvider["default"])('isBlock') : '', " ").concat(borderColor === 'transparent' ? _MultiSelectModule["default"].transparentContainer : '', " ").concat(needEffect && !(isDisabled || isReadOnly) ? _MultiSelectModule["default"].effect : ''),
1014
- "data-id": "".concat(isDisabled ? "".concat(dataId, "_disabled") : isReadOnly ? "".concat(dataId, "_readOnly") : dataId),
1015
- "data-test-id": "".concat(isDisabled ? "".concat(dataId, "_disabled") : isReadOnly ? "".concat(dataId, "_readOnly") : dataId),
1016
- "data-title": isDisabled ? title : null,
1017
- onClick: this.handleInputFocus,
1018
- "data-selector-id": dataSelectorId
1019
- }, /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
977
+ return /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
1020
978
  align: "vertical",
1021
979
  alignBox: "row",
1022
- className: "".concat(_MultiSelectModule["default"].container, " ").concat(_MultiSelectModule["default"][size], " ").concat(needBorder ? !disableAction ? _MultiSelectModule["default"]["borderColor_".concat(borderColor)] : _MultiSelectModule["default"].borderColor_transparent : '', " ").concat(isActive && needBorder ? _MultiSelectModule["default"].active : '', " ").concat(textBoxClass, " ").concat(needBorder ? _MultiSelectModule["default"].hasBorder : ''),
980
+ className: "".concat(_MultiSelectModule["default"].container, " ").concat(_MultiSelectModule["default"][size], " ").concat(needBorder ? !disableAction ? _MultiSelectModule["default"]["borderColor_".concat(borderColor)] : _MultiSelectModule["default"].borderColor_transparent : '', " ").concat(isActive && needBorder || isResponsive ? _MultiSelectModule["default"].active : '', " ").concat(textBoxClass, " ").concat(needBorder ? _MultiSelectModule["default"].hasBorder : ''),
1023
981
  eleRef: this.selectedOptionContainerRef,
1024
982
  wrap: "wrap"
1025
983
  }, /*#__PURE__*/_react["default"].createElement(_SelectedOptions["default"], {
@@ -1037,14 +995,14 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
1037
995
  adjust: true,
1038
996
  shrink: true
1039
997
  }, /*#__PURE__*/_react["default"].createElement("span", {
1040
- className: " ".concat(_MultiSelectModule["default"].custmSpan, " ").concat(textBoxSize === 'xmedium' ? _MultiSelectModule["default"].custmSpanXmedium : _MultiSelectModule["default"].custmSpanMedium, " ").concat(isShowClearIcon ? _MultiSelectModule["default"].clearIconSpace : '', "\n ").concat(customChildrenClass ? customChildrenClass : '')
998
+ className: " ".concat(_MultiSelectModule["default"].custmSpan, " ").concat(textBoxSize === 'xmedium' ? _MultiSelectModule["default"].custmSpanXmedium : _MultiSelectModule["default"].custmSpanMedium, " ").concat(isShowClearIcon ? _MultiSelectModule["default"].clearIconSpace : '', "\n ").concat(customChildrenClass ? customChildrenClass : '')
1041
999
  }, searchStr), /*#__PURE__*/_react["default"].createElement(_TextBoxIcon["default"], {
1042
1000
  isDisabled: isDisabled,
1043
1001
  inputRef: this.searchInputRef,
1044
1002
  needBorder: false,
1045
1003
  onBlur: this.handleInactive,
1046
1004
  onChange: this.handleSearch,
1047
- onClick: this.handleInputCick,
1005
+ onClick: !isResponsive ? this.handleInputCick : undefined,
1048
1006
  onFocus: this.handleActive,
1049
1007
  onKeyDown: this.handleKeyDown,
1050
1008
  autofocus: needAutoFocus,
@@ -1085,7 +1043,70 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
1085
1043
  size: "15"
1086
1044
  })) : null, children ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
1087
1045
  dataId: "".concat(dataId, "_children")
1088
- }, children) : null)))), !isReadOnly && !isDisabled && !disableAction && isPopupOpen ? /*#__PURE__*/_react["default"].createElement(_CustomResponsive.ResponsiveReceiver, {
1046
+ }, children) : null))));
1047
+ }
1048
+ }, {
1049
+ key: "render",
1050
+ value: function render() {
1051
+ var _this5 = this;
1052
+
1053
+ var _this$props15 = this.props,
1054
+ isReadOnly = _this$props15.isReadOnly,
1055
+ searchEmptyMessage = _this$props15.searchEmptyMessage,
1056
+ emptyMessage = _this$props15.emptyMessage,
1057
+ noMoreOptionsMessage = _this$props15.noMoreOptionsMessage,
1058
+ dropBoxSize = _this$props15.dropBoxSize,
1059
+ isPopupOpen = _this$props15.isPopupOpen,
1060
+ isPopupReady = _this$props15.isPopupReady,
1061
+ position = _this$props15.position,
1062
+ defaultDropBoxPosition = _this$props15.defaultDropBoxPosition,
1063
+ getContainerRef = _this$props15.getContainerRef,
1064
+ removeClose = _this$props15.removeClose,
1065
+ isAnimate = _this$props15.isAnimate,
1066
+ animationStyle = _this$props15.animationStyle,
1067
+ isDisabled = _this$props15.isDisabled,
1068
+ title = _this$props15.title,
1069
+ needResponsive = _this$props15.needResponsive,
1070
+ dataId = _this$props15.dataId,
1071
+ dataSelectorId = _this$props15.dataSelectorId,
1072
+ isSearching = _this$props15.isSearching,
1073
+ borderColor = _this$props15.borderColor,
1074
+ disableAction = _this$props15.disableAction,
1075
+ isBoxPaddingNeed = _this$props15.isBoxPaddingNeed,
1076
+ palette = _this$props15.palette,
1077
+ i18nKeys = _this$props15.i18nKeys,
1078
+ getFooter = _this$props15.getFooter,
1079
+ needEffect = _this$props15.needEffect,
1080
+ boxSize = _this$props15.boxSize,
1081
+ isLoading = _this$props15.isLoading,
1082
+ selectAllText = _this$props15.selectAllText,
1083
+ needSelectAll = _this$props15.needSelectAll;
1084
+ var _this$state9 = this.state,
1085
+ selectedOptions = _this$state9.selectedOptions,
1086
+ searchStr = _this$state9.searchStr,
1087
+ hoverOption = _this$state9.hoverOption,
1088
+ options = _this$state9.options,
1089
+ isFetchingOptions = _this$state9.isFetchingOptions,
1090
+ selectedOptionIds = _this$state9.selectedOptionIds;
1091
+ var _i18nKeys = i18nKeys,
1092
+ _i18nKeys$searchText = _i18nKeys.searchText,
1093
+ searchText = _i18nKeys$searchText === void 0 ? 'Searching...' : _i18nKeys$searchText;
1094
+ var suggestions = this.handleFilterSuggestions();
1095
+ var setAriaId = this.getNextAriaId();
1096
+ var ariaErrorId = this.getNextAriaId();
1097
+ i18nKeys = Object.assign({}, _defaultProps2.defaultProps.i18nKeys, i18nKeys, {
1098
+ emptyText: i18nKeys.emptyText || emptyMessage,
1099
+ searchEmptyText: i18nKeys.searchEmptyText || searchEmptyMessage,
1100
+ noMoreText: i18nKeys.noMoreText || noMoreOptionsMessage
1101
+ });
1102
+ return /*#__PURE__*/_react["default"].createElement("div", {
1103
+ className: "".concat(_MultiSelectModule["default"].wrapper, " ").concat(isDisabled ? _MultiSelectModule["default"].disabled : '', " ").concat(isReadOnly ? _MultiSelectModule["default"].readOnly : '', " ").concat(disableAction ? (0, _CssProvider["default"])('isBlock') : '', " ").concat(borderColor === 'transparent' ? _MultiSelectModule["default"].transparentContainer : '', " ").concat(needEffect && !(isDisabled || isReadOnly) ? _MultiSelectModule["default"].effect : ''),
1104
+ "data-id": "".concat(isDisabled ? "".concat(dataId, "_disabled") : isReadOnly ? "".concat(dataId, "_readOnly") : dataId),
1105
+ "data-test-id": "".concat(isDisabled ? "".concat(dataId, "_disabled") : isReadOnly ? "".concat(dataId, "_readOnly") : dataId),
1106
+ "data-title": isDisabled ? title : null,
1107
+ onClick: this.handleInputFocus,
1108
+ "data-selector-id": dataSelectorId
1109
+ }, this.getSelectionUI(), !isReadOnly && !isDisabled && !disableAction && isPopupOpen ? /*#__PURE__*/_react["default"].createElement(_CustomResponsive.ResponsiveReceiver, {
1089
1110
  query: this.responsiveFunc,
1090
1111
  responsiveId: "Helmet"
1091
1112
  }, function (_ref7) {
@@ -1115,13 +1136,18 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
1115
1136
  }, /*#__PURE__*/_react["default"].createElement(_Card["default"], {
1116
1137
  customClass: "".concat(_MultiSelectModule["default"].box, " ").concat(_MultiSelectModule["default"]["".concat(palette, "Box")]),
1117
1138
  onScroll: _this5.handleScroll
1118
- }, /*#__PURE__*/_react["default"].createElement(_Card.CardHeader, null, /*#__PURE__*/_react["default"].createElement(_MultiSelectHeader["default"], {
1119
- needSelectAll: needSelectAll,
1139
+ }, tabletMode && /*#__PURE__*/_react["default"].createElement(_MobileHeader["default"], {
1140
+ selectedOptions: selectedOptions,
1141
+ i18nKeys: i18nKeys,
1142
+ onClick: _this5.handlePopupClose
1143
+ }, /*#__PURE__*/_react["default"].createElement("div", {
1144
+ className: _MultiSelectModule["default"].effect
1145
+ }, _this5.getSelectionUI(true))), needSelectAll ? /*#__PURE__*/_react["default"].createElement(_Card.CardHeader, null, /*#__PURE__*/_react["default"].createElement(_MultiSelectHeader["default"], {
1120
1146
  onSelect: _this5.handleSelectAll,
1121
1147
  selectAllText: selectAllText,
1122
1148
  suggestions: suggestions,
1123
1149
  dataId: dataId
1124
- })), isLoading ? /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
1150
+ })) : null, isLoading ? /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
1125
1151
  align: "both",
1126
1152
  className: _MultiSelectModule["default"].loader
1127
1153
  }, /*#__PURE__*/_react["default"].createElement(_Loader["default"], null)) : /*#__PURE__*/_react["default"].createElement(_Card.CardContent, {
@@ -1165,13 +1191,7 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
1165
1191
 
1166
1192
  exports.MultiSelectComponent = MultiSelectComponent;
1167
1193
  MultiSelectComponent.propTypes = _propTypes.MultiSelect_propTypes;
1168
- MultiSelectComponent.defaultProps = _defaultProps.MultiSelect_defaultProps; // if (__DOCS__) {
1169
- // MultiSelectComponent.docs = {
1170
- // componentGroup: 'Form Elements',
1171
- // folderName: 'Style Guide'
1172
- // };
1173
- // }
1174
-
1194
+ MultiSelectComponent.defaultProps = _defaultProps.MultiSelect_defaultProps;
1175
1195
  MultiSelectComponent.displayName = 'MultiSelect';
1176
1196
  var MultiSelect = (0, _Popup["default"])(MultiSelectComponent);
1177
1197
  MultiSelect.propTypes = MultiSelectComponent.propTypes;