@zohodesk/components 1.0.0-alpha-271 → 1.0.0-alpha-272

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 (352) hide show
  1. package/README.md +4 -0
  2. package/es/Accordion/Accordion.js +7 -3
  3. package/es/Accordion/AccordionItem.js +4 -2
  4. package/es/Animation/Animation.js +3 -3
  5. package/es/AppContainer/AppContainer.js +13 -5
  6. package/es/Avatar/Avatar.js +23 -11
  7. package/es/AvatarTeam/AvatarTeam.js +3 -3
  8. package/es/Button/Button.js +4 -3
  9. package/es/Buttongroup/Buttongroup.js +3 -3
  10. package/es/Card/Card.js +21 -10
  11. package/es/CheckBox/CheckBox.js +5 -3
  12. package/es/DateTime/CalendarView.js +32 -20
  13. package/es/DateTime/DateTime.js +75 -10
  14. package/es/DateTime/DateTimePopupFooter.js +4 -2
  15. package/es/DateTime/DateTimePopupHeader.js +8 -2
  16. package/es/DateTime/DateWidget.js +98 -35
  17. package/es/DateTime/DaysRow.js +4 -2
  18. package/es/DateTime/Time.js +10 -2
  19. package/es/DateTime/YearView.js +28 -4
  20. package/es/DateTime/__tests__/CalendarView.spec.js +1 -0
  21. package/es/DateTime/__tests__/DateTime.spec.js +1 -0
  22. package/es/DateTime/__tests__/DateWidget.spec.js +2 -3
  23. package/es/DateTime/common.js +3 -0
  24. package/es/DateTime/constants.js +1 -0
  25. package/es/DateTime/dateFormatUtils/dateFormat.js +63 -30
  26. package/es/DateTime/dateFormatUtils/dateFormats.js +0 -1
  27. package/es/DateTime/dateFormatUtils/dayChange.js +13 -4
  28. package/es/DateTime/dateFormatUtils/index.js +32 -2
  29. package/es/DateTime/dateFormatUtils/monthChange.js +8 -0
  30. package/es/DateTime/dateFormatUtils/timeChange.js +22 -6
  31. package/es/DateTime/dateFormatUtils/yearChange.js +11 -2
  32. package/es/DateTime/objectUtils.js +14 -20
  33. package/es/DateTime/props/defaultProps.js +2 -1
  34. package/es/DateTime/typeChecker.js +3 -0
  35. package/es/DateTime/validator.js +58 -6
  36. package/es/DropBox/DropBox.js +6 -2
  37. package/es/DropBox/DropBoxElement/DropBoxElement.js +7 -0
  38. package/es/DropBox/DropBoxElement/css/cssJSLogic.js +5 -3
  39. package/es/DropBox/DropBoxElement/useDropboxPosCalc.js +3 -0
  40. package/es/DropBox/props/defaultProps.js +1 -2
  41. package/es/DropBox/props/propTypes.js +1 -2
  42. package/es/DropDown/DropDown.js +8 -4
  43. package/es/DropDown/DropDownHeading.js +4 -5
  44. package/es/DropDown/DropDownItem.js +6 -0
  45. package/es/DropDown/DropDownSearch.js +4 -0
  46. package/es/DropDown/DropDownSeparator.js +1 -0
  47. package/es/DropDown/__tests__/DropDown.spec.js +1 -2
  48. package/es/Heading/Heading.js +2 -3
  49. package/es/Label/Label.js +2 -3
  50. package/es/Layout/Box.js +13 -0
  51. package/es/Layout/Container.js +12 -1
  52. package/es/Layout/index.js +1 -2
  53. package/es/ListItem/ListContainer.js +8 -3
  54. package/es/ListItem/ListItem.js +9 -3
  55. package/es/ListItem/ListItemWithAvatar.js +9 -3
  56. package/es/ListItem/ListItemWithCheckBox.js +7 -2
  57. package/es/ListItem/ListItemWithIcon.js +8 -3
  58. package/es/ListItem/ListItemWithRadio.js +7 -3
  59. package/es/Modal/Modal.js +28 -11
  60. package/es/MultiSelect/AdvancedGroupMultiSelect.js +89 -13
  61. package/es/MultiSelect/AdvancedMultiSelect.js +32 -9
  62. package/es/MultiSelect/EmptyState.js +2 -0
  63. package/es/MultiSelect/MultiSelect.js +99 -32
  64. package/es/MultiSelect/MultiSelectHeader.js +3 -0
  65. package/es/MultiSelect/MultiSelectWithAvatar.js +12 -6
  66. package/es/MultiSelect/SelectedOptions.js +6 -3
  67. package/es/MultiSelect/Suggestions.js +7 -3
  68. package/es/MultiSelect/__tests__/MultiSelect.spec.js +4 -6
  69. package/es/MultiSelect/props/propTypes.js +2 -0
  70. package/es/PopOver/PopOver.js +18 -2
  71. package/es/PopOver/__tests__/PopOver.spec.js +2 -1
  72. package/es/Popup/Popup.js +77 -24
  73. package/es/Popup/__tests__/Popup.spec.js +17 -5
  74. package/es/Popup/viewPort.js +16 -4
  75. package/es/Provider/IdProvider.js +10 -5
  76. package/es/Provider/LibraryContext.js +6 -4
  77. package/es/Provider/NumberGenerator/NumberGenerator.js +21 -7
  78. package/es/Provider/ZindexProvider.js +9 -2
  79. package/es/Radio/Radio.js +4 -2
  80. package/es/Responsive/CustomResponsive.js +30 -18
  81. package/es/Responsive/RefWrapper.js +6 -7
  82. package/es/Responsive/ResizeComponent.js +35 -25
  83. package/es/Responsive/ResizeObserver.js +26 -6
  84. package/es/Responsive/Responsive.js +34 -20
  85. package/es/Responsive/index.js +1 -3
  86. package/es/Responsive/sizeObservers.js +28 -7
  87. package/es/Responsive/utils/index.js +7 -5
  88. package/es/Responsive/utils/shallowCompare.js +7 -2
  89. package/es/Responsive/windowResizeObserver.js +7 -0
  90. package/es/ResponsiveDropBox/ResponsiveDropBox.js +4 -0
  91. package/es/Ribbon/Ribbon.js +3 -2
  92. package/es/RippleEffect/RippleEffect.js +1 -3
  93. package/es/Select/GroupSelect.js +58 -14
  94. package/es/Select/Select.js +79 -33
  95. package/es/Select/SelectWithAvatar.js +17 -4
  96. package/es/Select/SelectWithIcon.js +46 -5
  97. package/es/Select/__tests__/Select.spec.js +6 -8
  98. package/es/Select/props/propTypes.js +1 -0
  99. package/es/Stencils/Stencils.js +3 -3
  100. package/es/Switch/Switch.js +5 -3
  101. package/es/Tab/Tab.js +4 -4
  102. package/es/Tab/TabContent.js +1 -0
  103. package/es/Tab/TabContentWrapper.js +2 -0
  104. package/es/Tab/TabWrapper.js +5 -2
  105. package/es/Tab/Tabs.js +54 -7
  106. package/es/Tab/__tests__/Tab.spec.js +1 -3
  107. package/es/Tab/__tests__/TabWrapper.spec.js +1 -0
  108. package/es/Tag/Tag.js +6 -3
  109. package/es/TextBox/TextBox.js +15 -3
  110. package/es/TextBox/__tests__/TextBox.spec.js +1 -4
  111. package/es/TextBoxIcon/TextBoxIcon.js +9 -2
  112. package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +2 -7
  113. package/es/Textarea/Textarea.js +12 -3
  114. package/es/Textarea/__tests__/Textarea.spec.js +2 -2
  115. package/es/Tooltip/Tooltip.js +58 -14
  116. package/es/Tooltip/__tests__/Tooltip.spec.js +5 -0
  117. package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +3 -2
  118. package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +7 -5
  119. package/es/deprecated/PortalLayer/PortalLayer.js +25 -20
  120. package/es/semantic/Button/Button.js +3 -2
  121. package/es/utils/Common.js +54 -9
  122. package/es/utils/ContextOptimizer.js +4 -5
  123. package/es/utils/__tests__/debounce.spec.js +2 -2
  124. package/es/utils/constructFullName.js +2 -0
  125. package/es/utils/css/compileClassNames.js +5 -0
  126. package/es/utils/css/mergeStyle.js +7 -6
  127. package/es/utils/css/utils.js +1 -0
  128. package/es/utils/datetime/GMTZones.js +48 -0
  129. package/es/utils/datetime/common.js +31 -7
  130. package/es/utils/debounce.js +5 -1
  131. package/es/utils/dropDownUtils.js +68 -11
  132. package/es/utils/getInitial.js +4 -0
  133. package/es/utils/shallowEqual.js +6 -0
  134. package/lib/Accordion/Accordion.js +42 -18
  135. package/lib/Accordion/AccordionItem.js +40 -18
  136. package/lib/Accordion/__tests__/Accordion.spec.js +3 -0
  137. package/lib/Accordion/index.js +3 -0
  138. package/lib/Accordion/props/propTypes.js +3 -0
  139. package/lib/Animation/Animation.js +38 -18
  140. package/lib/Animation/__tests__/Animation.spec.js +11 -7
  141. package/lib/Animation/props/propTypes.js +3 -0
  142. package/lib/AppContainer/AppContainer.js +56 -21
  143. package/lib/AppContainer/props/propTypes.js +3 -0
  144. package/lib/Avatar/Avatar.js +78 -38
  145. package/lib/Avatar/__tests__/Avatar.spec.js +44 -0
  146. package/lib/Avatar/props/propTypes.js +3 -0
  147. package/lib/AvatarTeam/AvatarTeam.js +52 -30
  148. package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +13 -0
  149. package/lib/AvatarTeam/props/propTypes.js +3 -0
  150. package/lib/Button/Button.js +31 -20
  151. package/lib/Button/css/cssJSLogic.js +18 -17
  152. package/lib/Button/index.js +3 -0
  153. package/lib/Button/props/defaultProps.js +2 -0
  154. package/lib/Button/props/propTypes.js +3 -0
  155. package/lib/Buttongroup/Buttongroup.js +32 -12
  156. package/lib/Buttongroup/__test__/Buttongroup.spec.js +10 -0
  157. package/lib/Buttongroup/props/propTypes.js +3 -0
  158. package/lib/Card/Card.js +102 -46
  159. package/lib/Card/__tests__/Card.spec.js +10 -1
  160. package/lib/Card/index.js +4 -0
  161. package/lib/Card/props/propTypes.js +3 -0
  162. package/lib/CheckBox/CheckBox.js +71 -47
  163. package/lib/CheckBox/__tests__/CheckBox.spec.js +3 -0
  164. package/lib/CheckBox/props/propTypes.js +3 -0
  165. package/lib/DateTime/CalendarView.js +82 -42
  166. package/lib/DateTime/DateTime.js +246 -158
  167. package/lib/DateTime/DateTimePopupFooter.js +31 -8
  168. package/lib/DateTime/DateTimePopupHeader.js +48 -17
  169. package/lib/DateTime/DateWidget.js +352 -250
  170. package/lib/DateTime/DaysRow.js +27 -5
  171. package/lib/DateTime/Time.js +73 -32
  172. package/lib/DateTime/YearView.js +77 -28
  173. package/lib/DateTime/__tests__/CalendarView.spec.js +13 -5
  174. package/lib/DateTime/__tests__/DateTime.spec.js +51 -37
  175. package/lib/DateTime/__tests__/DateWidget.spec.js +10 -8
  176. package/lib/DateTime/common.js +6 -0
  177. package/lib/DateTime/constants.js +1 -0
  178. package/lib/DateTime/dateFormatUtils/dateFormat.js +184 -122
  179. package/lib/DateTime/dateFormatUtils/dateFormats.js +0 -1
  180. package/lib/DateTime/dateFormatUtils/dayChange.js +14 -7
  181. package/lib/DateTime/dateFormatUtils/index.js +74 -16
  182. package/lib/DateTime/dateFormatUtils/monthChange.js +19 -9
  183. package/lib/DateTime/dateFormatUtils/timeChange.js +54 -22
  184. package/lib/DateTime/dateFormatUtils/yearChange.js +22 -11
  185. package/lib/DateTime/index.js +2 -0
  186. package/lib/DateTime/objectUtils.js +24 -20
  187. package/lib/DateTime/props/defaultProps.js +2 -1
  188. package/lib/DateTime/props/propTypes.js +11 -1
  189. package/lib/DateTime/typeChecker.js +4 -0
  190. package/lib/DateTime/validator.js +73 -10
  191. package/lib/DropBox/DropBox.js +34 -10
  192. package/lib/DropBox/DropBoxElement/DropBoxElement.js +59 -38
  193. package/lib/DropBox/DropBoxElement/css/cssJSLogic.js +42 -34
  194. package/lib/DropBox/DropBoxElement/props/propTypes.js +3 -0
  195. package/lib/DropBox/DropBoxElement/useDropboxPosCalc.js +14 -9
  196. package/lib/DropBox/__tests__/DropBox.spec.js +6 -2
  197. package/lib/DropBox/css/cssJSLogic.js +3 -1
  198. package/lib/DropBox/props/defaultProps.js +8 -4
  199. package/lib/DropBox/props/propTypes.js +10 -4
  200. package/lib/DropDown/DropDown.js +52 -8
  201. package/lib/DropDown/DropDownHeading.js +39 -20
  202. package/lib/DropDown/DropDownItem.js +42 -20
  203. package/lib/DropDown/DropDownSearch.js +40 -17
  204. package/lib/DropDown/DropDownSeparator.js +24 -4
  205. package/lib/DropDown/__tests__/DropDown.spec.js +15 -9
  206. package/lib/DropDown/__tests__/DropDownItem.spec.js +9 -4
  207. package/lib/DropDown/__tests__/DropDownSearch.spec.js +3 -0
  208. package/lib/DropDown/index.js +9 -0
  209. package/lib/DropDown/props/propTypes.js +6 -4
  210. package/lib/Heading/Heading.js +37 -15
  211. package/lib/Heading/props/propTypes.js +3 -0
  212. package/lib/Label/Label.js +39 -19
  213. package/lib/Label/__tests__/Label.spec.js +14 -1
  214. package/lib/Label/props/propTypes.js +3 -0
  215. package/lib/Layout/Box.js +31 -11
  216. package/lib/Layout/Container.js +29 -10
  217. package/lib/Layout/__tests__/Box.spec.js +65 -49
  218. package/lib/Layout/__tests__/Container.spec.js +67 -50
  219. package/lib/Layout/index.js +3 -0
  220. package/lib/Layout/props/propTypes.js +3 -0
  221. package/lib/Layout/utils.js +10 -0
  222. package/lib/ListItem/ListContainer.js +48 -27
  223. package/lib/ListItem/ListItem.js +69 -45
  224. package/lib/ListItem/ListItemWithAvatar.js +75 -48
  225. package/lib/ListItem/ListItemWithCheckBox.js +64 -39
  226. package/lib/ListItem/ListItemWithIcon.js +68 -44
  227. package/lib/ListItem/ListItemWithRadio.js +65 -41
  228. package/lib/ListItem/index.js +7 -0
  229. package/lib/ListItem/props/propTypes.js +6 -4
  230. package/lib/Modal/Modal.js +45 -10
  231. package/lib/Modal/props/propTypes.js +3 -0
  232. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +294 -166
  233. package/lib/MultiSelect/AdvancedMultiSelect.js +202 -125
  234. package/lib/MultiSelect/EmptyState.js +45 -24
  235. package/lib/MultiSelect/MultiSelect.js +323 -206
  236. package/lib/MultiSelect/MultiSelectHeader.js +30 -8
  237. package/lib/MultiSelect/MultiSelectWithAvatar.js +105 -63
  238. package/lib/MultiSelect/SelectedOptions.js +43 -17
  239. package/lib/MultiSelect/Suggestions.js +64 -32
  240. package/lib/MultiSelect/__tests__/MultiSelect.spec.js +86 -75
  241. package/lib/MultiSelect/index.js +5 -0
  242. package/lib/MultiSelect/props/defaultProps.js +2 -0
  243. package/lib/MultiSelect/props/propTypes.js +5 -0
  244. package/lib/PopOver/PopOver.js +95 -49
  245. package/lib/PopOver/__tests__/PopOver.spec.js +4 -1
  246. package/lib/PopOver/index.js +4 -0
  247. package/lib/PopOver/props/propTypes.js +3 -0
  248. package/lib/Popup/Popup.js +158 -81
  249. package/lib/Popup/__tests__/Popup.spec.js +43 -8
  250. package/lib/Popup/viewPort.js +28 -14
  251. package/lib/Provider/AvatarSize.js +4 -0
  252. package/lib/Provider/Config.js +2 -0
  253. package/lib/Provider/CssProvider.js +4 -0
  254. package/lib/Provider/IdProvider.js +17 -6
  255. package/lib/Provider/LibraryContext.js +35 -15
  256. package/lib/Provider/LibraryContextInit.js +4 -0
  257. package/lib/Provider/NumberGenerator/NumberGenerator.js +44 -15
  258. package/lib/Provider/ZindexProvider.js +15 -3
  259. package/lib/Provider/index.js +5 -0
  260. package/lib/Radio/Radio.js +61 -38
  261. package/lib/Radio/__tests__/Radiospec.js +9 -5
  262. package/lib/Radio/props/propTypes.js +3 -0
  263. package/lib/Responsive/CustomResponsive.js +73 -29
  264. package/lib/Responsive/RefWrapper.js +17 -11
  265. package/lib/Responsive/ResizeComponent.js +62 -36
  266. package/lib/Responsive/ResizeObserver.js +24 -10
  267. package/lib/Responsive/Responsive.js +80 -30
  268. package/lib/Responsive/index.js +4 -0
  269. package/lib/Responsive/props/propTypes.js +3 -0
  270. package/lib/Responsive/sizeObservers.js +53 -17
  271. package/lib/Responsive/utils/index.js +11 -3
  272. package/lib/Responsive/utils/shallowCompare.js +11 -2
  273. package/lib/Responsive/windowResizeObserver.js +8 -0
  274. package/lib/ResponsiveDropBox/ResponsiveDropBox.js +45 -17
  275. package/lib/ResponsiveDropBox/props/propTypes.js +3 -0
  276. package/lib/Ribbon/Ribbon.js +33 -13
  277. package/lib/Ribbon/__tests__/Ribbon.spec.js +22 -0
  278. package/lib/Ribbon/props/propTypes.js +3 -0
  279. package/lib/RippleEffect/RippleEffect.js +18 -10
  280. package/lib/RippleEffect/props/propTypes.js +3 -0
  281. package/lib/Select/GroupSelect.js +229 -130
  282. package/lib/Select/Select.js +290 -209
  283. package/lib/Select/SelectWithAvatar.js +102 -56
  284. package/lib/Select/SelectWithIcon.js +132 -76
  285. package/lib/Select/__tests__/Select.spec.js +133 -91
  286. package/lib/Select/index.js +5 -0
  287. package/lib/Select/props/defaultProps.js +5 -4
  288. package/lib/Select/props/propTypes.js +4 -0
  289. package/lib/Stencils/Stencils.js +29 -10
  290. package/lib/Stencils/__tests__/Stencils.spec.js +12 -0
  291. package/lib/Stencils/props/propTypes.js +3 -0
  292. package/lib/Switch/Switch.js +57 -34
  293. package/lib/Switch/props/propTypes.js +3 -0
  294. package/lib/Tab/Tab.js +40 -27
  295. package/lib/Tab/TabContent.js +12 -5
  296. package/lib/Tab/TabContentWrapper.js +13 -6
  297. package/lib/Tab/TabWrapper.js +37 -19
  298. package/lib/Tab/Tabs.js +171 -91
  299. package/lib/Tab/__tests__/Tab.spec.js +67 -58
  300. package/lib/Tab/__tests__/TabContent.spec.js +10 -6
  301. package/lib/Tab/__tests__/TabContentWrapper.spec.js +28 -20
  302. package/lib/Tab/__tests__/TabWrapper.spec.js +12 -0
  303. package/lib/Tab/__tests__/Tabs.spec.js +53 -39
  304. package/lib/Tab/index.js +6 -0
  305. package/lib/Tab/props/propTypes.js +3 -0
  306. package/lib/Tag/Tag.js +72 -43
  307. package/lib/Tag/__tests__/Tag.spec.js +14 -8
  308. package/lib/Tag/props/propTypes.js +3 -0
  309. package/lib/TextBox/TextBox.js +85 -59
  310. package/lib/TextBox/__tests__/TextBox.spec.js +14 -4
  311. package/lib/TextBox/props/propTypes.js +6 -4
  312. package/lib/TextBoxIcon/TextBoxIcon.js +79 -52
  313. package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +14 -5
  314. package/lib/TextBoxIcon/props/propTypes.js +3 -0
  315. package/lib/Textarea/Textarea.js +54 -29
  316. package/lib/Textarea/__tests__/Textarea.spec.js +14 -2
  317. package/lib/Textarea/props/propTypes.js +3 -0
  318. package/lib/Tooltip/Tooltip.js +94 -31
  319. package/lib/Tooltip/__tests__/Tooltip.spec.js +24 -3
  320. package/lib/Tooltip/props/propTypes.js +3 -0
  321. package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +40 -16
  322. package/lib/VelocityAnimation/VelocityAnimation/props/propTypes.js +3 -0
  323. package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +53 -25
  324. package/lib/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +3 -0
  325. package/lib/VelocityAnimation/index.js +3 -0
  326. package/lib/css.js +40 -0
  327. package/lib/deprecated/PortalLayer/PortalLayer.js +46 -23
  328. package/lib/deprecated/PortalLayer/props/propTypes.js +3 -0
  329. package/lib/index.js +57 -0
  330. package/lib/semantic/Button/Button.js +42 -22
  331. package/lib/semantic/Button/props/propTypes.js +3 -0
  332. package/lib/semantic/index.js +2 -0
  333. package/lib/utils/Common.js +110 -18
  334. package/lib/utils/ContextOptimizer.js +16 -10
  335. package/lib/utils/__tests__/constructFullName.spec.js +1 -0
  336. package/lib/utils/__tests__/debounce.spec.js +3 -2
  337. package/lib/utils/__tests__/getInitial.spec.js +1 -0
  338. package/lib/utils/constructFullName.js +13 -4
  339. package/lib/utils/css/compileClassNames.js +6 -0
  340. package/lib/utils/css/mergeStyle.js +10 -7
  341. package/lib/utils/css/utils.js +8 -0
  342. package/lib/utils/datetime/GMTZones.js +55 -0
  343. package/lib/utils/datetime/common.js +52 -7
  344. package/lib/utils/debounce.js +6 -1
  345. package/lib/utils/dropDownUtils.js +175 -59
  346. package/lib/utils/dummyFunction.js +2 -0
  347. package/lib/utils/getHTMLFontSize.js +1 -0
  348. package/lib/utils/getInitial.js +6 -0
  349. package/lib/utils/index.js +4 -0
  350. package/lib/utils/scrollTo.js +2 -0
  351. package/lib/utils/shallowEqual.js +8 -0
  352. package/package.json +1 -1
@@ -1,88 +1,139 @@
1
1
  "use strict";
2
2
 
3
3
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports["default"] = exports.MultiSelectComponent = void 0;
9
+
8
10
  var _react = _interopRequireDefault(require("react"));
11
+
9
12
  var _propTypes = require("./props/propTypes");
13
+
10
14
  var _defaultProps = require("./props/defaultProps");
15
+
11
16
  var _Popup = _interopRequireDefault(require("../Popup/Popup"));
17
+
12
18
  var _TextBoxIcon = _interopRequireDefault(require("../TextBoxIcon/TextBoxIcon"));
19
+
13
20
  var _Layout = require("../Layout");
21
+
14
22
  var _Card = _interopRequireWildcard(require("../Card/Card"));
23
+
15
24
  var _SelectedOptions = _interopRequireDefault(require("./SelectedOptions"));
25
+
16
26
  var _Suggestions = _interopRequireDefault(require("./Suggestions"));
27
+
17
28
  var _EmptyState = _interopRequireDefault(require("./EmptyState"));
29
+
18
30
  var _MultiSelectHeader = _interopRequireDefault(require("./MultiSelectHeader"));
31
+
19
32
  var _CssProvider = _interopRequireDefault(require("../Provider/CssProvider"));
33
+
20
34
  var _IdProvider = require("../Provider/IdProvider");
35
+
21
36
  var _ResponsiveDropBox = _interopRequireDefault(require("../ResponsiveDropBox/ResponsiveDropBox"));
37
+
22
38
  var _CustomResponsive = require("../Responsive/CustomResponsive");
39
+
23
40
  var _Loader = _interopRequireDefault(require("@zohodesk/svg/lib/Loader/Loader"));
41
+
24
42
  var _icons = require("@zohodesk/icons");
43
+
25
44
  var _MultiSelectModule = _interopRequireDefault(require("./MultiSelect.module.css"));
45
+
26
46
  var _Common = require("../utils/Common.js");
47
+
27
48
  var _dropDownUtils = require("../utils/dropDownUtils");
49
+
28
50
  var _Config = require("../Provider/Config");
51
+
29
52
  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
+
30
54
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
55
+
31
56
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
57
+
32
58
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
59
+
33
60
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
34
- function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
61
+
62
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
63
+
35
64
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
65
+
36
66
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
67
+
37
68
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
69
+
38
70
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
71
+
39
72
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
73
+
40
74
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
41
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
75
+
76
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
77
+
42
78
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
43
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
79
+
80
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
81
+
44
82
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
45
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
46
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
83
+
47
84
  function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
85
+
48
86
  function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
87
+
49
88
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
89
+
50
90
  function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
91
+
51
92
  function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
93
+
52
94
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
95
+
53
96
  function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
97
+
54
98
  /* eslint-disable react/forbid-component-props */
55
- /* eslint-disable react/no-unused-prop-types */
56
99
 
100
+ /* eslint-disable react/no-unused-prop-types */
57
101
  var dummyArray = [];
102
+
58
103
  var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
59
104
  _inherits(MultiSelectComponent, _React$Component);
105
+
60
106
  var _super = _createSuper(MultiSelectComponent);
107
+
61
108
  function MultiSelectComponent(props) {
62
109
  var _this;
110
+
63
111
  _classCallCheck(this, MultiSelectComponent);
112
+
64
113
  _this = _super.call(this, props);
65
114
  _this.getNextAriaId = (0, _IdProvider.getUniqueId)(_assertThisInitialized(_this));
66
115
  _this.getFilterSuggestions = (0, _dropDownUtils.makeGetMultiSelectFilterSuggestions)();
67
116
  _this.formatOptions = (0, _dropDownUtils.makeFormatOptions)();
68
117
  _this.getSelectedOptions = (0, _dropDownUtils.makeGetMultiSelectSelectedOptions)();
69
- _this.getIsShowClearIcon = (0, _dropDownUtils.makeGetIsShowClearIcon)();
118
+ _this.getIsShowClearIcon = (0, _dropDownUtils.makeGetIsShowClearIcon)(); //Use in AdvancedMultiSelect component
70
119
 
71
- //Use in AdvancedMultiSelect component
72
120
  _this.objectConcat = (0, _dropDownUtils.makeObjectConcat)();
73
121
  _this.formatSelectedOptions = (0, _dropDownUtils.makeFormatOptions)();
74
122
  var _this$props = _this.props,
75
- selectedOptions = _this$props.selectedOptions,
76
- _this$props$searchDeb = _this$props.searchDebounceTime,
77
- searchDebounceTime = _this$props$searchDeb === void 0 ? 500 : _this$props$searchDeb;
123
+ selectedOptions = _this$props.selectedOptions,
124
+ _this$props$searchDeb = _this$props.searchDebounceTime,
125
+ searchDebounceTime = _this$props$searchDeb === void 0 ? 500 : _this$props$searchDeb;
126
+
78
127
  var _this$handleFormatOpt = _this.handleFormatOptions(_this.props),
79
- allOptions = _this$handleFormatOpt.allOptions,
80
- normalizedAllOptions = _this$handleFormatOpt.normalizedAllOptions,
81
- normalizedFormatOptions = _this$handleFormatOpt.normalizedFormatOptions;
128
+ allOptions = _this$handleFormatOpt.allOptions,
129
+ normalizedAllOptions = _this$handleFormatOpt.normalizedAllOptions,
130
+ normalizedFormatOptions = _this$handleFormatOpt.normalizedFormatOptions;
131
+
82
132
  var _this$handleGetSelect = _this.handleGetSelectedOptions(selectedOptions, normalizedFormatOptions, _this.props),
83
- formatSelectedOptions = _this$handleGetSelect.formatSelectedOptions,
84
- normalizedSelectedOptions = _this$handleGetSelect.normalizedSelectedOptions,
85
- selectedOptionIds = _this$handleGetSelect.selectedOptionIds;
133
+ formatSelectedOptions = _this$handleGetSelect.formatSelectedOptions,
134
+ normalizedSelectedOptions = _this$handleGetSelect.normalizedSelectedOptions,
135
+ selectedOptionIds = _this$handleGetSelect.selectedOptionIds;
136
+
86
137
  _this.state = {
87
138
  options: allOptions,
88
139
  optionsNormalize: normalizedAllOptions,
@@ -99,43 +150,50 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
99
150
  _this.allSelectedOptionsDetails = normalizedSelectedOptions;
100
151
  _this.suggestionsOrder = [];
101
152
  _this._isMounted = false;
153
+
102
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']);
155
+
103
156
  _this.handleSearchOptions = (0, _Common.debounce)(_this.handleSearchOptions.bind(_assertThisInitialized(_this)), searchDebounceTime);
104
157
  _this.handleScroll = _this.handleScroll.bind(_assertThisInitialized(_this));
105
158
  _this.handleScrollFuncCall = (0, _Common.debounce)(_this.handleScrollFuncCall.bind(_assertThisInitialized(_this)), 500);
106
159
  return _this;
107
160
  }
161
+
108
162
  _createClass(MultiSelectComponent, [{
109
163
  key: "componentDidMount",
110
164
  value: function componentDidMount() {
111
165
  // let { suggestionContainer } = this;
112
166
  this._isMounted = true;
113
- this.handleExposedPublicMethods();
114
- // suggestionContainer &&
167
+ this.handleExposedPublicMethods(); // suggestionContainer &&
115
168
  // suggestionContainer.addEventListener('scroll', this.handleScroll);
116
169
  }
117
170
  }, {
118
171
  key: "componentWillReceiveProps",
119
172
  value: function componentWillReceiveProps(nextProps) {
120
173
  var _this2 = this;
174
+
121
175
  var selectedOptions = nextProps.selectedOptions,
122
- options = nextProps.options,
123
- valueField = nextProps.valueField,
124
- textField = nextProps.textField,
125
- prefixText = nextProps.prefixText;
176
+ options = nextProps.options,
177
+ valueField = nextProps.valueField,
178
+ textField = nextProps.textField,
179
+ prefixText = nextProps.prefixText;
126
180
  var oldProps = this.props;
181
+
127
182
  if (selectedOptions !== oldProps.selectedOptions || options !== oldProps.options || valueField !== oldProps.valueField || textField !== oldProps.textField || prefixText !== oldProps.prefixText //For GroupMultiSelect component
128
183
  ) {
129
184
  var _this$handleFormatOpt2 = this.handleFormatOptions(nextProps),
130
- allOptions = _this$handleFormatOpt2.allOptions,
131
- normalizedAllOptions = _this$handleFormatOpt2.normalizedAllOptions,
132
- normalizedFormatOptions = _this$handleFormatOpt2.normalizedFormatOptions;
185
+ allOptions = _this$handleFormatOpt2.allOptions,
186
+ normalizedAllOptions = _this$handleFormatOpt2.normalizedAllOptions,
187
+ normalizedFormatOptions = _this$handleFormatOpt2.normalizedFormatOptions;
188
+
133
189
  var oldAllSelectedOptionsDetails = this.allSelectedOptionsDetails;
134
190
  var optionsDetails = Object.assign({}, oldAllSelectedOptionsDetails, normalizedFormatOptions);
191
+
135
192
  var _this$handleGetSelect2 = this.handleGetSelectedOptions(selectedOptions, optionsDetails, nextProps),
136
- formatSelectedOptions = _this$handleGetSelect2.formatSelectedOptions,
137
- normalizedSelectedOptions = _this$handleGetSelect2.normalizedSelectedOptions,
138
- selectedOptionIds = _this$handleGetSelect2.selectedOptionIds;
193
+ formatSelectedOptions = _this$handleGetSelect2.formatSelectedOptions,
194
+ normalizedSelectedOptions = _this$handleGetSelect2.normalizedSelectedOptions,
195
+ selectedOptionIds = _this$handleGetSelect2.selectedOptionIds;
196
+
139
197
  this.allSelectedOptionsDetails = Object.assign(oldAllSelectedOptionsDetails, normalizedSelectedOptions);
140
198
  this.setState({
141
199
  options: allOptions,
@@ -144,11 +202,16 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
144
202
  selectedOptionIds: selectedOptionIds
145
203
  }, function () {
146
204
  var hoverOption = _this2.state.hoverOption;
205
+
147
206
  var suggestions = _this2.handleFilterSuggestions();
207
+
148
208
  var suggestionsLen = suggestions.length;
209
+
149
210
  var _ref = suggestions[hoverOption] || {},
150
- id = _ref.id;
211
+ id = _ref.id;
212
+
151
213
  var newHoverOption = !(0, _Common.getIsEmptyValue)(id) ? hoverOption : suggestionsLen ? suggestionsLen - 1 : 0;
214
+
152
215
  _this2.setState({
153
216
  hoverOption: newHoverOption
154
217
  });
@@ -159,23 +222,23 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
159
222
  key: "componentDidUpdate",
160
223
  value: function componentDidUpdate(prevProps, prevState) {
161
224
  var suggestionContainer = this.suggestionContainer,
162
- selectedOptionContainer = this.selectedOptionContainer,
163
- suggestionsOrder = this.suggestionsOrder;
225
+ selectedOptionContainer = this.selectedOptionContainer,
226
+ suggestionsOrder = this.suggestionsOrder;
164
227
  var _this$state = this.state,
165
- hoverOption = _this$state.hoverOption,
166
- highLightedSelectOptions = _this$state.highLightedSelectOptions,
167
- selectedOptions = _this$state.selectedOptions,
168
- searchStr = _this$state.searchStr;
228
+ hoverOption = _this$state.hoverOption,
229
+ highLightedSelectOptions = _this$state.highLightedSelectOptions,
230
+ selectedOptions = _this$state.selectedOptions,
231
+ searchStr = _this$state.searchStr;
169
232
  var _this$props2 = this.props,
170
- needLocalSearch = _this$props2.needLocalSearch,
171
- isPopupOpen = _this$props2.isPopupOpen,
172
- onDropBoxClose = _this$props2.onDropBoxClose,
173
- onDropBoxOpen = _this$props2.onDropBoxOpen,
174
- isSearchClearOnClose = _this$props2.isSearchClearOnClose;
233
+ needLocalSearch = _this$props2.needLocalSearch,
234
+ isPopupOpen = _this$props2.isPopupOpen,
235
+ onDropBoxClose = _this$props2.onDropBoxClose,
236
+ onDropBoxOpen = _this$props2.onDropBoxOpen,
237
+ isSearchClearOnClose = _this$props2.isSearchClearOnClose; //handle dropbox open & close
175
238
 
176
- //handle dropbox open & close
177
239
  if (prevProps.isPopupOpen !== isPopupOpen) {
178
240
  isPopupOpen && onDropBoxOpen && this.handleFetchOptions(onDropBoxOpen, searchStr);
241
+
179
242
  if (!isPopupOpen) {
180
243
  this.setState({
181
244
  hoverOption: 0
@@ -183,36 +246,35 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
183
246
  isSearchClearOnClose && searchStr && this.handleSearch('');
184
247
  onDropBoxClose && onDropBoxClose();
185
248
  }
186
- }
249
+ } //scrollTo handling
250
+
187
251
 
188
- //scrollTo handling
189
252
  var hoverId = suggestionsOrder[hoverOption] || '';
190
253
  var selectedSuggestion = this["suggestion_".concat(hoverId)];
191
254
  var lastHighLightedSelectOption = highLightedSelectOptions.slice(-1).length ? highLightedSelectOptions.slice(-1)[0] : null;
192
255
  var selectedOption = this["selectedOption_".concat(lastHighLightedSelectOption)];
193
256
  isPopupOpen && (0, _Common.scrollTo)(suggestionContainer, selectedSuggestion);
194
- selectedOptions.length && selectedOption && (0, _Common.scrollTo)(selectedOptionContainer, selectedOption);
257
+ selectedOptions.length && selectedOption && (0, _Common.scrollTo)(selectedOptionContainer, selectedOption); //When suggestions length less than 5, getNextOptions function call
195
258
 
196
- //When suggestions length less than 5, getNextOptions function call
197
259
  var _this$props3 = this.props,
198
- isNextOptions = _this$props3.isNextOptions,
199
- getNextOptions = _this$props3.getNextOptions;
200
- // let { searchStr } = this.state;
260
+ isNextOptions = _this$props3.isNextOptions,
261
+ getNextOptions = _this$props3.getNextOptions; // let { searchStr } = this.state;
262
+
201
263
  var suggestions = this.handleFilterSuggestions();
202
264
  var suggestionsLen = suggestions.length;
265
+
203
266
  if (isPopupOpen && suggestionsLen <= 5 && isNextOptions && getNextOptions && !needLocalSearch) {
204
267
  this.handleFetchOptions(getNextOptions, searchStr);
205
- }
268
+ } //Need To MultiselectNew Component
269
+
206
270
 
207
- //Need To MultiselectNew Component
208
271
  this.handleComponentDidUpdate(prevProps, prevState);
209
272
  }
210
273
  }, {
211
274
  key: "componentWillUnmount",
212
275
  value: function componentWillUnmount() {
213
276
  // let { suggestionContainer } = this;
214
- this._isMounted = false;
215
- // suggestionContainer &&
277
+ this._isMounted = false; // suggestionContainer &&
216
278
  // suggestionContainer.removeEventListener('scroll', this.handleScroll);
217
279
  }
218
280
  }, {
@@ -224,10 +286,10 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
224
286
  key: "handleFormatOptions",
225
287
  value: function handleFormatOptions(props) {
226
288
  var options = props.options,
227
- valueField = props.valueField,
228
- textField = props.textField,
229
- prefixText = props.prefixText,
230
- disabledOptions = props.disabledOptions;
289
+ valueField = props.valueField,
290
+ textField = props.textField,
291
+ prefixText = props.prefixText,
292
+ disabledOptions = props.disabledOptions;
231
293
  return this.formatOptions({
232
294
  options: options,
233
295
  valueField: valueField,
@@ -250,9 +312,10 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
250
312
  value: function handleInputCick(e) {
251
313
  var removeClose = this.props.removeClose;
252
314
  var _this$state2 = this.state,
253
- highLightedSelectOptions = _this$state2.highLightedSelectOptions,
254
- _this$state2$searchSt = _this$state2.searchStr,
255
- searchStr = _this$state2$searchSt === void 0 ? '' : _this$state2$searchSt;
315
+ highLightedSelectOptions = _this$state2.highLightedSelectOptions,
316
+ _this$state2$searchSt = _this$state2.searchStr,
317
+ searchStr = _this$state2$searchSt === void 0 ? '' : _this$state2$searchSt;
318
+
256
319
  if (highLightedSelectOptions.length) {
257
320
  this.setState({
258
321
  highLightedSelectOptions: [],
@@ -270,23 +333,25 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
270
333
  key: "handleFilterSuggestions",
271
334
  value: function handleFilterSuggestions() {
272
335
  var _this$state3 = this.state,
273
- _this$state3$options = _this$state3.options,
274
- options = _this$state3$options === void 0 ? dummyArray : _this$state3$options,
275
- _this$state3$searchSt = _this$state3.searchStr,
276
- searchStr = _this$state3$searchSt === void 0 ? '' : _this$state3$searchSt;
336
+ _this$state3$options = _this$state3.options,
337
+ options = _this$state3$options === void 0 ? dummyArray : _this$state3$options,
338
+ _this$state3$searchSt = _this$state3.searchStr,
339
+ searchStr = _this$state3$searchSt === void 0 ? '' : _this$state3$searchSt;
277
340
  var _this$props4 = this.props,
278
- selectedOptions = _this$props4.selectedOptions,
279
- needLocalSearch = _this$props4.needLocalSearch,
280
- keepSelectedOptions = _this$props4.keepSelectedOptions;
341
+ selectedOptions = _this$props4.selectedOptions,
342
+ needLocalSearch = _this$props4.needLocalSearch,
343
+ keepSelectedOptions = _this$props4.keepSelectedOptions;
344
+
281
345
  var _this$getFilterSugges = this.getFilterSuggestions({
282
- options: options,
283
- selectedOptions: selectedOptions,
284
- searchStr: (0, _Common.getSearchString)(searchStr),
285
- needSearch: needLocalSearch,
286
- keepSelectedOptions: keepSelectedOptions
287
- }),
288
- suggestions = _this$getFilterSugges.suggestions,
289
- suggestionIds = _this$getFilterSugges.suggestionIds;
346
+ options: options,
347
+ selectedOptions: selectedOptions,
348
+ searchStr: (0, _Common.getSearchString)(searchStr),
349
+ needSearch: needLocalSearch,
350
+ keepSelectedOptions: keepSelectedOptions
351
+ }),
352
+ suggestions = _this$getFilterSugges.suggestions,
353
+ suggestionIds = _this$getFilterSugges.suggestionIds;
354
+
290
355
  this.suggestionsOrder = suggestionIds;
291
356
  return suggestions;
292
357
  }
@@ -294,38 +359,45 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
294
359
  key: "handleKeyDown",
295
360
  value: function handleKeyDown(e) {
296
361
  var keyCode = e.keyCode,
297
- ctrlKey = e.ctrlKey,
298
- metaKey = e.metaKey,
299
- shiftKey = e.shiftKey;
362
+ ctrlKey = e.ctrlKey,
363
+ metaKey = e.metaKey,
364
+ shiftKey = e.shiftKey;
300
365
  var suggestions = [];
301
366
  var _this$state4 = this.state,
302
- hoverOption = _this$state4.hoverOption,
303
- searchStr = _this$state4.searchStr,
304
- highLightedSelectOptions = _this$state4.highLightedSelectOptions,
305
- lastHighLightedSelectOption = _this$state4.lastHighLightedSelectOption,
306
- shiftKeyPressHighLighted = _this$state4.shiftKeyPressHighLighted,
307
- selectedOptions = _this$state4.selectedOptionIds;
367
+ hoverOption = _this$state4.hoverOption,
368
+ searchStr = _this$state4.searchStr,
369
+ highLightedSelectOptions = _this$state4.highLightedSelectOptions,
370
+ lastHighLightedSelectOption = _this$state4.lastHighLightedSelectOption,
371
+ shiftKeyPressHighLighted = _this$state4.shiftKeyPressHighLighted,
372
+ selectedOptions = _this$state4.selectedOptionIds;
308
373
  var _this$props5 = this.props,
309
- isNextOptions = _this$props5.isNextOptions,
310
- getNextOptions = _this$props5.getNextOptions,
311
- isPopupOpen = _this$props5.isPopupOpen,
312
- isPopupOpenOnEnter = _this$props5.isPopupOpenOnEnter,
313
- onKeyDown = _this$props5.onKeyDown;
374
+ isNextOptions = _this$props5.isNextOptions,
375
+ getNextOptions = _this$props5.getNextOptions,
376
+ isPopupOpen = _this$props5.isPopupOpen,
377
+ isPopupOpenOnEnter = _this$props5.isPopupOpenOnEnter,
378
+ onKeyDown = _this$props5.onKeyDown;
314
379
  var highLightedSelectOptionsLen = highLightedSelectOptions.length;
380
+
315
381
  if (isPopupOpen && (keyCode === 38 || keyCode === 40 || keyCode === 13 || keyCode === 27 || keyCode === 9)) {
316
382
  suggestions = this.handleFilterSuggestions();
317
383
  }
384
+
318
385
  if (!isPopupOpen && !isPopupOpenOnEnter) {
319
386
  onKeyDown && onKeyDown(e);
320
387
  }
388
+
321
389
  if (!isPopupOpen && keyCode === 40) {
322
390
  //down arrow press popup open
323
391
  e.preventDefault(); //prevent body scroll
392
+
324
393
  this.togglePopup(e);
325
394
  }
395
+
326
396
  var suggestionsLen = suggestions.length;
397
+
327
398
  if (suggestionsLen && isPopupOpen && keyCode === 38) {
328
399
  //up arrow
400
+
329
401
  /*if (hoverOption === 0) { //disable first to last option higlight
330
402
  !isNextOptions && this.setState({ hoverOption: suggestionsLen - 1 });
331
403
  }*/
@@ -336,6 +408,7 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
336
408
  }
337
409
  } else if (suggestionsLen && isPopupOpen && keyCode === 40) {
338
410
  //down arrow
411
+
339
412
  /*else if (hoverOption === suggestionsLen - 1 || hoverOption === null) {
340
413
  //disable last to first option higlight
341
414
  !isNextOptions && this.setState({ hoverOption: 0 });
@@ -361,8 +434,7 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
361
434
  if (highLightedSelectOptionsLen) {
362
435
  this.handleRemoveOption(highLightedSelectOptions);
363
436
  } else {
364
- this.handleRemoveOption(selectedOptions.slice(-1));
365
- // this.setState({
437
+ this.handleRemoveOption(selectedOptions.slice(-1)); // this.setState({
366
438
  // highLightedSelectOptions: selectedOptions.slice(-1)
367
439
  // });
368
440
  }
@@ -377,6 +449,7 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
377
449
  var lastHighLightedSelectOptionIndex = lastHighLightedSelectOption && selectedOptions.indexOf(lastHighLightedSelectOption) >= 0 ? selectedOptions.indexOf(lastHighLightedSelectOption) : 0;
378
450
  var newShiftKeyPressHighLighted = shiftKeyPressHighLighted ? shiftKeyPressHighLighted : shiftKeyPressHighLighted + 1;
379
451
  var newHighLightedSelectOption = lastHighLightedSelectOptionIndex !== null ? selectedOptions[lastHighLightedSelectOptionIndex + newShiftKeyPressHighLighted] : selectedOptions[0];
452
+
380
453
  if (!(0, _Common.getIsEmptyValue)(newHighLightedSelectOption)) {
381
454
  var newLastHighLightedSelectOption = lastHighLightedSelectOption ? lastHighLightedSelectOption : selectedOptions[0];
382
455
  highLightedSelectOptions = !shiftKeyPressHighLighted ? [newLastHighLightedSelectOption] : highLightedSelectOptions;
@@ -393,15 +466,22 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
393
466
  } else if (keyCode === 37 && shiftKey && selectedOptions.length && !searchStr.length) {
394
467
  // shift+left arrow=37
395
468
  var _lastHighLightedSelectOptionIndex = lastHighLightedSelectOption ? selectedOptions.indexOf(lastHighLightedSelectOption) : selectedOptions.length - 1;
469
+
396
470
  var _newShiftKeyPressHighLighted = shiftKeyPressHighLighted !== 1 ? shiftKeyPressHighLighted : shiftKeyPressHighLighted - 1;
471
+
397
472
  var _newHighLightedSelectOption = selectedOptions[_lastHighLightedSelectOptionIndex + _newShiftKeyPressHighLighted - 1];
473
+
398
474
  if (!(0, _Common.getIsEmptyValue)(_newHighLightedSelectOption)) {
399
475
  var _newLastHighLightedSelectOption = lastHighLightedSelectOption ? lastHighLightedSelectOption : selectedOptions.slice(-1)[0];
476
+
400
477
  highLightedSelectOptions = !shiftKeyPressHighLighted ? [_newLastHighLightedSelectOption] : highLightedSelectOptions;
478
+
401
479
  var _isRemove = highLightedSelectOptions.indexOf(_newHighLightedSelectOption) >= 0 && _newHighLightedSelectOption !== lastHighLightedSelectOption ? true : false;
480
+
402
481
  var _newHighLightedSelectOptions = _isRemove ? highLightedSelectOptions.filter(function (option) {
403
482
  return option !== _newHighLightedSelectOption;
404
483
  }) : [].concat(_toConsumableArray(highLightedSelectOptions), [_newHighLightedSelectOption]);
484
+
405
485
  this.setState({
406
486
  highLightedSelectOptions: _newHighLightedSelectOptions,
407
487
  shiftKeyPressHighLighted: _newShiftKeyPressHighLighted - 1,
@@ -409,16 +489,19 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
409
489
  });
410
490
  }
411
491
  } else if ((keyCode === 39 || keyCode === 37) && selectedOptions.length && !searchStr.length) {
412
- var isRightArrow = keyCode === 39 ? true : false;
413
- // let isLefttArrow = keyCode === 37 ? true : false;
492
+ var isRightArrow = keyCode === 39 ? true : false; // let isLefttArrow = keyCode === 37 ? true : false;
493
+
414
494
  if (highLightedSelectOptions.length) {
415
495
  var _highLightedSelectOpt = highLightedSelectOptions.slice(-1),
416
- _highLightedSelectOpt2 = _slicedToArray(_highLightedSelectOpt, 1),
417
- _lastHighLightedSelectOption = _highLightedSelectOpt2[0];
496
+ _highLightedSelectOpt2 = _slicedToArray(_highLightedSelectOpt, 1),
497
+ _lastHighLightedSelectOption = _highLightedSelectOpt2[0];
498
+
418
499
  var _lastHighLightedSelectOptionIndex2 = selectedOptions.indexOf(_lastHighLightedSelectOption);
500
+
419
501
  var newLastHighLightedSelectOptionIndex = isRightArrow ? _lastHighLightedSelectOptionIndex2 === selectedOptions.length - 1 ? _lastHighLightedSelectOptionIndex2 : _lastHighLightedSelectOptionIndex2 + 1 : _lastHighLightedSelectOptionIndex2 - 1;
420
502
  var _newLastHighLightedSelectOption2 = selectedOptions[newLastHighLightedSelectOptionIndex];
421
503
  var isEmptyHighlighted = isRightArrow && highLightedSelectOptions.length === 1 && selectedOptions.slice(-1)[0] === _lastHighLightedSelectOption ? true : false;
504
+
422
505
  if (!(0, _Common.getIsEmptyValue)(_newLastHighLightedSelectOption2)) {
423
506
  this.setState({
424
507
  lastHighLightedSelectOption: isEmptyHighlighted ? '' : _newLastHighLightedSelectOption2,
@@ -428,16 +511,16 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
428
511
  }
429
512
  } else {
430
513
  var _ref2 = isRightArrow ? selectedOptions : selectedOptions.slice(-1),
431
- _ref3 = _slicedToArray(_ref2, 1),
432
- _newLastHighLightedSelectOption3 = _ref3[0];
514
+ _ref3 = _slicedToArray(_ref2, 1),
515
+ _newLastHighLightedSelectOption3 = _ref3[0];
516
+
433
517
  this.setState({
434
518
  lastHighLightedSelectOption: _newLastHighLightedSelectOption3,
435
519
  highLightedSelectOptions: [_newLastHighLightedSelectOption3],
436
520
  shiftKeyPressHighLighted: 0
437
521
  });
438
522
  }
439
- } else if (keyCode === 27) {
440
- // this.handlePopupClose(e);
523
+ } else if (keyCode === 27) {// this.handlePopupClose(e);
441
524
  } else if (keyCode === 9) {
442
525
  this.handlePopupClose(e);
443
526
  }
@@ -451,12 +534,12 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
451
534
  var newSelectedOptions = [];
452
535
  suggestions.forEach(function (option) {
453
536
  var id = option.id;
537
+
454
538
  if (selectedOptions.indexOf(id) === -1) {
455
539
  newSelectedOptions.push(id);
456
540
  }
457
541
  });
458
- this.handleChange([].concat(_toConsumableArray(selectedOptions), newSelectedOptions));
459
- // this.handlePopupClose(e);
542
+ this.handleChange([].concat(_toConsumableArray(selectedOptions), newSelectedOptions)); // this.handlePopupClose(e);
460
543
  }
461
544
  }, {
462
545
  key: "handleDeselectAll",
@@ -464,12 +547,14 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
464
547
  e && e.preventDefault();
465
548
  var removeClose = this.props.removeClose;
466
549
  var highLightedSelectOptions = this.state.highLightedSelectOptions;
550
+
467
551
  if (highLightedSelectOptions.length) {
468
552
  this.setState({
469
553
  highLightedSelectOptions: [],
470
554
  lastHighLightedSelectOption: ''
471
555
  });
472
556
  }
557
+
473
558
  removeClose(e);
474
559
  this.handleChange([]);
475
560
  }
@@ -477,13 +562,15 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
477
562
  key: "handleSelectOption",
478
563
  value: function handleSelectOption(option, value, index, e) {
479
564
  var _this$props6 = this.props,
480
- selectedOptions = _this$props6.selectedOptions,
481
- isSearchClearOnSelect = _this$props6.isSearchClearOnSelect,
482
- keepSelectedOptions = _this$props6.keepSelectedOptions;
565
+ selectedOptions = _this$props6.selectedOptions,
566
+ isSearchClearOnSelect = _this$props6.isSearchClearOnSelect,
567
+ keepSelectedOptions = _this$props6.keepSelectedOptions;
483
568
  var searchStr = this.state.searchStr;
569
+
484
570
  if (searchStr.trim() != '' && isSearchClearOnSelect) {
485
571
  this.handleSearch('');
486
572
  }
573
+
487
574
  if (keepSelectedOptions && selectedOptions.indexOf(option) != -1) {
488
575
  var newSelectedOptions = selectedOptions.filter(function (id) {
489
576
  return id != option;
@@ -498,12 +585,13 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
498
585
  value: function handleRemoveOption(options) {
499
586
  var newOptions = !(0, _Common.getIsEmptyValue)(options) && !Array.isArray(options) ? [options] : options;
500
587
  var _this$props7 = this.props,
501
- selectedOptions = _this$props7.selectedOptions,
502
- isReadOnly = _this$props7.isReadOnly;
588
+ selectedOptions = _this$props7.selectedOptions,
589
+ isReadOnly = _this$props7.isReadOnly;
503
590
  var _this$state5 = this.state,
504
- highLightedSelectOptions = _this$state5.highLightedSelectOptions,
505
- lastHighLightedSelectOption = _this$state5.lastHighLightedSelectOption,
506
- shiftKeyPressHighLighted = _this$state5.shiftKeyPressHighLighted;
591
+ highLightedSelectOptions = _this$state5.highLightedSelectOptions,
592
+ lastHighLightedSelectOption = _this$state5.lastHighLightedSelectOption,
593
+ shiftKeyPressHighLighted = _this$state5.shiftKeyPressHighLighted;
594
+
507
595
  if (newOptions.length && !isReadOnly) {
508
596
  var newSelectedOptions = selectedOptions.filter(function (option) {
509
597
  return newOptions.indexOf(option) === -1;
@@ -513,13 +601,16 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
513
601
  });
514
602
  var isHighlightedRemoved = false;
515
603
  var newOptionsLen = newOptions.length;
604
+
516
605
  for (var i = 0; i < newOptionsLen; i++) {
517
606
  var removedOption = newOptions[i];
607
+
518
608
  if (highLightedSelectOptions.indexOf(removedOption) >= 0) {
519
609
  isHighlightedRemoved = true;
520
610
  break;
521
611
  }
522
612
  }
613
+
523
614
  this.setState({
524
615
  lastHighLightedSelectOption: newSelectedOptions.indexOf(lastHighLightedSelectOption) >= 0 && !isHighlightedRemoved ? lastHighLightedSelectOption : '',
525
616
  highLightedSelectOptions: isHighlightedRemoved ? [] : newHighLightedSelectOptions,
@@ -527,6 +618,7 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
527
618
  });
528
619
  this.handleChange(newSelectedOptions);
529
620
  }
621
+
530
622
  this.searchInput && this.searchInput.focus({
531
623
  preventScroll: true
532
624
  });
@@ -538,6 +630,7 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
538
630
  var hoverOption = this.state.hoverOption;
539
631
  var suggestionsOrder = this.suggestionsOrder;
540
632
  var newHoverIndex = suggestionsOrder.indexOf(id);
633
+
541
634
  if (newHoverIndex !== hoverOption) {
542
635
  this.setState({
543
636
  hoverOption: newHoverIndex
@@ -548,18 +641,22 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
548
641
  key: "handleFetchOptions",
549
642
  value: function handleFetchOptions() {
550
643
  var _this3 = this;
644
+
551
645
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
552
646
  args[_key] = arguments[_key];
553
647
  }
648
+
554
649
  var APICall = args[0],
555
- searchStr = args[1];
650
+ searchStr = args[1];
556
651
  var isFetchingOptions = this.state.isFetchingOptions;
557
652
  var _isMounted = this._isMounted;
558
653
  var isForce = isFetchingOptions && searchStr ? true : false;
654
+
559
655
  if (!isFetchingOptions && APICall || isForce) {
560
656
  this.setState({
561
657
  isFetchingOptions: true
562
658
  });
659
+
563
660
  try {
564
661
  return APICall(searchStr).then(function () {
565
662
  _isMounted && _this3.setState({
@@ -588,12 +685,13 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
588
685
  key: "handleSearch",
589
686
  value: function handleSearch(value, e) {
590
687
  var _this4 = this;
688
+
591
689
  var _this$props8 = this.props,
592
- onSearch = _this$props8.onSearch,
593
- isPopupOpen = _this$props8.isPopupOpen;
690
+ onSearch = _this$props8.onSearch,
691
+ isPopupOpen = _this$props8.isPopupOpen;
594
692
  !isPopupOpen && e && this.togglePopup(e);
595
693
  var _this$state$searchStr = this.state.searchStr,
596
- searchStr = _this$state$searchStr === void 0 ? '' : _this$state$searchStr;
694
+ searchStr = _this$state$searchStr === void 0 ? '' : _this$state$searchStr;
597
695
  var searchStrRegex = (0, _Common.getSearchString)(searchStr);
598
696
  var valueStrRegex = (0, _Common.getSearchString)(value);
599
697
  var isSearch = searchStrRegex !== valueStrRegex ? true : false;
@@ -614,19 +712,22 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
614
712
  var e = arguments.length > 1 ? arguments[1] : undefined;
615
713
  var selectedOptions = this.props.selectedOptions;
616
714
  var _this$state6 = this.state,
617
- highLightedSelectOptions = _this$state6.highLightedSelectOptions,
618
- lastHighLightedSelectOption = _this$state6.lastHighLightedSelectOption;
715
+ highLightedSelectOptions = _this$state6.highLightedSelectOptions,
716
+ lastHighLightedSelectOption = _this$state6.lastHighLightedSelectOption;
619
717
  var metaKey = e.metaKey,
620
- ctrlKey = e.ctrlKey,
621
- shiftKey = e.shiftKey;
718
+ ctrlKey = e.ctrlKey,
719
+ shiftKey = e.shiftKey;
720
+
622
721
  if (e && shiftKey) {
623
722
  //shift+click
624
723
  var from = selectedOptions.indexOf(lastHighLightedSelectOption) >= 0 ? selectedOptions.indexOf(lastHighLightedSelectOption) : 0;
625
724
  var to = id && selectedOptions.indexOf(id) >= 0 ? selectedOptions.indexOf(id) : null;
725
+
626
726
  if (to >= 0 && to < from) {
627
727
  var _ref4 = [from, from = to];
628
728
  to = _ref4[0];
629
729
  }
730
+
630
731
  to += 1;
631
732
  var newSelectedHighlights = to ? selectedOptions.slice(from, to) : [];
632
733
  to && this.setState({
@@ -637,6 +738,7 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
637
738
  //ctrl+click
638
739
  var isRemove = highLightedSelectOptions.indexOf(id) >= 0;
639
740
  var _newSelectedHighlights = [];
741
+
640
742
  if (isRemove) {
641
743
  lastHighLightedSelectOption = id === lastHighLightedSelectOption ? '' : lastHighLightedSelectOption;
642
744
  _newSelectedHighlights = highLightedSelectOptions.filter(function (option) {
@@ -646,6 +748,7 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
646
748
  lastHighLightedSelectOption = id;
647
749
  _newSelectedHighlights = [].concat(_toConsumableArray(highLightedSelectOptions), [id]);
648
750
  }
751
+
649
752
  this.setState({
650
753
  highLightedSelectOptions: _newSelectedHighlights,
651
754
  lastHighLightedSelectOption: lastHighLightedSelectOption
@@ -656,6 +759,7 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
656
759
  lastHighLightedSelectOption: id
657
760
  });
658
761
  }
762
+
659
763
  this.setState({
660
764
  shiftKeyPressHighLighted: 0
661
765
  });
@@ -674,8 +778,8 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
674
778
  key: "handleScrollFuncCall",
675
779
  value: function handleScrollFuncCall() {
676
780
  var _this$props9 = this.props,
677
- getNextOptions = _this$props9.getNextOptions,
678
- isNextOptions = _this$props9.isNextOptions;
781
+ getNextOptions = _this$props9.getNextOptions,
782
+ isNextOptions = _this$props9.isNextOptions;
679
783
  var searchStr = this.state.searchStr;
680
784
  isNextOptions && getNextOptions && this.handleFetchOptions(getNextOptions, searchStr);
681
785
  }
@@ -686,29 +790,34 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
686
790
  var e = arguments.length > 1 ? arguments[1] : undefined;
687
791
  var optionsNormalize = this.state.optionsNormalize;
688
792
  var _this$props10 = this.props,
689
- onChange = _this$props10.onChange,
690
- needToCloseOnSelect = _this$props10.needToCloseOnSelect,
691
- togglePopup = _this$props10.togglePopup,
692
- propSelectedOptions = _this$props10.selectedOptions,
693
- _this$props10$disable = _this$props10.disabledOptions,
694
- disabledOptions = _this$props10$disable === void 0 ? dummyArray : _this$props10$disable;
793
+ onChange = _this$props10.onChange,
794
+ needToCloseOnSelect = _this$props10.needToCloseOnSelect,
795
+ togglePopup = _this$props10.togglePopup,
796
+ propSelectedOptions = _this$props10.selectedOptions,
797
+ _this$props10$disable = _this$props10.disabledOptions,
798
+ disabledOptions = _this$props10$disable === void 0 ? dummyArray : _this$props10$disable;
799
+
695
800
  var _filterSelectedOption = (0, _dropDownUtils.filterSelectedOptions)({
696
- selectedOptions: selectedOptions,
697
- propSelectedOptions: propSelectedOptions,
698
- disabledOptions: disabledOptions
699
- }),
700
- newSelectedOptions = _filterSelectedOption.newSelectedOptions;
801
+ selectedOptions: selectedOptions,
802
+ propSelectedOptions: propSelectedOptions,
803
+ disabledOptions: disabledOptions
804
+ }),
805
+ newSelectedOptions = _filterSelectedOption.newSelectedOptions;
806
+
701
807
  var selectedOptionsLen = newSelectedOptions.length;
702
808
  var allSelectedOptionsDetails = [];
809
+
703
810
  for (var i = 0; i < selectedOptionsLen; i++) {
704
811
  var id = newSelectedOptions[i];
705
812
  allSelectedOptionsDetails.push(optionsNormalize[id]);
706
813
  }
707
- onChange && onChange(newSelectedOptions, allSelectedOptionsDetails);
708
- // this.setState({ searchStr: '' });
814
+
815
+ onChange && onChange(newSelectedOptions, allSelectedOptionsDetails); // this.setState({ searchStr: '' });
816
+
709
817
  this.searchInput && this.searchInput.focus({
710
818
  preventScroll: true
711
819
  });
820
+
712
821
  if (needToCloseOnSelect) {
713
822
  togglePopup(e);
714
823
  }
@@ -717,9 +826,9 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
717
826
  key: "togglePopup",
718
827
  value: function togglePopup(e) {
719
828
  var _this$props11 = this.props,
720
- togglePopup = _this$props11.togglePopup,
721
- defaultDropBoxPosition = _this$props11.defaultDropBoxPosition,
722
- isReadOnly = _this$props11.isReadOnly;
829
+ togglePopup = _this$props11.togglePopup,
830
+ defaultDropBoxPosition = _this$props11.defaultDropBoxPosition,
831
+ isReadOnly = _this$props11.isReadOnly;
723
832
  !isReadOnly && togglePopup(e, defaultDropBoxPosition ? "".concat(defaultDropBoxPosition) : null);
724
833
  }
725
834
  }, {
@@ -761,15 +870,18 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
761
870
  key: "handleActive",
762
871
  value: function handleActive(e) {
763
872
  var _this$state7 = this.state,
764
- searchStr = _this$state7.searchStr,
765
- isActive = _this$state7.isActive;
873
+ searchStr = _this$state7.searchStr,
874
+ isActive = _this$state7.isActive;
875
+
766
876
  if (!isActive) {
767
877
  this.setState({
768
878
  isActive: true
769
879
  });
770
880
  }
881
+
771
882
  var _ref5 = e || {},
772
- target = _ref5.target;
883
+ target = _ref5.target;
884
+
773
885
  target && target.setSelectionRange(target, 0);
774
886
  var onFocus = this.props.onFocus;
775
887
  onFocus && onFocus(searchStr);
@@ -778,6 +890,7 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
778
890
  key: "handleInactive",
779
891
  value: function handleInactive() {
780
892
  var isActive = this.state.isActive;
893
+
781
894
  if (isActive) {
782
895
  this.setState({
783
896
  isActive: false
@@ -788,8 +901,8 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
788
901
  key: "handleInputFocus",
789
902
  value: function handleInputFocus() {
790
903
  var _this$props12 = this.props,
791
- isDisabled = _this$props12.isDisabled,
792
- isReadOnly = _this$props12.isReadOnly;
904
+ isDisabled = _this$props12.isDisabled,
905
+ isReadOnly = _this$props12.isReadOnly;
793
906
  this.searchInput && !isDisabled && !isReadOnly && this.searchInput.focus({
794
907
  preventScroll: true
795
908
  });
@@ -798,8 +911,8 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
798
911
  key: "handleExposedPublicMethods",
799
912
  value: function handleExposedPublicMethods() {
800
913
  var _this$props13 = this.props,
801
- getPublicMethods = _this$props13.getPublicMethods,
802
- openPopupOnly = _this$props13.openPopupOnly;
914
+ getPublicMethods = _this$props13.getPublicMethods,
915
+ openPopupOnly = _this$props13.openPopupOnly;
803
916
  getPublicMethods && getPublicMethods({
804
917
  openPopupOnly: openPopupOnly
805
918
  });
@@ -818,80 +931,83 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
818
931
  key: "render",
819
932
  value: function render() {
820
933
  var _this5 = this;
934
+
821
935
  var _this$props14 = this.props,
822
- isReadOnly = _this$props14.isReadOnly,
823
- needSelectAll = _this$props14.needSelectAll,
824
- searchEmptyMessage = _this$props14.searchEmptyMessage,
825
- emptyMessage = _this$props14.emptyMessage,
826
- noMoreOptionsMessage = _this$props14.noMoreOptionsMessage,
827
- dropBoxSize = _this$props14.dropBoxSize,
828
- placeHolder = _this$props14.placeHolder,
829
- isPopupOpen = _this$props14.isPopupOpen,
830
- isPopupReady = _this$props14.isPopupReady,
831
- position = _this$props14.position,
832
- defaultDropBoxPosition = _this$props14.defaultDropBoxPosition,
833
- selectAllText = _this$props14.selectAllText,
834
- getContainerRef = _this$props14.getContainerRef,
835
- removeClose = _this$props14.removeClose,
836
- isAnimate = _this$props14.isAnimate,
837
- animationStyle = _this$props14.animationStyle,
838
- textBoxSize = _this$props14.textBoxSize,
839
- variant = _this$props14.variant,
840
- size = _this$props14.size,
841
- isDisabled = _this$props14.isDisabled,
842
- title = _this$props14.title,
843
- needResponsive = _this$props14.needResponsive,
844
- dataId = _this$props14.dataId,
845
- dataSelectorId = _this$props14.dataSelectorId,
846
- isSearching = _this$props14.isSearching,
847
- borderColor = _this$props14.borderColor,
848
- textBoxClass = _this$props14.textBoxClass,
849
- needBorder = _this$props14.needBorder,
850
- disableAction = _this$props14.disableAction,
851
- isBoxPaddingNeed = _this$props14.isBoxPaddingNeed,
852
- palette = _this$props14.palette,
853
- needAutoFocus = _this$props14.needAutoFocus,
854
- htmlId = _this$props14.htmlId,
855
- i18nKeys = _this$props14.i18nKeys,
856
- a11y = _this$props14.a11y,
857
- children = _this$props14.children,
858
- customChildrenClass = _this$props14.customChildrenClass,
859
- getFooter = _this$props14.getFooter,
860
- needEffect = _this$props14.needEffect,
861
- disabledOptions = _this$props14.disabledOptions,
862
- boxSize = _this$props14.boxSize,
863
- autoComplete = _this$props14.autoComplete,
864
- isLoading = _this$props14.isLoading;
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,
942
+ 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
+ textBoxSize = _this$props14.textBoxSize,
953
+ 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
+ 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
+ needAutoFocus = _this$props14.needAutoFocus,
968
+ htmlId = _this$props14.htmlId,
969
+ i18nKeys = _this$props14.i18nKeys,
970
+ a11y = _this$props14.a11y,
971
+ children = _this$props14.children,
972
+ 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
+ autoComplete = _this$props14.autoComplete,
978
+ isLoading = _this$props14.isLoading;
865
979
  var _i18nKeys = i18nKeys,
866
- _i18nKeys$clearText = _i18nKeys.clearText,
867
- clearText = _i18nKeys$clearText === void 0 ? 'Clear all' : _i18nKeys$clearText,
868
- _i18nKeys$searchText = _i18nKeys.searchText,
869
- searchText = _i18nKeys$searchText === void 0 ? 'Searching...' : _i18nKeys$searchText;
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;
870
984
  var _a11y$clearLabel = a11y.clearLabel,
871
- clearLabel = _a11y$clearLabel === void 0 ? 'Clear all' : _a11y$clearLabel,
872
- ariaLabelledby = a11y.ariaLabelledby;
985
+ clearLabel = _a11y$clearLabel === void 0 ? 'Clear all' : _a11y$clearLabel,
986
+ ariaLabelledby = a11y.ariaLabelledby;
873
987
  i18nKeys = Object.assign({}, i18nKeys, {
874
988
  emptyText: i18nKeys.emptyText || emptyMessage,
875
989
  searchEmptyText: i18nKeys.searchEmptyText || searchEmptyMessage,
876
990
  noMoreText: i18nKeys.noMoreText || noMoreOptionsMessage
877
991
  });
878
992
  var _this$state8 = this.state,
879
- selectedOptions = _this$state8.selectedOptions,
880
- searchStr = _this$state8.searchStr,
881
- hoverOption = _this$state8.hoverOption,
882
- highLightedSelectOptions = _this$state8.highLightedSelectOptions,
883
- options = _this$state8.options,
884
- isFetchingOptions = _this$state8.isFetchingOptions,
885
- isActive = _this$state8.isActive,
886
- selectedOptionIds = _this$state8.selectedOptionIds;
993
+ selectedOptions = _this$state8.selectedOptions,
994
+ searchStr = _this$state8.searchStr,
995
+ hoverOption = _this$state8.hoverOption,
996
+ highLightedSelectOptions = _this$state8.highLightedSelectOptions,
997
+ options = _this$state8.options,
998
+ isFetchingOptions = _this$state8.isFetchingOptions,
999
+ isActive = _this$state8.isActive,
1000
+ selectedOptionIds = _this$state8.selectedOptionIds;
887
1001
  var suggestions = this.handleFilterSuggestions();
888
1002
  var setAriaId = this.getNextAriaId();
889
1003
  var ariaErrorId = this.getNextAriaId();
1004
+
890
1005
  var _this$getIsShowClearI = this.getIsShowClearIcon({
891
- selectedOptions: selectedOptions,
892
- disabledOptions: disabledOptions
893
- }),
894
- isShowClear = _this$getIsShowClearI.isShowClearIcon;
1006
+ selectedOptions: selectedOptions,
1007
+ disabledOptions: disabledOptions
1008
+ }),
1009
+ isShowClear = _this$getIsShowClearI.isShowClearIcon;
1010
+
895
1011
  var isShowClearIcon = !isReadOnly && !isDisabled && !disableAction && isShowClear;
896
1012
  return /*#__PURE__*/_react["default"].createElement("div", {
897
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 : ''),
@@ -1042,18 +1158,19 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
1042
1158
  }) : null);
1043
1159
  }
1044
1160
  }]);
1161
+
1045
1162
  return MultiSelectComponent;
1046
1163
  }(_react["default"].Component);
1164
+
1047
1165
  exports.MultiSelectComponent = MultiSelectComponent;
1048
1166
  MultiSelectComponent.propTypes = _propTypes.MultiSelect_propTypes;
1049
- MultiSelectComponent.defaultProps = _defaultProps.MultiSelect_defaultProps;
1050
-
1051
- // if (__DOCS__) {
1167
+ MultiSelectComponent.defaultProps = _defaultProps.MultiSelect_defaultProps; // if (__DOCS__) {
1052
1168
  // MultiSelectComponent.docs = {
1053
1169
  // componentGroup: 'Form Elements',
1054
1170
  // folderName: 'Style Guide'
1055
1171
  // };
1056
1172
  // }
1173
+
1057
1174
  MultiSelectComponent.displayName = 'MultiSelect';
1058
1175
  var MultiSelect = (0, _Popup["default"])(MultiSelectComponent);
1059
1176
  MultiSelect.propTypes = MultiSelectComponent.propTypes;