@zohodesk/components 1.0.0-temp-168 → 1.0.0-temp-169

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 (280) hide show
  1. package/.cli/PropLessFiles.html +1 -1
  2. package/.cli/PropValidationExcludeFilesArray.js +13 -3
  3. package/.cli/propValidation_report.html +1 -1
  4. package/README.md +48 -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 +3 -6
  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/AppContainer/AppContainer.js +3 -0
  28. package/es/Button/__tests__/__snapshots__/Button.spec.js.snap +0 -28
  29. package/es/Button/props/defaultProps.js +1 -2
  30. package/es/Button/props/propTypes.js +3 -1
  31. package/es/DateTime/DateTime.module.css +2 -0
  32. package/es/DateTime/DateWidget.js +2 -1
  33. package/es/DateTime/dateFormatUtils/dayChange.js +2 -1
  34. package/es/DateTime/dateFormatUtils/index.js +1 -1
  35. package/es/DateTime/dateFormatUtils/monthChange.js +2 -1
  36. package/es/DateTime/dateFormatUtils/timeChange.js +4 -4
  37. package/es/DateTime/dateFormatUtils/yearChange.js +2 -1
  38. package/es/DropBox/DropBox.js +10 -10
  39. package/es/DropDown/DropDown.js +1 -7
  40. package/es/MultiSelect/AdvancedGroupMultiSelect.js +7 -5
  41. package/es/MultiSelect/AdvancedMultiSelect.js +4 -4
  42. package/es/MultiSelect/MobileHeader/MobileHeader.js +50 -0
  43. package/es/MultiSelect/MobileHeader/MobileHeader.module.css +16 -0
  44. package/es/MultiSelect/MobileHeader/props/defaultProps.js +7 -0
  45. package/es/MultiSelect/MobileHeader/props/propTypes.js +7 -0
  46. package/es/MultiSelect/MultiSelect.js +112 -91
  47. package/es/MultiSelect/MultiSelect.module.css +2 -5
  48. package/es/MultiSelect/MultiSelectHeader.js +1 -2
  49. package/es/MultiSelect/MultiSelectWithAvatar.js +15 -112
  50. package/es/MultiSelect/props/defaultProps.js +3 -1
  51. package/es/MultiSelect/props/propTypes.js +9 -57
  52. package/es/Responsive/RefWrapper.js +2 -1
  53. package/es/Select/GroupSelect.js +3 -5
  54. package/es/Select/Select.js +2 -5
  55. package/es/Select/SelectWithAvatar.js +2 -1
  56. package/es/Select/SelectWithIcon.js +5 -2
  57. package/es/TextBox/TextBox.js +3 -3
  58. package/es/TextBox/TextBox.module.css +5 -4
  59. package/es/Textarea/Textarea.module.css +3 -4
  60. package/es/deprecated/PortalLayer/props/propTypes.js +3 -1
  61. package/es/index.js +2 -1
  62. package/es/utils/Common.js +3 -0
  63. package/es/v1/Accordion/Accordion.js +66 -0
  64. package/es/v1/Accordion/AccordionItem.js +57 -0
  65. package/es/v1/Accordion/index.js +2 -0
  66. package/es/v1/Animation/Animation.js +127 -0
  67. package/es/v1/AppContainer/AppContainer.js +137 -0
  68. package/es/v1/Avatar/Avatar.js +139 -0
  69. package/es/v1/AvatarTeam/AvatarTeam.js +70 -0
  70. package/es/v1/Button/Button.js +68 -0
  71. package/es/v1/Buttongroup/Buttongroup.js +31 -0
  72. package/es/v1/Card/Card.js +271 -0
  73. package/es/v1/CheckBox/CheckBox.js +155 -0
  74. package/es/v1/DateTime/CalendarView.js +218 -0
  75. package/es/v1/DateTime/DateTime.js +783 -0
  76. package/es/v1/DateTime/DateTimePopupFooter.js +47 -0
  77. package/es/v1/DateTime/DateTimePopupHeader.js +105 -0
  78. package/es/v1/DateTime/DateWidget.js +1098 -0
  79. package/es/v1/DateTime/DaysRow.js +31 -0
  80. package/es/v1/DateTime/Time.js +166 -0
  81. package/es/v1/DateTime/YearView.js +264 -0
  82. package/es/v1/DateTime/index.js +1 -0
  83. package/es/v1/DropBox/DropBox.js +91 -0
  84. package/es/v1/DropBox/DropBoxElement/DropBoxElement.js +132 -0
  85. package/es/v1/DropDown/DropDown.js +73 -0
  86. package/es/v1/DropDown/DropDownHeading.js +44 -0
  87. package/es/v1/DropDown/DropDownItem.js +76 -0
  88. package/es/v1/DropDown/DropDownSearch.js +63 -0
  89. package/es/v1/DropDown/DropDownSeparator.js +15 -0
  90. package/es/v1/Heading/Heading.js +32 -0
  91. package/es/v1/Label/Label.js +40 -0
  92. package/es/v1/Layout/Box.js +115 -0
  93. package/es/v1/Layout/Container.js +132 -0
  94. package/es/v1/Layout/index.js +2 -0
  95. package/es/v1/ListItem/ListContainer.js +102 -0
  96. package/es/v1/ListItem/ListItem.js +124 -0
  97. package/es/v1/ListItem/ListItemWithAvatar.js +145 -0
  98. package/es/v1/ListItem/ListItemWithCheckBox.js +104 -0
  99. package/es/v1/ListItem/ListItemWithIcon.js +127 -0
  100. package/es/v1/ListItem/ListItemWithRadio.js +105 -0
  101. package/es/v1/ListItem/index.js +6 -0
  102. package/es/v1/Modal/Modal.js +154 -0
  103. package/es/v1/MultiSelect/AdvancedGroupMultiSelect.js +1079 -0
  104. package/es/v1/MultiSelect/AdvancedMultiSelect.js +568 -0
  105. package/es/v1/MultiSelect/EmptyState.js +64 -0
  106. package/es/v1/MultiSelect/MobileHeader/MobileHeader.js +50 -0
  107. package/es/v1/MultiSelect/MultiSelect.js +1120 -0
  108. package/es/v1/MultiSelect/MultiSelectHeader.js +32 -0
  109. package/es/v1/MultiSelect/MultiSelectWithAvatar.js +216 -0
  110. package/es/v1/MultiSelect/SelectedOptions.js +82 -0
  111. package/es/v1/MultiSelect/Suggestions.js +142 -0
  112. package/es/v1/MultiSelect/index.js +4 -0
  113. package/es/v1/PopOver/PopOver.js +176 -0
  114. package/es/v1/Popup/Popup.js +645 -0
  115. package/es/v1/Radio/Radio.js +115 -0
  116. package/es/v1/Responsive/CustomResponsive.js +195 -0
  117. package/es/v1/Responsive/RefWrapper.js +39 -0
  118. package/es/v1/Responsive/ResizeComponent.js +197 -0
  119. package/es/v1/Responsive/ResizeObserver.js +140 -0
  120. package/es/v1/Responsive/Responsive.js +194 -0
  121. package/es/v1/Responsive/index.js +9 -0
  122. package/es/v1/ResponsiveDropBox/ResponsiveDropBox.js +58 -0
  123. package/es/v1/Ribbon/Ribbon.js +33 -0
  124. package/es/v1/RippleEffect/RippleEffect.js +24 -0
  125. package/es/v1/Select/GroupSelect.js +800 -0
  126. package/es/v1/Select/Select.js +966 -0
  127. package/es/v1/Select/SelectWithAvatar.js +344 -0
  128. package/es/v1/Select/SelectWithIcon.js +535 -0
  129. package/es/v1/Select/index.js +4 -0
  130. package/es/v1/Stencils/Stencils.js +26 -0
  131. package/es/v1/Switch/Switch.js +94 -0
  132. package/es/v1/Tab/Tab.js +108 -0
  133. package/es/v1/Tab/TabContent.js +30 -0
  134. package/es/v1/Tab/TabContentWrapper.js +29 -0
  135. package/es/v1/Tab/TabWrapper.js +57 -0
  136. package/es/v1/Tab/Tabs.js +612 -0
  137. package/es/v1/Tab/index.js +5 -0
  138. package/es/v1/Tag/Tag.js +134 -0
  139. package/es/v1/TextBox/TextBox.js +154 -0
  140. package/es/v1/TextBoxIcon/TextBoxIcon.js +158 -0
  141. package/es/v1/Textarea/Textarea.js +102 -0
  142. package/es/v1/Tooltip/Tooltip.js +518 -0
  143. package/es/v1/Typography/Typography.js +38 -0
  144. package/es/v1/Typography/css/Typography.module.css +376 -0
  145. package/es/v1/Typography/css/cssJSLogic.js +46 -0
  146. package/es/v1/Typography/css/letterSpacingMap.js +12 -0
  147. package/es/v1/Typography/props/defaultProps.js +8 -0
  148. package/es/v1/Typography/props/propTypes.js +24 -0
  149. package/es/v1/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +69 -0
  150. package/es/v1/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +100 -0
  151. package/es/v1/semantic/Button/Button.js +53 -0
  152. package/es/v1/semantic/index.js +1 -0
  153. package/lib/AppContainer/AppContainer.js +5 -0
  154. package/lib/Button/__tests__/__snapshots__/Button.spec.js.snap +0 -28
  155. package/lib/Button/props/defaultProps.js +1 -2
  156. package/lib/Button/props/propTypes.js +3 -1
  157. package/lib/DateTime/DateTime.module.css +2 -0
  158. package/lib/DateTime/DateWidget.js +2 -1
  159. package/lib/DateTime/dateFormatUtils/dayChange.js +3 -1
  160. package/lib/DateTime/dateFormatUtils/index.js +1 -1
  161. package/lib/DateTime/dateFormatUtils/monthChange.js +3 -1
  162. package/lib/DateTime/dateFormatUtils/timeChange.js +3 -3
  163. package/lib/DateTime/dateFormatUtils/yearChange.js +3 -1
  164. package/lib/DropBox/DropBox.js +15 -15
  165. package/lib/DropDown/DropDown.js +1 -6
  166. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +7 -6
  167. package/lib/MultiSelect/AdvancedMultiSelect.js +4 -4
  168. package/lib/MultiSelect/MobileHeader/MobileHeader.js +62 -0
  169. package/lib/MultiSelect/MobileHeader/MobileHeader.module.css +16 -0
  170. package/lib/MultiSelect/MobileHeader/props/defaultProps.js +14 -0
  171. package/lib/MultiSelect/MobileHeader/props/propTypes.js +18 -0
  172. package/lib/MultiSelect/MultiSelect.js +116 -96
  173. package/lib/MultiSelect/MultiSelect.module.css +2 -5
  174. package/lib/MultiSelect/MultiSelectHeader.js +1 -2
  175. package/lib/MultiSelect/MultiSelectWithAvatar.js +18 -113
  176. package/lib/MultiSelect/props/defaultProps.js +3 -1
  177. package/lib/MultiSelect/props/propTypes.js +19 -60
  178. package/lib/Responsive/RefWrapper.js +2 -1
  179. package/lib/Select/GroupSelect.js +2 -2
  180. package/lib/Select/Select.js +1 -2
  181. package/lib/Select/SelectWithAvatar.js +2 -1
  182. package/lib/Select/SelectWithIcon.js +5 -3
  183. package/lib/TextBox/TextBox.js +10 -10
  184. package/lib/TextBox/TextBox.module.css +5 -4
  185. package/lib/Textarea/Textarea.module.css +3 -4
  186. package/lib/deprecated/PortalLayer/props/propTypes.js +3 -1
  187. package/lib/index.js +10 -1
  188. package/lib/utils/Common.js +5 -0
  189. package/lib/v1/Accordion/Accordion.js +98 -0
  190. package/lib/v1/Accordion/AccordionItem.js +68 -0
  191. package/lib/v1/Accordion/index.js +23 -0
  192. package/lib/v1/Animation/Animation.js +143 -0
  193. package/lib/v1/AppContainer/AppContainer.js +209 -0
  194. package/lib/v1/Avatar/Avatar.js +190 -0
  195. package/lib/v1/AvatarTeam/AvatarTeam.js +81 -0
  196. package/lib/v1/Button/Button.js +82 -0
  197. package/lib/v1/Buttongroup/Buttongroup.js +44 -0
  198. package/lib/v1/Card/Card.js +365 -0
  199. package/lib/v1/CheckBox/CheckBox.js +166 -0
  200. package/lib/v1/DateTime/CalendarView.js +285 -0
  201. package/lib/v1/DateTime/DateTime.js +872 -0
  202. package/lib/v1/DateTime/DateTimePopupFooter.js +96 -0
  203. package/lib/v1/DateTime/DateTimePopupHeader.js +166 -0
  204. package/lib/v1/DateTime/DateWidget.js +1125 -0
  205. package/lib/v1/DateTime/DaysRow.js +80 -0
  206. package/lib/v1/DateTime/Time.js +254 -0
  207. package/lib/v1/DateTime/YearView.js +325 -0
  208. package/lib/v1/DateTime/index.js +15 -0
  209. package/lib/v1/DropBox/DropBox.js +119 -0
  210. package/lib/v1/DropBox/DropBoxElement/DropBoxElement.js +145 -0
  211. package/lib/v1/DropDown/DropDown.js +170 -0
  212. package/lib/v1/DropDown/DropDownHeading.js +93 -0
  213. package/lib/v1/DropDown/DropDownItem.js +127 -0
  214. package/lib/v1/DropDown/DropDownSearch.js +113 -0
  215. package/lib/v1/DropDown/DropDownSeparator.js +64 -0
  216. package/lib/v1/Heading/Heading.js +49 -0
  217. package/lib/v1/Label/Label.js +51 -0
  218. package/lib/v1/Layout/Box.js +128 -0
  219. package/lib/v1/Layout/Container.js +145 -0
  220. package/lib/v1/Layout/index.js +23 -0
  221. package/lib/v1/ListItem/ListContainer.js +120 -0
  222. package/lib/v1/ListItem/ListItem.js +138 -0
  223. package/lib/v1/ListItem/ListItemWithAvatar.js +162 -0
  224. package/lib/v1/ListItem/ListItemWithCheckBox.js +125 -0
  225. package/lib/v1/ListItem/ListItemWithIcon.js +143 -0
  226. package/lib/v1/ListItem/ListItemWithRadio.js +126 -0
  227. package/lib/v1/ListItem/index.js +55 -0
  228. package/lib/v1/Modal/Modal.js +212 -0
  229. package/lib/v1/MultiSelect/AdvancedGroupMultiSelect.js +1167 -0
  230. package/lib/v1/MultiSelect/AdvancedMultiSelect.js +634 -0
  231. package/lib/v1/MultiSelect/EmptyState.js +112 -0
  232. package/lib/v1/MultiSelect/MobileHeader/MobileHeader.js +62 -0
  233. package/lib/v1/MultiSelect/MultiSelect.js +1201 -0
  234. package/lib/v1/MultiSelect/MultiSelectHeader.js +78 -0
  235. package/lib/v1/MultiSelect/MultiSelectWithAvatar.js +270 -0
  236. package/lib/v1/MultiSelect/SelectedOptions.js +126 -0
  237. package/lib/v1/MultiSelect/Suggestions.js +195 -0
  238. package/lib/v1/MultiSelect/index.js +39 -0
  239. package/lib/v1/PopOver/PopOver.js +197 -0
  240. package/lib/v1/Popup/Popup.js +715 -0
  241. package/lib/v1/Radio/Radio.js +126 -0
  242. package/lib/v1/Responsive/CustomResponsive.js +242 -0
  243. package/lib/v1/Responsive/RefWrapper.js +57 -0
  244. package/lib/v1/Responsive/ResizeComponent.js +268 -0
  245. package/lib/v1/Responsive/ResizeObserver.js +168 -0
  246. package/lib/v1/Responsive/Responsive.js +274 -0
  247. package/lib/v1/Responsive/index.js +55 -0
  248. package/lib/v1/ResponsiveDropBox/ResponsiveDropBox.js +79 -0
  249. package/lib/v1/Ribbon/Ribbon.js +44 -0
  250. package/lib/v1/RippleEffect/RippleEffect.js +39 -0
  251. package/lib/v1/Select/GroupSelect.js +876 -0
  252. package/lib/v1/Select/Select.js +1012 -0
  253. package/lib/v1/Select/SelectWithAvatar.js +394 -0
  254. package/lib/v1/Select/SelectWithIcon.js +597 -0
  255. package/lib/v1/Select/index.js +39 -0
  256. package/lib/v1/Stencils/Stencils.js +43 -0
  257. package/lib/v1/Switch/Switch.js +108 -0
  258. package/lib/v1/Tab/Tab.js +132 -0
  259. package/lib/v1/Tab/TabContent.js +42 -0
  260. package/lib/v1/Tab/TabContentWrapper.js +42 -0
  261. package/lib/v1/Tab/TabWrapper.js +89 -0
  262. package/lib/v1/Tab/Tabs.js +680 -0
  263. package/lib/v1/Tab/index.js +47 -0
  264. package/lib/v1/Tag/Tag.js +154 -0
  265. package/lib/v1/TextBox/TextBox.js +168 -0
  266. package/lib/v1/TextBoxIcon/TextBoxIcon.js +196 -0
  267. package/lib/v1/Textarea/Textarea.js +118 -0
  268. package/lib/v1/Tooltip/Tooltip.js +586 -0
  269. package/lib/v1/Typography/Typography.js +56 -0
  270. package/lib/v1/Typography/css/Typography.module.css +376 -0
  271. package/lib/v1/Typography/css/cssJSLogic.js +41 -0
  272. package/lib/v1/Typography/css/letterSpacingMap.js +20 -0
  273. package/lib/v1/Typography/props/defaultProps.js +15 -0
  274. package/lib/v1/Typography/props/propTypes.js +35 -0
  275. package/lib/v1/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +90 -0
  276. package/lib/v1/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +126 -0
  277. package/lib/v1/semantic/Button/Button.js +63 -0
  278. package/lib/v1/semantic/index.js +15 -0
  279. package/package.json +10 -10
  280. package/result.json +1 -1
@@ -46,7 +46,7 @@ export function getIsNumberTyped(event) {
46
46
  shiftKey
47
47
  } = event;
48
48
 
49
- if (keyCode >= 48 && keyCode <= 57 && !ctrlKey && !metaKey && !shiftKey) {
49
+ if ((keyCode >= 48 && keyCode <= 57 || keyCode >= 96 && keyCode <= 105) && !ctrlKey && !metaKey && !shiftKey) {
50
50
  return true;
51
51
  }
52
52
 
@@ -1,5 +1,6 @@
1
1
  /** * Methods ** */
2
2
  import { getIsNewValueType, getIsNumberTyped, getIsDeleteTyped, getMonthDetails, getDayEnd } from './index';
3
+ import { getKeyValue } from '../../utils/Common';
3
4
  export function getChangedMonth(values, event, focusOrders, keyActions) {
4
5
  const {
5
6
  keyCode,
@@ -43,7 +44,7 @@ export function getChangedMonth(values, event, focusOrders, keyActions) {
43
44
  newMonth -= 1;
44
45
  }
45
46
  } else if (getIsNumberTyped(event)) {
46
- const keyString = String.fromCharCode(which);
47
+ const keyString = getKeyValue(event);
47
48
  let newValue = isNewType ? keyString : month.toString() + keyString;
48
49
  newValue = Number.parseInt(newValue);
49
50
 
@@ -1,6 +1,6 @@
1
1
  /** * Methods ** */
2
2
  import { getIsNewValueType, getIsNumberTyped, getIsDeleteTyped, getHourDetails, getMinuteDetails, getNoonDetails, getIsNoonValueTyped, getIsEmptyHour } from './index';
3
- import { getIsEmptyValue } from '../../utils/Common';
3
+ import { getKeyValue, getIsEmptyValue } from '../../utils/Common';
4
4
  export function getChangedHour(values, event, focusOrders, keyActions) {
5
5
  let {
6
6
  is24Hour = false
@@ -43,7 +43,7 @@ export function getChangedHour(values, event, focusOrders, keyActions) {
43
43
  newHour -= 1;
44
44
  }
45
45
  } else if (getIsNumberTyped(event)) {
46
- const keyString = String.fromCharCode(which);
46
+ const keyString = getKeyValue(event);
47
47
  let newValue = isNewType ? keyString : hour.toString() + keyString;
48
48
  newValue = Number.parseInt(newValue);
49
49
 
@@ -118,7 +118,7 @@ export function getChangedMinute(values, event, focusOrders, keyActions) {
118
118
  newMinute -= 1;
119
119
  }
120
120
  } else if (getIsNumberTyped(event)) {
121
- const keyString = String.fromCharCode(which);
121
+ const keyString = getKeyValue(event);
122
122
  let newValue = isNewType ? keyString : minute.toString() + keyString;
123
123
  newValue = Number.parseInt(newValue);
124
124
 
@@ -194,7 +194,7 @@ export function getChangedNoon(values, event, focusOrders
194
194
  newNoon = allowedValues[currentNoonIndex - 1];
195
195
  }
196
196
  } else if (getIsNoonValueTyped(event)) {
197
- const keyString = String.fromCharCode(which); // let newValue = isNewType ? keyString : noon.toString() + keyString;
197
+ const keyString = getKeyValue(event).toUpperCase(); // let newValue = isNewType ? keyString : noon.toString() + keyString;
198
198
 
199
199
  const newValue = keyString;
200
200
  const needChangeNoon = newNoon.indexOf(newValue) === -1 ? true : false;
@@ -1,5 +1,6 @@
1
1
  /** * Methods ** */
2
2
  import { getIsNewValueType, getIsNumberTyped, getIsDeleteTyped, getDayEnd, convertYearToTwoDigit, getYearDetails, convertTwoDigitToYear, getIsEmptyYear } from './index';
3
+ import { getKeyValue } from '../../utils/Common';
3
4
  export function getChangedYear(values, event, focusOrders, keyActions, _ref) {
4
5
  let {
5
6
  yearInfo
@@ -65,7 +66,7 @@ export function getChangedYear(values, event, focusOrders, keyActions, _ref) {
65
66
  newYear -= 1;
66
67
  }
67
68
  } else if (getIsNumberTyped(event)) {
68
- const keyString = String.fromCharCode(which);
69
+ const keyString = getKeyValue(event);
69
70
  let newValue = isNewType ? keyString : year.toString() + keyString;
70
71
  const newValueString = newValue || '';
71
72
  newValue = Number.parseInt(newValue);
@@ -28,11 +28,11 @@ export default function DropBox(props) {
28
28
  focusScopeProps = {}
29
29
  } = customProps;
30
30
  const {
31
- autoFocus = true,
32
- restoreFocus = true,
33
- needArrowLoop = true,
34
- needTabLoop = false,
35
- enableEnterAction = true
31
+ needAutoFocus = true,
32
+ needRestoreFocus = true,
33
+ needListNavigation = true,
34
+ needFocusLoop = false,
35
+ needEnterAction = true
36
36
  } = focusScopeProps;
37
37
  const {
38
38
  direction
@@ -55,11 +55,11 @@ export default function DropBox(props) {
55
55
  const dropBoxEle = needFocusScope ? /*#__PURE__*/React.createElement(FocusScope, _extends({
56
56
  onClose: onClose,
57
57
  elementRef: dropBoxRef,
58
- autoFocus: autoFocus,
59
- restoreFocus: restoreFocus,
60
- needArrowLoop: needArrowLoop,
61
- needTabLoop: needTabLoop,
62
- enableEnterAction: enableEnterAction
58
+ needAutoFocus: needAutoFocus,
59
+ needRestoreFocus: needRestoreFocus,
60
+ needListNavigation: needListNavigation,
61
+ needFocusLoop: needFocusLoop,
62
+ needEnterAction: needEnterAction
63
63
  }, focusScopeProps), /*#__PURE__*/React.createElement(DropBoxElement, _extends({
64
64
  isModel: isModel,
65
65
  direction: direction
@@ -14,13 +14,7 @@ export default class DropDown extends React.Component {
14
14
  }
15
15
 
16
16
  }
17
- DropDown.propTypes = DropDown_propTypes; // if (__DOCS__) {
18
- // DropDown.docs = {
19
- // componentGroup: 'Form Elements',
20
- // folderName: 'Style Guide'
21
- // };
22
- // }
23
-
17
+ DropDown.propTypes = DropDown_propTypes;
24
18
  export class DropDownTarget extends React.Component {
25
19
  render() {
26
20
  let {
@@ -1004,13 +1004,12 @@ class AdvancedGroupMultiSelect extends React.Component {
1004
1004
  }, /*#__PURE__*/React.createElement(Card, {
1005
1005
  customClass: `${style.box} ${style[`${palette}Box`]}`,
1006
1006
  onScroll: this.handleScroll
1007
- }, /*#__PURE__*/React.createElement(CardHeader, null, /*#__PURE__*/React.createElement(MultiSelectHeader, {
1008
- needSelectAll: needSelectAll,
1007
+ }, needSelectAll ? /*#__PURE__*/React.createElement(CardHeader, null, /*#__PURE__*/React.createElement(MultiSelectHeader, {
1009
1008
  onSelect: this.handleSelectAll,
1010
1009
  selectAllText: selectAllText,
1011
1010
  suggestions: suggestionOptionIds,
1012
1011
  dataId: dataId
1013
- })), isDataLoaded ? /*#__PURE__*/React.createElement(CardContent, {
1012
+ })) : null, isDataLoaded ? /*#__PURE__*/React.createElement(CardContent, {
1014
1013
  shrink: true,
1015
1014
  customClass: !tabletMode && dropBoxSize ? style[dropBoxSize] : '',
1016
1015
  eleRef: this.suggestionContainerRef
@@ -1066,11 +1065,14 @@ class AdvancedGroupMultiSelect extends React.Component {
1066
1065
  }
1067
1066
 
1068
1067
  AdvancedGroupMultiSelect.defaultProps = AdvancedGroupMultiSelect_defaultProps;
1069
- AdvancedGroupMultiSelect.propTypes = AdvancedGroupMultiSelect_propTypes; // if (__DOCS__) {
1068
+ AdvancedGroupMultiSelect.propTypes = AdvancedGroupMultiSelect_propTypes;
1069
+ const AdvancedGroupMultiSelectComponent = Popup(AdvancedGroupMultiSelect);
1070
+ AdvancedGroupMultiSelectComponent.defaultProps = AdvancedGroupMultiSelect.defaultProps;
1071
+ AdvancedGroupMultiSelectComponent.propTypes = AdvancedGroupMultiSelect.propTypes; // if (__DOCS__) {
1070
1072
  // AdvancedGroupMultiSelect.docs = {
1071
1073
  // componentGroup: 'Form Elements',
1072
1074
  // folderName: 'Style Guide'
1073
1075
  // };
1074
1076
  // }
1075
1077
 
1076
- export default Popup(AdvancedGroupMultiSelect);
1078
+ export default AdvancedGroupMultiSelectComponent;
@@ -514,13 +514,12 @@ export class AdvancedMultiSelectComponent extends MultiSelectComponent {
514
514
  }, /*#__PURE__*/React.createElement(Card, {
515
515
  customClass: style.box,
516
516
  onScroll: this.handleScroll
517
- }, /*#__PURE__*/React.createElement(CardHeader, null, /*#__PURE__*/React.createElement(MultiSelectHeader, {
518
- needSelectAll: needSelectAll,
517
+ }, needSelectAll ? /*#__PURE__*/React.createElement(CardHeader, null, /*#__PURE__*/React.createElement(MultiSelectHeader, {
519
518
  onSelect: this.handleSelectAll,
520
519
  selectAllText: selectAllText,
521
520
  suggestions: suggestions,
522
521
  dataId: dataIdSelectAllEle
523
- })), /*#__PURE__*/React.createElement(CardContent, {
522
+ })) : null, /*#__PURE__*/React.createElement(CardContent, {
524
523
  shrink: true,
525
524
  customClass: !tabletMode && dropBoxSize ? style[dropBoxSize] : '',
526
525
  eleRef: this.suggestionContainerRef
@@ -556,7 +555,8 @@ AdvancedMultiSelectComponent.propTypes = AdvancedMultiSelect_propTypes;
556
555
  AdvancedMultiSelectComponent.defaultProps = AdvancedMultiSelect_defaultProps;
557
556
  AdvancedMultiSelectComponent.displayName = 'AdvancedMultiSelect';
558
557
  const AdvancedMultiSelect = Popup(AdvancedMultiSelectComponent);
559
- AdvancedMultiSelect.defaultProps = AdvancedMultiSelectComponent.defaultProps; // if (__DOCS__) {
558
+ AdvancedMultiSelect.defaultProps = AdvancedMultiSelectComponent.defaultProps;
559
+ AdvancedMultiSelect.propTypes = AdvancedMultiSelectComponent.propTypes; // if (__DOCS__) {
560
560
  // AdvancedMultiSelectComponent.docs = {
561
561
  // componentGroup: 'Form Elements',
562
562
  // folderName: 'Style Guide'
@@ -0,0 +1,50 @@
1
+ import React from 'react';
2
+ import Button from '../../Button/Button';
3
+ import { Container, Box } from '../../Layout';
4
+ import { defaultProps } from './props/defaultProps';
5
+ import { propTypes } from './props/propTypes';
6
+ import style from './MobileHeader.module.css';
7
+ export default function MobileHeader(props) {
8
+ let {
9
+ i18nKeys,
10
+ onClick,
11
+ selectedOptions,
12
+ children
13
+ } = props;
14
+ const i18nText = Object.assign({}, i18nKeys, {
15
+ mobileHeaderText: i18nKeys.mobileHeaderText ? `${i18nKeys.mobileHeaderText}` : `${selectedOptions.length} Selected`
16
+ });
17
+ let {
18
+ mobilePrimaryButtonText,
19
+ mobileSecondaryButtonText,
20
+ mobileHeaderText
21
+ } = i18nText;
22
+ const showMobileHeader = i18nKeys.mobileHeaderText || !i18nKeys.mobileHeaderText && selectedOptions.length >= 1;
23
+ return /*#__PURE__*/React.createElement("div", {
24
+ className: style.container
25
+ }, /*#__PURE__*/React.createElement(Container, {
26
+ isCover: false,
27
+ align: "vertical",
28
+ alignContent: "between",
29
+ alignBox: "row",
30
+ className: style.header
31
+ }, /*#__PURE__*/React.createElement(Box, {
32
+ className: style.cardHeading,
33
+ "data-title": showMobileHeader ? mobileHeaderText : null,
34
+ flexible: true
35
+ }, showMobileHeader && mobileHeaderText), /*#__PURE__*/React.createElement(Box, {
36
+ shrink: true
37
+ }, /*#__PURE__*/React.createElement(Button, {
38
+ onClick: onClick,
39
+ isBold: true,
40
+ size: "medium",
41
+ text: selectedOptions.length >= 1 ? mobilePrimaryButtonText : mobileSecondaryButtonText,
42
+ palette: "plainPrimary",
43
+ customClass: {
44
+ customButton: style.buttonText
45
+ },
46
+ "data-title": mobilePrimaryButtonText
47
+ }))), children);
48
+ }
49
+ MobileHeader.defaultProps = defaultProps;
50
+ MobileHeader.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,7 @@
1
+ export const defaultProps = {
2
+ selectedOptions: [],
3
+ i18nKeys: {
4
+ mobilePrimaryButtonText: 'Done',
5
+ mobileSecondaryButtonText: 'Close'
6
+ }
7
+ };
@@ -0,0 +1,7 @@
1
+ import PropTypes from 'prop-types';
2
+ export const propTypes = {
3
+ i18nKeys: PropTypes.object,
4
+ onClick: PropTypes.func,
5
+ selectedOptions: PropTypes.array,
6
+ children: PropTypes.node
7
+ };
@@ -2,20 +2,21 @@
2
2
  import React from 'react';
3
3
  import { MultiSelect_propTypes } from './props/propTypes';
4
4
  import { MultiSelect_defaultProps } from './props/defaultProps';
5
+ import { defaultProps as MobileHeader_defaultProps } from './MobileHeader/props/defaultProps';
5
6
  /**** Components ****/
6
7
 
7
8
  import Popup from '../Popup/Popup';
8
9
  import TextBoxIcon from '../TextBoxIcon/TextBoxIcon';
9
10
  import { Container, Box } from '../Layout';
10
- import Card, { CardContent, CardHeader, CardFooter } from '../Card/Card';
11
+ import Card, { CardContent, CardFooter, CardHeader } from '../Card/Card';
11
12
  import SelectedOptions from './SelectedOptions';
12
13
  import Suggestions from './Suggestions';
13
14
  import EmptyState from './EmptyState';
14
- import MultiSelectHeader from './MultiSelectHeader';
15
15
  import CssProvider from '../Provider/CssProvider';
16
16
  import { getUniqueId } from '../Provider/IdProvider';
17
17
  import ResponsiveDropBox from '../ResponsiveDropBox/ResponsiveDropBox';
18
18
  import { ResponsiveReceiver } from '../Responsive/CustomResponsive';
19
+ import MultiSelectHeader from './MultiSelectHeader';
19
20
  import Loader from '@zohodesk/svg/lib/Loader/Loader';
20
21
  /**** Icons ****/
21
22
 
@@ -27,7 +28,7 @@ import style from './MultiSelect.module.css';
27
28
 
28
29
  import { debounce, scrollTo, bind, getIsEmptyValue, getSearchString, findScrollEnd } from '../utils/Common.js';
29
30
  import { makeFormatOptions, makeGetMultiSelectFilterSuggestions as makeGetFilterSuggestions, makeGetMultiSelectSelectedOptions as makeGetSelectedOptions, makeObjectConcat, filterSelectedOptions, makeGetIsShowClearIcon } from '../utils/dropDownUtils';
30
- import { getLibraryConfig } from '../Provider/Config';
31
+ import MobileHeader from './MobileHeader/MobileHeader';
31
32
  /* eslint-disable react/forbid-component-props */
32
33
 
33
34
  /* eslint-disable react/no-unused-prop-types */
@@ -74,7 +75,7 @@ export class MultiSelectComponent extends React.Component {
74
75
  this.allSelectedOptionsDetails = normalizedSelectedOptions;
75
76
  this.suggestionsOrder = [];
76
77
  this._isMounted = false;
77
- bind.apply(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']);
78
+ bind.apply(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']);
78
79
  this.handleSearchOptions = debounce(this.handleSearchOptions.bind(this), searchDebounceTime);
79
80
  this.handleScroll = this.handleScroll.bind(this);
80
81
  this.handleScrollFuncCall = debounce(this.handleScrollFuncCall.bind(this), 500);
@@ -530,9 +531,7 @@ export class MultiSelectComponent extends React.Component {
530
531
  this.handleChange(newSelectedOptions);
531
532
  }
532
533
 
533
- this.searchInput && this.searchInput.focus({
534
- preventScroll: true
535
- });
534
+ this.moveFocusToTextbox();
536
535
  }
537
536
 
538
537
  handleMouseEnter(id, val, hoverOptionIndex, e) {
@@ -680,9 +679,7 @@ export class MultiSelectComponent extends React.Component {
680
679
  this.setState({
681
680
  shiftKeyPressHighLighted: 0
682
681
  });
683
- this.searchInput && this.searchInput.focus({
684
- preventScroll: true
685
- });
682
+ this.moveFocusToTextbox();
686
683
  }
687
684
 
688
685
  handleScroll(e) {
@@ -732,9 +729,7 @@ export class MultiSelectComponent extends React.Component {
732
729
 
733
730
  onChange && onChange(newSelectedOptions, allSelectedOptionsDetails); // this.setState({ searchStr: '' });
734
731
 
735
- this.searchInput && this.searchInput.focus({
736
- preventScroll: true
737
- });
732
+ this.moveFocusToTextbox();
738
733
 
739
734
  if (needToCloseOnSelect) {
740
735
  togglePopup(e);
@@ -824,7 +819,11 @@ export class MultiSelectComponent extends React.Component {
824
819
  isDisabled,
825
820
  isReadOnly
826
821
  } = this.props;
827
- this.searchInput && !isDisabled && !isReadOnly && this.searchInput.focus({
822
+ !isDisabled && !isReadOnly && this.moveFocusToTextbox();
823
+ }
824
+
825
+ moveFocusToTextbox() {
826
+ this.searchInput && this.searchInput.focus({
828
827
  preventScroll: true
829
828
  });
830
829
  }
@@ -850,78 +849,46 @@ export class MultiSelectComponent extends React.Component {
850
849
  };
851
850
  }
852
851
 
853
- render() {
852
+ getSelectionUI() {
853
+ let isResponsive = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
854
854
  let {
855
- isReadOnly,
856
- needSelectAll,
857
- searchEmptyMessage,
858
- emptyMessage,
859
- noMoreOptionsMessage,
860
- dropBoxSize,
855
+ size,
856
+ needBorder,
857
+ disableAction,
858
+ borderColor,
861
859
  placeHolder,
862
- isPopupOpen,
863
- isPopupReady,
864
- position,
865
- defaultDropBoxPosition,
866
- selectAllText,
867
- getContainerRef,
868
- removeClose,
869
- isAnimate,
870
- animationStyle,
871
860
  textBoxSize,
872
861
  variant,
873
- size,
874
- isDisabled,
875
- title,
876
- needResponsive,
877
- dataId,
878
- dataSelectorId,
879
- isSearching,
880
- borderColor,
881
862
  textBoxClass,
882
- needBorder,
883
- disableAction,
884
- isBoxPaddingNeed,
885
- palette,
886
863
  needAutoFocus,
887
864
  htmlId,
888
- i18nKeys,
889
- a11y,
890
865
  children,
891
866
  customChildrenClass,
892
- getFooter,
893
- needEffect,
894
- disabledOptions,
895
- boxSize,
896
867
  autoComplete,
897
- isLoading
868
+ a11y,
869
+ disabledOptions,
870
+ i18nKeys,
871
+ isReadOnly,
872
+ isDisabled,
873
+ palette,
874
+ dataId,
875
+ setAriaId,
876
+ isPopupOpen,
877
+ ariaErrorId
898
878
  } = this.props;
879
+ let {
880
+ isActive,
881
+ selectedOptions,
882
+ highLightedSelectOptions,
883
+ searchStr
884
+ } = this.state;
899
885
  const {
900
- clearText = 'Clear all',
901
- searchText = 'Searching...'
886
+ clearText = 'Clear all'
902
887
  } = i18nKeys;
903
888
  const {
904
889
  clearLabel = 'Clear all',
905
890
  ariaLabelledby
906
891
  } = a11y;
907
- i18nKeys = Object.assign({}, i18nKeys, {
908
- emptyText: i18nKeys.emptyText || emptyMessage,
909
- searchEmptyText: i18nKeys.searchEmptyText || searchEmptyMessage,
910
- noMoreText: i18nKeys.noMoreText || noMoreOptionsMessage
911
- });
912
- const {
913
- selectedOptions,
914
- searchStr,
915
- hoverOption,
916
- highLightedSelectOptions,
917
- options,
918
- isFetchingOptions,
919
- isActive,
920
- selectedOptionIds
921
- } = this.state;
922
- const suggestions = this.handleFilterSuggestions();
923
- const setAriaId = this.getNextAriaId();
924
- const ariaErrorId = this.getNextAriaId();
925
892
  let {
926
893
  isShowClearIcon: isShowClear
927
894
  } = this.getIsShowClearIcon({
@@ -929,17 +896,10 @@ export class MultiSelectComponent extends React.Component {
929
896
  disabledOptions
930
897
  });
931
898
  const isShowClearIcon = !isReadOnly && !isDisabled && !disableAction && isShowClear;
932
- return /*#__PURE__*/React.createElement("div", {
933
- className: `${style.wrapper} ${isDisabled ? style.disabled : ''} ${isReadOnly ? style.readOnly : ''} ${disableAction ? CssProvider('isBlock') : ''} ${borderColor === 'transparent' ? style.transparentContainer : ''} ${needEffect && !(isDisabled || isReadOnly) ? style.effect : ''}`,
934
- "data-id": `${isDisabled ? `${dataId}_disabled` : isReadOnly ? `${dataId}_readOnly` : dataId}`,
935
- "data-test-id": `${isDisabled ? `${dataId}_disabled` : isReadOnly ? `${dataId}_readOnly` : dataId}`,
936
- "data-title": isDisabled ? title : null,
937
- onClick: this.handleInputFocus,
938
- "data-selector-id": dataSelectorId
939
- }, /*#__PURE__*/React.createElement(Container, {
899
+ return /*#__PURE__*/React.createElement(Container, {
940
900
  align: "vertical",
941
901
  alignBox: "row",
942
- className: `${style.container} ${style[size]} ${needBorder ? !disableAction ? style[`borderColor_${borderColor}`] : style.borderColor_transparent : ''} ${isActive && needBorder ? style.active : ''} ${textBoxClass} ${needBorder ? style.hasBorder : ''}`,
902
+ className: `${style.container} ${style[size]} ${needBorder ? !disableAction ? style[`borderColor_${borderColor}`] : style.borderColor_transparent : ''} ${isActive && needBorder || isResponsive ? style.active : ''} ${textBoxClass} ${needBorder ? style.hasBorder : ''}`,
943
903
  eleRef: this.selectedOptionContainerRef,
944
904
  wrap: "wrap"
945
905
  }, /*#__PURE__*/React.createElement(SelectedOptions, {
@@ -958,14 +918,14 @@ export class MultiSelectComponent extends React.Component {
958
918
  shrink: true
959
919
  }, /*#__PURE__*/React.createElement("span", {
960
920
  className: ` ${style.custmSpan} ${textBoxSize === 'xmedium' ? style.custmSpanXmedium : style.custmSpanMedium} ${isShowClearIcon ? style.clearIconSpace : ''}
961
- ${customChildrenClass ? customChildrenClass : ''}`
921
+ ${customChildrenClass ? customChildrenClass : ''}`
962
922
  }, searchStr), /*#__PURE__*/React.createElement(TextBoxIcon, {
963
923
  isDisabled: isDisabled,
964
924
  inputRef: this.searchInputRef,
965
925
  needBorder: false,
966
926
  onBlur: this.handleInactive,
967
927
  onChange: this.handleSearch,
968
- onClick: this.handleInputCick,
928
+ onClick: !isResponsive ? this.handleInputCick : undefined,
969
929
  onFocus: this.handleActive,
970
930
  onKeyDown: this.handleKeyDown,
971
931
  autofocus: needAutoFocus,
@@ -1006,7 +966,69 @@ export class MultiSelectComponent extends React.Component {
1006
966
  size: "15"
1007
967
  })) : null, children ? /*#__PURE__*/React.createElement(Box, {
1008
968
  dataId: `${dataId}_children`
1009
- }, children) : null)))), !isReadOnly && !isDisabled && !disableAction && isPopupOpen ? /*#__PURE__*/React.createElement(ResponsiveReceiver, {
969
+ }, children) : null))));
970
+ }
971
+
972
+ render() {
973
+ let {
974
+ isReadOnly,
975
+ searchEmptyMessage,
976
+ emptyMessage,
977
+ noMoreOptionsMessage,
978
+ dropBoxSize,
979
+ isPopupOpen,
980
+ isPopupReady,
981
+ position,
982
+ defaultDropBoxPosition,
983
+ getContainerRef,
984
+ removeClose,
985
+ isAnimate,
986
+ animationStyle,
987
+ isDisabled,
988
+ title,
989
+ needResponsive,
990
+ dataId,
991
+ dataSelectorId,
992
+ isSearching,
993
+ borderColor,
994
+ disableAction,
995
+ isBoxPaddingNeed,
996
+ palette,
997
+ i18nKeys,
998
+ getFooter,
999
+ needEffect,
1000
+ boxSize,
1001
+ isLoading,
1002
+ selectAllText,
1003
+ needSelectAll
1004
+ } = this.props;
1005
+ const {
1006
+ selectedOptions,
1007
+ searchStr,
1008
+ hoverOption,
1009
+ options,
1010
+ isFetchingOptions,
1011
+ selectedOptionIds
1012
+ } = this.state;
1013
+ const {
1014
+ searchText = 'Searching...'
1015
+ } = i18nKeys;
1016
+ const suggestions = this.handleFilterSuggestions();
1017
+ const setAriaId = this.getNextAriaId();
1018
+ const ariaErrorId = this.getNextAriaId();
1019
+ i18nKeys = Object.assign({}, MobileHeader_defaultProps.i18nKeys, i18nKeys, {
1020
+ emptyText: i18nKeys.emptyText || emptyMessage,
1021
+ searchEmptyText: i18nKeys.searchEmptyText || searchEmptyMessage,
1022
+ noMoreText: i18nKeys.noMoreText || noMoreOptionsMessage
1023
+ });
1024
+ return /*#__PURE__*/React.createElement("div", {
1025
+ className: `${style.wrapper} ${isDisabled ? style.disabled : ''} ${isReadOnly ? style.readOnly : ''} ${disableAction ? CssProvider('isBlock') : ''} ${borderColor === 'transparent' ? style.transparentContainer : ''} ${needEffect && !(isDisabled || isReadOnly) ? style.effect : ''}`,
1026
+ "data-id": `${isDisabled ? `${dataId}_disabled` : isReadOnly ? `${dataId}_readOnly` : dataId}`,
1027
+ "data-test-id": `${isDisabled ? `${dataId}_disabled` : isReadOnly ? `${dataId}_readOnly` : dataId}`,
1028
+ "data-title": isDisabled ? title : null,
1029
+ onClick: this.handleInputFocus,
1030
+ "data-selector-id": dataSelectorId
1031
+ }, this.getSelectionUI(), !isReadOnly && !isDisabled && !disableAction && isPopupOpen ? /*#__PURE__*/React.createElement(ResponsiveReceiver, {
1010
1032
  query: this.responsiveFunc,
1011
1033
  responsiveId: "Helmet"
1012
1034
  }, _ref2 => {
@@ -1038,13 +1060,18 @@ export class MultiSelectComponent extends React.Component {
1038
1060
  }, /*#__PURE__*/React.createElement(Card, {
1039
1061
  customClass: `${style.box} ${style[`${palette}Box`]}`,
1040
1062
  onScroll: this.handleScroll
1041
- }, /*#__PURE__*/React.createElement(CardHeader, null, /*#__PURE__*/React.createElement(MultiSelectHeader, {
1042
- needSelectAll: needSelectAll,
1063
+ }, tabletMode && /*#__PURE__*/React.createElement(MobileHeader, {
1064
+ selectedOptions: selectedOptions,
1065
+ i18nKeys: i18nKeys,
1066
+ onClick: this.handlePopupClose
1067
+ }, /*#__PURE__*/React.createElement("div", {
1068
+ className: style.effect
1069
+ }, this.getSelectionUI(true))), needSelectAll ? /*#__PURE__*/React.createElement(CardHeader, null, /*#__PURE__*/React.createElement(MultiSelectHeader, {
1043
1070
  onSelect: this.handleSelectAll,
1044
1071
  selectAllText: selectAllText,
1045
1072
  suggestions: suggestions,
1046
1073
  dataId: dataId
1047
- })), isLoading ? /*#__PURE__*/React.createElement(Container, {
1074
+ })) : null, isLoading ? /*#__PURE__*/React.createElement(Container, {
1048
1075
  align: "both",
1049
1076
  className: style.loader
1050
1077
  }, /*#__PURE__*/React.createElement(Loader, null)) : /*#__PURE__*/React.createElement(CardContent, {
@@ -1084,13 +1111,7 @@ export class MultiSelectComponent extends React.Component {
1084
1111
 
1085
1112
  }
1086
1113
  MultiSelectComponent.propTypes = MultiSelect_propTypes;
1087
- MultiSelectComponent.defaultProps = MultiSelect_defaultProps; // if (__DOCS__) {
1088
- // MultiSelectComponent.docs = {
1089
- // componentGroup: 'Form Elements',
1090
- // folderName: 'Style Guide'
1091
- // };
1092
- // }
1093
-
1114
+ MultiSelectComponent.defaultProps = MultiSelect_defaultProps;
1094
1115
  MultiSelectComponent.displayName = 'MultiSelect';
1095
1116
  const MultiSelect = Popup(MultiSelectComponent);
1096
1117
  MultiSelect.propTypes = MultiSelectComponent.propTypes;
@@ -192,10 +192,7 @@
192
192
  [dir=rtl] .clearIconSpace {
193
193
  padding-left: var(--zd_size37)
194
194
  }
195
- .search{
196
- /* Variable:Ignore */
197
- padding: 0px 20px;
198
- }
195
+
199
196
  .more {
200
197
  font-size: var(--zd_font_size14) ;
201
198
  color: var(--zdt_multiselect_more_text);
@@ -204,4 +201,4 @@
204
201
  margin-top: var(--zd_size5) ;
205
202
  background-color: var(--zdt_multiselect_delete_bg);
206
203
  border: 0;
207
- }
204
+ }
@@ -12,12 +12,11 @@ export default class MultiSelectHeader extends React.PureComponent {
12
12
  render() {
13
13
  let {
14
14
  dataId,
15
- needSelectAll,
16
15
  onSelect,
17
16
  selectAllText,
18
17
  suggestions
19
18
  } = this.props;
20
- return /*#__PURE__*/React.createElement(React.Fragment, null, suggestions.length > 1 && needSelectAll ? /*#__PURE__*/React.createElement(ListItemWithIcon, {
19
+ return /*#__PURE__*/React.createElement(React.Fragment, null, suggestions.length > 1 ? /*#__PURE__*/React.createElement(ListItemWithIcon, {
21
20
  autoHover: false,
22
21
  value: selectAllText,
23
22
  iconName: "ZD-androidd",