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

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 (477) hide show
  1. package/.cli/PropLessFiles.html +1 -1
  2. package/.cli/PropValidationExcludeFilesArray.js +7 -3
  3. package/.cli/propValidation_report.html +1 -1
  4. package/README.md +1335 -1277
  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/light/themes/blue/blue_CTA_LightModifyCategory.module.css +180 -180
  8. package/assets/Appearance/light/themes/blue/blue_CTA_LightTheme.module.css +12 -12
  9. package/assets/Appearance/pureDark/mode/Component_PureDarkMode.module.css +1 -0
  10. package/coverage/Button/Button.js.html +1 -1
  11. package/coverage/Button/css/Button.module.css.html +1 -1
  12. package/coverage/Button/css/cssJSLogic.js.html +1 -1
  13. package/coverage/Button/css/index.html +1 -1
  14. package/coverage/Button/index.html +1 -1
  15. package/coverage/Button/props/defaultProps.js.html +3 -6
  16. package/coverage/Button/props/index.html +1 -1
  17. package/coverage/Button/props/propTypes.js.html +9 -3
  18. package/coverage/Buttongroup/Buttongroup.js.html +1 -1
  19. package/coverage/Buttongroup/Buttongroup.module.css.html +1 -1
  20. package/coverage/Buttongroup/index.html +1 -1
  21. package/coverage/Buttongroup/props/defaultProps.js.html +1 -1
  22. package/coverage/Buttongroup/props/index.html +1 -1
  23. package/coverage/Buttongroup/props/propTypes.js.html +1 -1
  24. package/coverage/coverage-final.json +10 -10
  25. package/coverage/coverage-summary.json +10 -10
  26. package/coverage/index.html +1 -1
  27. package/coverage/utils/dummyFunction.js.html +1 -1
  28. package/coverage/utils/index.html +1 -1
  29. package/es/AppContainer/AppContainer.js +3 -0
  30. package/es/AppContainer/AppContainer.module.css +18 -18
  31. package/es/Avatar/Avatar.js +9 -9
  32. package/es/Avatar/Avatar.module.css +175 -175
  33. package/es/AvatarTeam/AvatarTeam.js +7 -7
  34. package/es/AvatarTeam/AvatarTeam.module.css +189 -189
  35. package/es/Button/Button.js +4 -4
  36. package/es/Button/__tests__/__snapshots__/Button.spec.js.snap +440 -468
  37. package/es/Button/css/Button.module.css +525 -525
  38. package/es/Button/props/defaultProps.js +1 -2
  39. package/es/Button/props/propTypes.js +3 -1
  40. package/es/Buttongroup/Buttongroup.js +1 -1
  41. package/es/Buttongroup/Buttongroup.module.css +105 -105
  42. package/es/Buttongroup/__tests__/__snapshots__/Buttongroup.spec.js.snap +191 -191
  43. package/es/Card/Card.js +4 -4
  44. package/es/Card/Card.module.css +20 -20
  45. package/es/CheckBox/CheckBox.js +0 -0
  46. package/es/CheckBox/CheckBox.module.css +157 -157
  47. package/es/DateTime/CalendarView.js +0 -0
  48. package/es/DateTime/DateTime.js +0 -0
  49. package/es/DateTime/DateTime.module.css +237 -235
  50. package/es/DateTime/DateWidget.js +2 -1
  51. package/es/DateTime/DateWidget.module.css +38 -38
  52. package/es/DateTime/YearView.js +0 -0
  53. package/es/DateTime/YearView.module.css +98 -98
  54. package/es/DateTime/common.js +0 -0
  55. package/es/DateTime/dateFormatUtils/dayChange.js +2 -1
  56. package/es/DateTime/dateFormatUtils/index.js +1 -1
  57. package/es/DateTime/dateFormatUtils/monthChange.js +2 -1
  58. package/es/DateTime/dateFormatUtils/timeChange.js +4 -4
  59. package/es/DateTime/dateFormatUtils/yearChange.js +2 -1
  60. package/es/DateTime/index.js +0 -0
  61. package/es/DateTime/objectUtils.js +0 -0
  62. package/es/DateTime/typeChecker.js +0 -0
  63. package/es/DateTime/validator.js +0 -0
  64. package/es/DropBox/DropBox.js +10 -10
  65. package/es/DropBox/DropBoxElement/css/DropBoxElement.module.css +434 -434
  66. package/es/DropBox/DropBoxPositionMapping.json +144 -144
  67. package/es/DropBox/css/DropBox.module.css +58 -58
  68. package/es/DropDown/DropDown.js +1 -7
  69. package/es/DropDown/DropDown.module.css +5 -5
  70. package/es/DropDown/DropDownHeading.js +0 -0
  71. package/es/DropDown/DropDownHeading.module.css +53 -53
  72. package/es/DropDown/DropDownItem.js +0 -0
  73. package/es/DropDown/DropDownItem.module.css +94 -94
  74. package/es/DropDown/DropDownSearch.js +0 -0
  75. package/es/DropDown/DropDownSearch.module.css +14 -14
  76. package/es/DropDown/DropDownSeparator.js +0 -0
  77. package/es/DropDown/DropDownSeparator.module.css +7 -7
  78. package/es/Heading/Heading.module.css +4 -4
  79. package/es/Label/Label.js +2 -2
  80. package/es/Label/Label.module.css +52 -52
  81. package/es/Label/LabelColors.module.css +20 -20
  82. package/es/Layout/Box.js +0 -0
  83. package/es/Layout/Container.js +0 -0
  84. package/es/Layout/Layout.module.css +335 -335
  85. package/es/Layout/utils.js +0 -0
  86. package/es/ListItem/ListItem.js +0 -0
  87. package/es/ListItem/ListItem.module.css +216 -216
  88. package/es/MultiSelect/AdvancedGroupMultiSelect.js +12 -10
  89. package/es/MultiSelect/AdvancedMultiSelect.js +4 -4
  90. package/es/MultiSelect/MobileHeader/MobileHeader.js +50 -0
  91. package/es/MultiSelect/MobileHeader/MobileHeader.module.css +16 -0
  92. package/es/MultiSelect/MobileHeader/props/defaultProps.js +7 -0
  93. package/es/MultiSelect/MobileHeader/props/propTypes.js +7 -0
  94. package/es/MultiSelect/MultiSelect.js +117 -96
  95. package/es/MultiSelect/MultiSelect.module.css +204 -207
  96. package/es/MultiSelect/MultiSelectHeader.js +1 -2
  97. package/es/MultiSelect/MultiSelectWithAvatar.js +15 -112
  98. package/es/MultiSelect/SelectedOptions.module.css +15 -15
  99. package/es/MultiSelect/props/defaultProps.js +3 -1
  100. package/es/MultiSelect/props/propTypes.js +147 -193
  101. package/es/PopOver/PopOver.module.css +8 -8
  102. package/es/Popup/Popup.js +0 -0
  103. package/es/Popup/PositionMapping.json +73 -73
  104. package/es/Radio/Radio.js +0 -0
  105. package/es/Radio/Radio.module.css +112 -112
  106. package/es/Responsive/CustomResponsive.js +0 -0
  107. package/es/Responsive/RefWrapper.js +2 -1
  108. package/es/ResponsiveDropBox/ResponsiveDropBox.module.css +6 -6
  109. package/es/Ribbon/Ribbon.js +0 -0
  110. package/es/Ribbon/Ribbon.module.css +454 -454
  111. package/es/RippleEffect/RippleEffect.module.css +92 -92
  112. package/es/Select/GroupSelect.js +3 -5
  113. package/es/Select/Select.js +2 -5
  114. package/es/Select/Select.module.css +108 -108
  115. package/es/Select/SelectWithAvatar.js +2 -1
  116. package/es/Select/SelectWithIcon.js +5 -2
  117. package/es/Select/props/propTypes.js +3 -1
  118. package/es/Stencils/Stencils.js +0 -0
  119. package/es/Stencils/Stencils.module.css +96 -96
  120. package/es/Switch/Switch.js +0 -0
  121. package/es/Switch/Switch.module.css +127 -127
  122. package/es/Tab/Tab.module.css +100 -100
  123. package/es/Tab/TabContent.module.css +4 -4
  124. package/es/Tab/Tabs.js +17 -17
  125. package/es/Tab/Tabs.module.css +136 -136
  126. package/es/Tag/Tag.js +8 -8
  127. package/es/Tag/Tag.module.css +254 -254
  128. package/es/TextBox/TextBox.js +3 -3
  129. package/es/TextBox/TextBox.module.css +158 -158
  130. package/es/TextBoxIcon/TextBoxIcon.js +0 -0
  131. package/es/TextBoxIcon/TextBoxIcon.module.css +79 -79
  132. package/es/Textarea/Textarea.js +0 -0
  133. package/es/Textarea/Textarea.module.css +139 -139
  134. package/es/Tooltip/Tooltip.module.css +140 -140
  135. package/es/common/a11y.module.css +3 -3
  136. package/es/common/animation.module.css +624 -624
  137. package/es/common/avatarsizes.module.css +48 -48
  138. package/es/common/basic.module.css +33 -33
  139. package/es/common/basicReset.module.css +40 -40
  140. package/es/common/boxShadow.module.css +33 -33
  141. package/es/common/common.module.css +524 -524
  142. package/es/common/customscroll.module.css +91 -91
  143. package/es/common/reset.module.css +13 -13
  144. package/es/common/transition.module.css +146 -146
  145. package/es/deprecated/PortalLayer/props/propTypes.js +3 -1
  146. package/es/index.js +2 -1
  147. package/es/semantic/Button/semanticButton.module.css +9 -9
  148. package/es/utils/Common.js +3 -0
  149. package/es/utils/dropDownUtils.js +0 -0
  150. package/es/v1/Accordion/Accordion.js +66 -0
  151. package/es/v1/Accordion/AccordionItem.js +57 -0
  152. package/es/v1/Accordion/index.js +2 -0
  153. package/es/v1/Animation/Animation.js +127 -0
  154. package/es/v1/AppContainer/AppContainer.js +120 -0
  155. package/es/v1/Avatar/Avatar.js +139 -0
  156. package/es/v1/AvatarTeam/AvatarTeam.js +70 -0
  157. package/es/v1/Button/Button.js +68 -0
  158. package/es/v1/Buttongroup/Buttongroup.js +31 -0
  159. package/es/v1/Card/Card.js +237 -0
  160. package/es/v1/Card/index.js +4 -0
  161. package/es/v1/CheckBox/CheckBox.js +155 -0
  162. package/es/v1/DateTime/CalendarView.js +218 -0
  163. package/es/v1/DateTime/DateTime.js +783 -0
  164. package/es/v1/DateTime/DateTimePopupFooter.js +47 -0
  165. package/es/v1/DateTime/DateTimePopupHeader.js +105 -0
  166. package/es/v1/DateTime/DateWidget.js +1098 -0
  167. package/es/v1/DateTime/DaysRow.js +31 -0
  168. package/es/v1/DateTime/Time.js +166 -0
  169. package/es/v1/DateTime/YearView.js +264 -0
  170. package/es/v1/DateTime/index.js +1 -0
  171. package/es/v1/DropBox/DropBox.js +91 -0
  172. package/es/v1/DropBox/DropBoxElement/DropBoxElement.js +132 -0
  173. package/es/v1/DropDown/DropDown.js +52 -0
  174. package/es/v1/DropDown/DropDownHeading.js +36 -0
  175. package/es/v1/DropDown/DropDownItem.js +56 -0
  176. package/es/v1/DropDown/DropDownSearch.js +55 -0
  177. package/es/v1/DropDown/DropDownSeparator.js +12 -0
  178. package/es/v1/Heading/Heading.js +32 -0
  179. package/es/v1/Label/Label.js +40 -0
  180. package/es/v1/Layout/Box.js +115 -0
  181. package/es/v1/Layout/Container.js +132 -0
  182. package/es/v1/Layout/index.js +2 -0
  183. package/es/v1/ListItem/ListContainer.js +102 -0
  184. package/es/v1/ListItem/ListItem.js +124 -0
  185. package/es/v1/ListItem/ListItemWithAvatar.js +145 -0
  186. package/es/v1/ListItem/ListItemWithCheckBox.js +104 -0
  187. package/es/v1/ListItem/ListItemWithIcon.js +127 -0
  188. package/es/v1/ListItem/ListItemWithRadio.js +105 -0
  189. package/es/v1/ListItem/index.js +6 -0
  190. package/es/v1/Modal/Modal.js +154 -0
  191. package/es/v1/MultiSelect/AdvancedGroupMultiSelect.js +1079 -0
  192. package/es/v1/MultiSelect/AdvancedMultiSelect.js +568 -0
  193. package/es/v1/MultiSelect/EmptyState.js +64 -0
  194. package/es/v1/MultiSelect/MobileHeader/MobileHeader.js +50 -0
  195. package/es/v1/MultiSelect/MultiSelect.js +1121 -0
  196. package/es/v1/MultiSelect/MultiSelectHeader.js +32 -0
  197. package/es/v1/MultiSelect/MultiSelectWithAvatar.js +217 -0
  198. package/es/v1/MultiSelect/SelectedOptions.js +82 -0
  199. package/es/v1/MultiSelect/Suggestions.js +142 -0
  200. package/es/v1/MultiSelect/index.js +4 -0
  201. package/es/v1/PopOver/PopOver.js +176 -0
  202. package/es/v1/Popup/Popup.js +645 -0
  203. package/es/v1/Provider/AvatarSize.js +13 -0
  204. package/es/v1/Provider/Config.js +18 -0
  205. package/es/v1/Provider/CssProvider.js +16 -0
  206. package/es/v1/Provider/IdProvider.js +66 -0
  207. package/es/v1/Provider/LibraryContext.js +37 -0
  208. package/es/v1/Provider/LibraryContextInit.js +3 -0
  209. package/es/v1/Provider/NumberGenerator/NumberGenerator.js +136 -0
  210. package/es/v1/Provider/ZindexProvider.js +57 -0
  211. package/es/v1/Provider/index.js +4 -0
  212. package/es/v1/Radio/Radio.js +115 -0
  213. package/es/v1/Responsive/CustomResponsive.js +195 -0
  214. package/es/v1/Responsive/RefWrapper.js +39 -0
  215. package/es/v1/Responsive/ResizeComponent.js +197 -0
  216. package/es/v1/Responsive/ResizeObserver.js +140 -0
  217. package/es/v1/Responsive/Responsive.js +194 -0
  218. package/es/v1/Responsive/index.js +9 -0
  219. package/es/v1/ResponsiveDropBox/ResponsiveDropBox.js +58 -0
  220. package/es/v1/Ribbon/Ribbon.js +33 -0
  221. package/es/v1/RippleEffect/RippleEffect.js +24 -0
  222. package/es/v1/Select/GroupSelect.js +800 -0
  223. package/es/v1/Select/Select.js +966 -0
  224. package/es/v1/Select/SelectWithAvatar.js +344 -0
  225. package/es/v1/Select/SelectWithIcon.js +535 -0
  226. package/es/v1/Select/index.js +4 -0
  227. package/es/v1/Stencils/Stencils.js +26 -0
  228. package/es/v1/Switch/Switch.js +94 -0
  229. package/es/v1/Tab/Tab.js +108 -0
  230. package/es/v1/Tab/TabContent.js +30 -0
  231. package/es/v1/Tab/TabContentWrapper.js +29 -0
  232. package/es/v1/Tab/TabWrapper.js +57 -0
  233. package/es/v1/Tab/Tabs.js +612 -0
  234. package/es/v1/Tab/index.js +5 -0
  235. package/es/v1/Tag/Tag.js +134 -0
  236. package/es/v1/TextBox/TextBox.js +154 -0
  237. package/es/v1/TextBoxIcon/TextBoxIcon.js +158 -0
  238. package/es/v1/Textarea/Textarea.js +102 -0
  239. package/es/v1/Tooltip/Tooltip.js +518 -0
  240. package/es/v1/Typography/Typography.js +38 -0
  241. package/es/v1/Typography/css/Typography.module.css +376 -0
  242. package/es/v1/Typography/css/cssJSLogic.js +46 -0
  243. package/es/v1/Typography/css/letterSpacingMap.js +12 -0
  244. package/es/v1/Typography/props/defaultProps.js +8 -0
  245. package/es/v1/Typography/props/propTypes.js +24 -0
  246. package/es/v1/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +69 -0
  247. package/es/v1/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +100 -0
  248. package/es/v1/semantic/Button/Button.js +53 -0
  249. package/es/v1/semantic/index.js +1 -0
  250. package/install.md +10 -10
  251. package/lib/AppContainer/AppContainer.js +5 -0
  252. package/lib/AppContainer/AppContainer.module.css +18 -18
  253. package/lib/Avatar/Avatar.js +9 -9
  254. package/lib/Avatar/Avatar.module.css +175 -175
  255. package/lib/AvatarTeam/AvatarTeam.js +7 -7
  256. package/lib/AvatarTeam/AvatarTeam.module.css +189 -189
  257. package/lib/Button/Button.js +4 -4
  258. package/lib/Button/__tests__/__snapshots__/Button.spec.js.snap +440 -468
  259. package/lib/Button/css/Button.module.css +525 -525
  260. package/lib/Button/props/defaultProps.js +1 -2
  261. package/lib/Button/props/propTypes.js +3 -1
  262. package/lib/Buttongroup/Buttongroup.js +1 -1
  263. package/lib/Buttongroup/Buttongroup.module.css +105 -105
  264. package/lib/Buttongroup/__tests__/__snapshots__/Buttongroup.spec.js.snap +191 -191
  265. package/lib/Card/Card.js +4 -4
  266. package/lib/Card/Card.module.css +20 -20
  267. package/lib/CheckBox/CheckBox.js +0 -0
  268. package/lib/CheckBox/CheckBox.module.css +157 -157
  269. package/lib/DateTime/CalendarView.js +0 -0
  270. package/lib/DateTime/DateTime.js +0 -0
  271. package/lib/DateTime/DateTime.module.css +237 -235
  272. package/lib/DateTime/DateWidget.js +2 -1
  273. package/lib/DateTime/DateWidget.module.css +38 -38
  274. package/lib/DateTime/YearView.js +0 -0
  275. package/lib/DateTime/YearView.module.css +98 -98
  276. package/lib/DateTime/common.js +0 -0
  277. package/lib/DateTime/dateFormatUtils/dayChange.js +3 -1
  278. package/lib/DateTime/dateFormatUtils/index.js +1 -1
  279. package/lib/DateTime/dateFormatUtils/monthChange.js +3 -1
  280. package/lib/DateTime/dateFormatUtils/timeChange.js +3 -3
  281. package/lib/DateTime/dateFormatUtils/yearChange.js +3 -1
  282. package/lib/DateTime/index.js +0 -0
  283. package/lib/DateTime/objectUtils.js +0 -0
  284. package/lib/DateTime/typeChecker.js +0 -0
  285. package/lib/DateTime/validator.js +0 -0
  286. package/lib/DropBox/DropBox.js +15 -15
  287. package/lib/DropBox/DropBoxElement/css/DropBoxElement.module.css +434 -434
  288. package/lib/DropBox/DropBoxPositionMapping.json +144 -144
  289. package/lib/DropBox/css/DropBox.module.css +58 -58
  290. package/lib/DropDown/DropDown.js +1 -6
  291. package/lib/DropDown/DropDown.module.css +5 -5
  292. package/lib/DropDown/DropDownHeading.js +0 -0
  293. package/lib/DropDown/DropDownHeading.module.css +53 -53
  294. package/lib/DropDown/DropDownItem.js +0 -0
  295. package/lib/DropDown/DropDownItem.module.css +94 -94
  296. package/lib/DropDown/DropDownSearch.js +0 -0
  297. package/lib/DropDown/DropDownSearch.module.css +14 -14
  298. package/lib/DropDown/DropDownSeparator.js +0 -0
  299. package/lib/DropDown/DropDownSeparator.module.css +7 -7
  300. package/lib/Heading/Heading.module.css +4 -4
  301. package/lib/Label/Label.js +0 -0
  302. package/lib/Label/Label.module.css +52 -52
  303. package/lib/Label/LabelColors.module.css +20 -20
  304. package/lib/Layout/Box.js +0 -0
  305. package/lib/Layout/Container.js +0 -0
  306. package/lib/Layout/Layout.module.css +335 -335
  307. package/lib/Layout/utils.js +0 -0
  308. package/lib/ListItem/ListItem.js +0 -0
  309. package/lib/ListItem/ListItem.module.css +216 -216
  310. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +12 -11
  311. package/lib/MultiSelect/AdvancedMultiSelect.js +4 -4
  312. package/lib/MultiSelect/MobileHeader/MobileHeader.js +62 -0
  313. package/lib/MultiSelect/MobileHeader/MobileHeader.module.css +16 -0
  314. package/lib/MultiSelect/MobileHeader/props/defaultProps.js +14 -0
  315. package/lib/MultiSelect/MobileHeader/props/propTypes.js +18 -0
  316. package/lib/MultiSelect/MultiSelect.js +121 -101
  317. package/lib/MultiSelect/MultiSelect.module.css +204 -207
  318. package/lib/MultiSelect/MultiSelectHeader.js +1 -2
  319. package/lib/MultiSelect/MultiSelectWithAvatar.js +18 -113
  320. package/lib/MultiSelect/SelectedOptions.module.css +15 -15
  321. package/lib/MultiSelect/props/defaultProps.js +3 -1
  322. package/lib/MultiSelect/props/propTypes.js +161 -197
  323. package/lib/PopOver/PopOver.module.css +8 -8
  324. package/lib/Popup/Popup.js +0 -0
  325. package/lib/Popup/PositionMapping.json +73 -73
  326. package/lib/Radio/Radio.js +0 -0
  327. package/lib/Radio/Radio.module.css +112 -112
  328. package/lib/Responsive/CustomResponsive.js +0 -0
  329. package/lib/Responsive/RefWrapper.js +2 -1
  330. package/lib/ResponsiveDropBox/ResponsiveDropBox.module.css +6 -6
  331. package/lib/Ribbon/Ribbon.js +0 -0
  332. package/lib/Ribbon/Ribbon.module.css +454 -454
  333. package/lib/RippleEffect/RippleEffect.module.css +92 -92
  334. package/lib/Select/GroupSelect.js +2 -2
  335. package/lib/Select/Select.js +1 -2
  336. package/lib/Select/Select.module.css +108 -108
  337. package/lib/Select/SelectWithAvatar.js +2 -1
  338. package/lib/Select/SelectWithIcon.js +5 -3
  339. package/lib/Select/props/propTypes.js +12 -2
  340. package/lib/Stencils/Stencils.js +0 -0
  341. package/lib/Stencils/Stencils.module.css +96 -96
  342. package/lib/Switch/Switch.js +0 -0
  343. package/lib/Switch/Switch.module.css +127 -127
  344. package/lib/Tab/Tab.module.css +100 -100
  345. package/lib/Tab/TabContent.module.css +4 -4
  346. package/lib/Tab/Tabs.js +11 -11
  347. package/lib/Tab/Tabs.module.css +136 -136
  348. package/lib/Tag/Tag.js +8 -8
  349. package/lib/Tag/Tag.module.css +254 -254
  350. package/lib/TextBox/TextBox.js +10 -10
  351. package/lib/TextBox/TextBox.module.css +158 -158
  352. package/lib/TextBoxIcon/TextBoxIcon.js +0 -0
  353. package/lib/TextBoxIcon/TextBoxIcon.module.css +79 -79
  354. package/lib/Textarea/Textarea.js +0 -0
  355. package/lib/Textarea/Textarea.module.css +139 -139
  356. package/lib/Tooltip/Tooltip.module.css +140 -140
  357. package/lib/common/a11y.module.css +3 -3
  358. package/lib/common/animation.module.css +624 -624
  359. package/lib/common/avatarsizes.module.css +48 -48
  360. package/lib/common/basic.module.css +33 -33
  361. package/lib/common/basicReset.module.css +40 -40
  362. package/lib/common/boxShadow.module.css +33 -33
  363. package/lib/common/common.module.css +524 -524
  364. package/lib/common/customscroll.module.css +91 -91
  365. package/lib/common/reset.module.css +13 -13
  366. package/lib/common/transition.module.css +146 -146
  367. package/lib/deprecated/PortalLayer/props/propTypes.js +3 -1
  368. package/lib/index.js +10 -1
  369. package/lib/semantic/Button/semanticButton.module.css +9 -9
  370. package/lib/utils/Common.js +5 -0
  371. package/lib/utils/dropDownUtils.js +0 -0
  372. package/lib/v1/Accordion/Accordion.js +98 -0
  373. package/lib/v1/Accordion/AccordionItem.js +68 -0
  374. package/lib/v1/Accordion/index.js +23 -0
  375. package/lib/v1/Animation/Animation.js +143 -0
  376. package/lib/v1/AppContainer/AppContainer.js +158 -0
  377. package/lib/v1/Avatar/Avatar.js +190 -0
  378. package/lib/v1/AvatarTeam/AvatarTeam.js +81 -0
  379. package/lib/v1/Button/Button.js +82 -0
  380. package/lib/v1/Buttongroup/Buttongroup.js +44 -0
  381. package/lib/v1/Card/Card.js +269 -0
  382. package/lib/v1/Card/index.js +37 -0
  383. package/lib/v1/CheckBox/CheckBox.js +166 -0
  384. package/lib/v1/DateTime/CalendarView.js +285 -0
  385. package/lib/v1/DateTime/DateTime.js +872 -0
  386. package/lib/v1/DateTime/DateTimePopupFooter.js +96 -0
  387. package/lib/v1/DateTime/DateTimePopupHeader.js +166 -0
  388. package/lib/v1/DateTime/DateWidget.js +1125 -0
  389. package/lib/v1/DateTime/DaysRow.js +80 -0
  390. package/lib/v1/DateTime/Time.js +254 -0
  391. package/lib/v1/DateTime/YearView.js +325 -0
  392. package/lib/v1/DateTime/index.js +15 -0
  393. package/lib/v1/DropBox/DropBox.js +119 -0
  394. package/lib/v1/DropBox/DropBoxElement/DropBoxElement.js +145 -0
  395. package/lib/v1/DropDown/DropDown.js +74 -0
  396. package/lib/v1/DropDown/DropDownHeading.js +47 -0
  397. package/lib/v1/DropDown/DropDownItem.js +75 -0
  398. package/lib/v1/DropDown/DropDownSearch.js +74 -0
  399. package/lib/v1/DropDown/DropDownSeparator.js +24 -0
  400. package/lib/v1/Heading/Heading.js +49 -0
  401. package/lib/v1/Label/Label.js +51 -0
  402. package/lib/v1/Layout/Box.js +128 -0
  403. package/lib/v1/Layout/Container.js +145 -0
  404. package/lib/v1/Layout/index.js +23 -0
  405. package/lib/v1/ListItem/ListContainer.js +120 -0
  406. package/lib/v1/ListItem/ListItem.js +138 -0
  407. package/lib/v1/ListItem/ListItemWithAvatar.js +162 -0
  408. package/lib/v1/ListItem/ListItemWithCheckBox.js +125 -0
  409. package/lib/v1/ListItem/ListItemWithIcon.js +143 -0
  410. package/lib/v1/ListItem/ListItemWithRadio.js +126 -0
  411. package/lib/v1/ListItem/index.js +55 -0
  412. package/lib/v1/Modal/Modal.js +212 -0
  413. package/lib/v1/MultiSelect/AdvancedGroupMultiSelect.js +1167 -0
  414. package/lib/v1/MultiSelect/AdvancedMultiSelect.js +634 -0
  415. package/lib/v1/MultiSelect/EmptyState.js +112 -0
  416. package/lib/v1/MultiSelect/MobileHeader/MobileHeader.js +62 -0
  417. package/lib/v1/MultiSelect/MultiSelect.js +1203 -0
  418. package/lib/v1/MultiSelect/MultiSelectHeader.js +78 -0
  419. package/lib/v1/MultiSelect/MultiSelectWithAvatar.js +272 -0
  420. package/lib/v1/MultiSelect/SelectedOptions.js +126 -0
  421. package/lib/v1/MultiSelect/Suggestions.js +195 -0
  422. package/lib/v1/MultiSelect/index.js +39 -0
  423. package/lib/v1/PopOver/PopOver.js +197 -0
  424. package/lib/v1/Popup/Popup.js +715 -0
  425. package/lib/v1/Provider/AvatarSize.js +24 -0
  426. package/lib/v1/Provider/Config.js +27 -0
  427. package/lib/v1/Provider/CssProvider.js +27 -0
  428. package/lib/v1/Provider/IdProvider.js +79 -0
  429. package/lib/v1/Provider/LibraryContext.js +76 -0
  430. package/lib/v1/Provider/LibraryContextInit.js +15 -0
  431. package/lib/v1/Provider/NumberGenerator/NumberGenerator.js +174 -0
  432. package/lib/v1/Provider/ZindexProvider.js +69 -0
  433. package/lib/v1/Provider/index.js +81 -0
  434. package/lib/v1/Radio/Radio.js +126 -0
  435. package/lib/v1/Responsive/CustomResponsive.js +242 -0
  436. package/lib/v1/Responsive/RefWrapper.js +57 -0
  437. package/lib/v1/Responsive/ResizeComponent.js +268 -0
  438. package/lib/v1/Responsive/ResizeObserver.js +168 -0
  439. package/lib/v1/Responsive/Responsive.js +274 -0
  440. package/lib/v1/Responsive/index.js +55 -0
  441. package/lib/v1/ResponsiveDropBox/ResponsiveDropBox.js +79 -0
  442. package/lib/v1/Ribbon/Ribbon.js +44 -0
  443. package/lib/v1/RippleEffect/RippleEffect.js +39 -0
  444. package/lib/v1/Select/GroupSelect.js +876 -0
  445. package/lib/v1/Select/Select.js +1012 -0
  446. package/lib/v1/Select/SelectWithAvatar.js +394 -0
  447. package/lib/v1/Select/SelectWithIcon.js +597 -0
  448. package/lib/v1/Select/index.js +39 -0
  449. package/lib/v1/Stencils/Stencils.js +43 -0
  450. package/lib/v1/Switch/Switch.js +108 -0
  451. package/lib/v1/Tab/Tab.js +132 -0
  452. package/lib/v1/Tab/TabContent.js +42 -0
  453. package/lib/v1/Tab/TabContentWrapper.js +42 -0
  454. package/lib/v1/Tab/TabWrapper.js +89 -0
  455. package/lib/v1/Tab/Tabs.js +680 -0
  456. package/lib/v1/Tab/index.js +47 -0
  457. package/lib/v1/Tag/Tag.js +154 -0
  458. package/lib/v1/TextBox/TextBox.js +168 -0
  459. package/lib/v1/TextBoxIcon/TextBoxIcon.js +196 -0
  460. package/lib/v1/Textarea/Textarea.js +118 -0
  461. package/lib/v1/Tooltip/Tooltip.js +586 -0
  462. package/lib/v1/Typography/Typography.js +56 -0
  463. package/lib/v1/Typography/css/Typography.module.css +376 -0
  464. package/lib/v1/Typography/css/cssJSLogic.js +41 -0
  465. package/lib/v1/Typography/css/letterSpacingMap.js +20 -0
  466. package/lib/v1/Typography/props/defaultProps.js +15 -0
  467. package/lib/v1/Typography/props/propTypes.js +35 -0
  468. package/lib/v1/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +90 -0
  469. package/lib/v1/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +126 -0
  470. package/lib/v1/semantic/Button/Button.js +63 -0
  471. package/lib/v1/semantic/index.js +15 -0
  472. package/package.json +93 -93
  473. package/postPublish.js +8 -8
  474. package/prePublish.js +70 -70
  475. package/react-cli.config.js +23 -23
  476. package/result.json +1 -1
  477. package/unittest/index.html +1 -1
@@ -0,0 +1,1203 @@
1
+ "use strict";
2
+
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
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = exports.MultiSelectComponent = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _propTypes = require("../../MultiSelect/props/propTypes");
13
+
14
+ var _defaultProps = require("../../MultiSelect/props/defaultProps");
15
+
16
+ var _defaultProps2 = require("../../MultiSelect/MobileHeader/props/defaultProps");
17
+
18
+ var _Popup = _interopRequireDefault(require("../Popup/Popup"));
19
+
20
+ var _TextBoxIcon = _interopRequireDefault(require("../TextBoxIcon/TextBoxIcon"));
21
+
22
+ var _Layout = require("../Layout");
23
+
24
+ var _Card = _interopRequireWildcard(require("../Card/Card"));
25
+
26
+ var _SelectedOptions = _interopRequireDefault(require("./SelectedOptions"));
27
+
28
+ var _Suggestions = _interopRequireDefault(require("./Suggestions"));
29
+
30
+ var _EmptyState = _interopRequireDefault(require("./EmptyState"));
31
+
32
+ var _MobileHeader = _interopRequireDefault(require("./MobileHeader/MobileHeader"));
33
+
34
+ var _MultiSelectHeader = _interopRequireDefault(require("./MultiSelectHeader"));
35
+
36
+ var _CssProvider = _interopRequireDefault(require("../../Provider/CssProvider"));
37
+
38
+ var _IdProvider = require("../../Provider/IdProvider");
39
+
40
+ var _ResponsiveDropBox = _interopRequireDefault(require("../ResponsiveDropBox/ResponsiveDropBox"));
41
+
42
+ var _CustomResponsive = require("../Responsive/CustomResponsive");
43
+
44
+ var _Loader = _interopRequireDefault(require("@zohodesk/svg/lib/Loader/Loader"));
45
+
46
+ var _icons = require("@zohodesk/icons");
47
+
48
+ var _MultiSelectModule = _interopRequireDefault(require("../../MultiSelect/MultiSelect.module.css"));
49
+
50
+ var _Common = require("../../utils/Common.js");
51
+
52
+ var _dropDownUtils = require("../../utils/dropDownUtils");
53
+
54
+ var _Config = require("../../Provider/Config");
55
+
56
+ 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); }
57
+
58
+ 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; }
59
+
60
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
61
+
62
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
63
+
64
+ 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."); }
65
+
66
+ 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; }
67
+
68
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
69
+
70
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
71
+
72
+ 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."); }
73
+
74
+ 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); }
75
+
76
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
77
+
78
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
79
+
80
+ 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; }
81
+
82
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
83
+
84
+ 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); } }
85
+
86
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
87
+
88
+ 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); }
89
+
90
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
91
+
92
+ 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); }; }
93
+
94
+ 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); }
95
+
96
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
97
+
98
+ 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; } }
99
+
100
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
101
+
102
+ /* eslint-disable react/forbid-component-props */
103
+
104
+ /* eslint-disable react/no-unused-prop-types */
105
+ var dummyArray = [];
106
+
107
+ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
108
+ _inherits(MultiSelectComponent, _React$Component);
109
+
110
+ var _super = _createSuper(MultiSelectComponent);
111
+
112
+ function MultiSelectComponent(props) {
113
+ var _this;
114
+
115
+ _classCallCheck(this, MultiSelectComponent);
116
+
117
+ _this = _super.call(this, props);
118
+ _this.getNextAriaId = (0, _IdProvider.getUniqueId)(_assertThisInitialized(_this));
119
+ _this.getFilterSuggestions = (0, _dropDownUtils.makeGetMultiSelectFilterSuggestions)();
120
+ _this.formatOptions = (0, _dropDownUtils.makeFormatOptions)();
121
+ _this.getSelectedOptions = (0, _dropDownUtils.makeGetMultiSelectSelectedOptions)();
122
+ _this.getIsShowClearIcon = (0, _dropDownUtils.makeGetIsShowClearIcon)(); //Use in AdvancedMultiSelect component
123
+
124
+ _this.objectConcat = (0, _dropDownUtils.makeObjectConcat)();
125
+ _this.formatSelectedOptions = (0, _dropDownUtils.makeFormatOptions)();
126
+ var _this$props = _this.props,
127
+ selectedOptions = _this$props.selectedOptions,
128
+ _this$props$searchDeb = _this$props.searchDebounceTime,
129
+ searchDebounceTime = _this$props$searchDeb === void 0 ? 500 : _this$props$searchDeb;
130
+
131
+ var _this$handleFormatOpt = _this.handleFormatOptions(_this.props),
132
+ allOptions = _this$handleFormatOpt.allOptions,
133
+ normalizedAllOptions = _this$handleFormatOpt.normalizedAllOptions,
134
+ normalizedFormatOptions = _this$handleFormatOpt.normalizedFormatOptions;
135
+
136
+ var _this$handleGetSelect = _this.handleGetSelectedOptions(selectedOptions, normalizedFormatOptions, _this.props),
137
+ formatSelectedOptions = _this$handleGetSelect.formatSelectedOptions,
138
+ normalizedSelectedOptions = _this$handleGetSelect.normalizedSelectedOptions,
139
+ selectedOptionIds = _this$handleGetSelect.selectedOptionIds;
140
+
141
+ _this.state = {
142
+ options: allOptions,
143
+ optionsNormalize: normalizedAllOptions,
144
+ selectedOptions: formatSelectedOptions,
145
+ selectedOptionIds: selectedOptionIds,
146
+ searchStr: '',
147
+ hoverOption: 0,
148
+ isFetchingOptions: false,
149
+ highLightedSelectOptions: [],
150
+ lastHighLightedSelectOption: '',
151
+ shiftKeyPressHighLighted: 0,
152
+ isActive: false
153
+ };
154
+ _this.allSelectedOptionsDetails = normalizedSelectedOptions;
155
+ _this.suggestionsOrder = [];
156
+ _this._isMounted = false;
157
+
158
+ _Common.bind.apply(_assertThisInitialized(_this), ['handleInputCick', 'handleFilterSuggestions', 'handleKeyDown', 'handleSelectAll', 'handleDeselectAll', 'handleSelectOption', 'handleRemoveOption', 'handleSearch', 'handleClickSelectedOption', 'handleChange', 'handlePopupClose', 'togglePopup', 'selectedOptionRef', 'searchInputRef', 'suggestionContainerRef', 'suggestionItemRef', 'selectedOptionContainerRef', 'handleActive', 'handleInactive', 'handleMouseEnter', 'handleFetchOptions', 'handleFormatOptions', 'handleGetSelectedOptions', 'handleComponentDidUpdate', 'handleInputFocus', 'handleExposedPublicMethods', 'getSelectionUI', 'moveFocusToTextbox']);
159
+
160
+ _this.handleSearchOptions = (0, _Common.debounce)(_this.handleSearchOptions.bind(_assertThisInitialized(_this)), searchDebounceTime);
161
+ _this.handleScroll = _this.handleScroll.bind(_assertThisInitialized(_this));
162
+ _this.handleScrollFuncCall = (0, _Common.debounce)(_this.handleScrollFuncCall.bind(_assertThisInitialized(_this)), 500);
163
+ return _this;
164
+ }
165
+
166
+ _createClass(MultiSelectComponent, [{
167
+ key: "componentDidMount",
168
+ value: function componentDidMount() {
169
+ // let { suggestionContainer } = this;
170
+ this._isMounted = true;
171
+ this.handleExposedPublicMethods(); // suggestionContainer &&
172
+ // suggestionContainer.addEventListener('scroll', this.handleScroll);
173
+ }
174
+ }, {
175
+ key: "UNSAFE_componentWillReceiveProps",
176
+ value: function UNSAFE_componentWillReceiveProps(nextProps) {
177
+ var _this2 = this;
178
+
179
+ var selectedOptions = nextProps.selectedOptions,
180
+ options = nextProps.options,
181
+ valueField = nextProps.valueField,
182
+ textField = nextProps.textField,
183
+ prefixText = nextProps.prefixText;
184
+ var oldProps = this.props;
185
+
186
+ if (selectedOptions !== oldProps.selectedOptions || options !== oldProps.options || valueField !== oldProps.valueField || textField !== oldProps.textField || prefixText !== oldProps.prefixText //For GroupMultiSelect component
187
+ ) {
188
+ var _this$handleFormatOpt2 = this.handleFormatOptions(nextProps),
189
+ allOptions = _this$handleFormatOpt2.allOptions,
190
+ normalizedAllOptions = _this$handleFormatOpt2.normalizedAllOptions,
191
+ normalizedFormatOptions = _this$handleFormatOpt2.normalizedFormatOptions;
192
+
193
+ var oldAllSelectedOptionsDetails = this.allSelectedOptionsDetails;
194
+ var optionsDetails = Object.assign({}, oldAllSelectedOptionsDetails, normalizedFormatOptions);
195
+
196
+ var _this$handleGetSelect2 = this.handleGetSelectedOptions(selectedOptions, optionsDetails, nextProps),
197
+ formatSelectedOptions = _this$handleGetSelect2.formatSelectedOptions,
198
+ normalizedSelectedOptions = _this$handleGetSelect2.normalizedSelectedOptions,
199
+ selectedOptionIds = _this$handleGetSelect2.selectedOptionIds;
200
+
201
+ this.allSelectedOptionsDetails = Object.assign(oldAllSelectedOptionsDetails, normalizedSelectedOptions);
202
+ this.setState({
203
+ options: allOptions,
204
+ optionsNormalize: normalizedAllOptions,
205
+ selectedOptions: formatSelectedOptions,
206
+ selectedOptionIds: selectedOptionIds
207
+ }, function () {
208
+ var hoverOption = _this2.state.hoverOption;
209
+
210
+ var suggestions = _this2.handleFilterSuggestions();
211
+
212
+ var suggestionsLen = suggestions.length;
213
+
214
+ var _ref = suggestions[hoverOption] || {},
215
+ id = _ref.id;
216
+
217
+ var newHoverOption = !(0, _Common.getIsEmptyValue)(id) ? hoverOption : suggestionsLen ? suggestionsLen - 1 : 0;
218
+
219
+ _this2.setState({
220
+ hoverOption: newHoverOption
221
+ });
222
+ });
223
+ }
224
+ }
225
+ }, {
226
+ key: "componentDidUpdate",
227
+ value: function componentDidUpdate(prevProps, prevState) {
228
+ var suggestionContainer = this.suggestionContainer,
229
+ selectedOptionContainer = this.selectedOptionContainer,
230
+ suggestionsOrder = this.suggestionsOrder;
231
+ var _this$state = this.state,
232
+ hoverOption = _this$state.hoverOption,
233
+ highLightedSelectOptions = _this$state.highLightedSelectOptions,
234
+ selectedOptions = _this$state.selectedOptions,
235
+ searchStr = _this$state.searchStr;
236
+ var _this$props2 = this.props,
237
+ needLocalSearch = _this$props2.needLocalSearch,
238
+ isPopupOpen = _this$props2.isPopupOpen,
239
+ onDropBoxClose = _this$props2.onDropBoxClose,
240
+ onDropBoxOpen = _this$props2.onDropBoxOpen,
241
+ isSearchClearOnClose = _this$props2.isSearchClearOnClose; //handle dropbox open & close
242
+
243
+ if (prevProps.isPopupOpen !== isPopupOpen) {
244
+ isPopupOpen && onDropBoxOpen && this.handleFetchOptions(onDropBoxOpen, searchStr);
245
+
246
+ if (!isPopupOpen) {
247
+ this.setState({
248
+ hoverOption: 0
249
+ });
250
+ isSearchClearOnClose && searchStr && this.handleSearch('');
251
+ onDropBoxClose && onDropBoxClose();
252
+ }
253
+ } //scrollTo handling
254
+
255
+
256
+ var hoverId = suggestionsOrder[hoverOption] || '';
257
+ var selectedSuggestion = this["suggestion_".concat(hoverId)];
258
+ var lastHighLightedSelectOption = highLightedSelectOptions.slice(-1).length ? highLightedSelectOptions.slice(-1)[0] : null;
259
+ var selectedOption = this["selectedOption_".concat(lastHighLightedSelectOption)];
260
+ isPopupOpen && (0, _Common.scrollTo)(suggestionContainer, selectedSuggestion);
261
+ selectedOptions.length && selectedOption && (0, _Common.scrollTo)(selectedOptionContainer, selectedOption); //When suggestions length less than 5, getNextOptions function call
262
+
263
+ var _this$props3 = this.props,
264
+ isNextOptions = _this$props3.isNextOptions,
265
+ getNextOptions = _this$props3.getNextOptions; // let { searchStr } = this.state;
266
+
267
+ var suggestions = this.handleFilterSuggestions();
268
+ var suggestionsLen = suggestions.length;
269
+
270
+ if (isPopupOpen && suggestionsLen <= 5 && isNextOptions && getNextOptions && !needLocalSearch) {
271
+ this.handleFetchOptions(getNextOptions, searchStr);
272
+ } //Need To MultiselectNew Component
273
+
274
+
275
+ this.handleComponentDidUpdate(prevProps, prevState);
276
+ }
277
+ }, {
278
+ key: "componentWillUnmount",
279
+ value: function componentWillUnmount() {
280
+ // let { suggestionContainer } = this;
281
+ this._isMounted = false; // suggestionContainer &&
282
+ // suggestionContainer.removeEventListener('scroll', this.handleScroll);
283
+ }
284
+ }, {
285
+ key: "handleComponentDidUpdate",
286
+ value: function handleComponentDidUpdate() {
287
+ return;
288
+ }
289
+ }, {
290
+ key: "handleFormatOptions",
291
+ value: function handleFormatOptions(props) {
292
+ var options = props.options,
293
+ valueField = props.valueField,
294
+ textField = props.textField,
295
+ prefixText = props.prefixText,
296
+ disabledOptions = props.disabledOptions;
297
+ return this.formatOptions({
298
+ options: options,
299
+ valueField: valueField,
300
+ textField: textField,
301
+ prefixText: prefixText,
302
+ optionType: 'default',
303
+ disabledOptions: disabledOptions
304
+ });
305
+ }
306
+ }, {
307
+ key: "handleGetSelectedOptions",
308
+ value: function handleGetSelectedOptions(selectedOptions, normalizedFormatOptions) {
309
+ return this.getSelectedOptions({
310
+ selectedOptions: selectedOptions,
311
+ normalizedFormatOptions: normalizedFormatOptions
312
+ });
313
+ }
314
+ }, {
315
+ key: "handleInputCick",
316
+ value: function handleInputCick(e) {
317
+ var removeClose = this.props.removeClose;
318
+ var _this$state2 = this.state,
319
+ highLightedSelectOptions = _this$state2.highLightedSelectOptions,
320
+ _this$state2$searchSt = _this$state2.searchStr,
321
+ searchStr = _this$state2$searchSt === void 0 ? '' : _this$state2$searchSt;
322
+
323
+ if (highLightedSelectOptions.length) {
324
+ this.setState({
325
+ highLightedSelectOptions: [],
326
+ shiftKeyPressHighLighted: 0,
327
+ lastHighLightedSelectOption: ''
328
+ });
329
+ removeClose(e);
330
+ } else if (searchStr.length) {
331
+ removeClose(e);
332
+ } else {
333
+ this.togglePopup(e);
334
+ }
335
+ }
336
+ }, {
337
+ key: "handleFilterSuggestions",
338
+ value: function handleFilterSuggestions() {
339
+ var _this$state3 = this.state,
340
+ _this$state3$options = _this$state3.options,
341
+ options = _this$state3$options === void 0 ? dummyArray : _this$state3$options,
342
+ _this$state3$searchSt = _this$state3.searchStr,
343
+ searchStr = _this$state3$searchSt === void 0 ? '' : _this$state3$searchSt;
344
+ var _this$props4 = this.props,
345
+ selectedOptions = _this$props4.selectedOptions,
346
+ needLocalSearch = _this$props4.needLocalSearch,
347
+ keepSelectedOptions = _this$props4.keepSelectedOptions;
348
+
349
+ var _this$getFilterSugges = this.getFilterSuggestions({
350
+ options: options,
351
+ selectedOptions: selectedOptions,
352
+ searchStr: (0, _Common.getSearchString)(searchStr),
353
+ needSearch: needLocalSearch,
354
+ keepSelectedOptions: keepSelectedOptions
355
+ }),
356
+ suggestions = _this$getFilterSugges.suggestions,
357
+ suggestionIds = _this$getFilterSugges.suggestionIds;
358
+
359
+ this.suggestionsOrder = suggestionIds;
360
+ return suggestions;
361
+ }
362
+ }, {
363
+ key: "handleKeyDown",
364
+ value: function handleKeyDown(e) {
365
+ var keyCode = e.keyCode,
366
+ ctrlKey = e.ctrlKey,
367
+ metaKey = e.metaKey,
368
+ shiftKey = e.shiftKey;
369
+ var suggestions = [];
370
+ var _this$state4 = this.state,
371
+ hoverOption = _this$state4.hoverOption,
372
+ searchStr = _this$state4.searchStr,
373
+ highLightedSelectOptions = _this$state4.highLightedSelectOptions,
374
+ lastHighLightedSelectOption = _this$state4.lastHighLightedSelectOption,
375
+ shiftKeyPressHighLighted = _this$state4.shiftKeyPressHighLighted,
376
+ selectedOptions = _this$state4.selectedOptionIds;
377
+ var _this$props5 = this.props,
378
+ isNextOptions = _this$props5.isNextOptions,
379
+ getNextOptions = _this$props5.getNextOptions,
380
+ isPopupOpen = _this$props5.isPopupOpen,
381
+ isPopupOpenOnEnter = _this$props5.isPopupOpenOnEnter,
382
+ onKeyDown = _this$props5.onKeyDown;
383
+ var highLightedSelectOptionsLen = highLightedSelectOptions.length;
384
+
385
+ if (isPopupOpen && (keyCode === 38 || keyCode === 40 || keyCode === 13 || keyCode === 27 || keyCode === 9)) {
386
+ suggestions = this.handleFilterSuggestions();
387
+ }
388
+
389
+ if (!isPopupOpen && !isPopupOpenOnEnter) {
390
+ onKeyDown && onKeyDown(e);
391
+ }
392
+
393
+ if (!isPopupOpen && keyCode === 40) {
394
+ //down arrow press popup open
395
+ e.preventDefault(); //prevent body scroll
396
+
397
+ this.togglePopup(e);
398
+ }
399
+
400
+ var suggestionsLen = suggestions.length;
401
+
402
+ if (suggestionsLen && isPopupOpen && keyCode === 38) {
403
+ //up arrow
404
+
405
+ /*if (hoverOption === 0) { //disable first to last option higlight
406
+ !isNextOptions && this.setState({ hoverOption: suggestionsLen - 1 });
407
+ }*/
408
+ if (hoverOption) {
409
+ this.setState({
410
+ hoverOption: hoverOption - 1
411
+ });
412
+ }
413
+ } else if (suggestionsLen && isPopupOpen && keyCode === 40) {
414
+ //down arrow
415
+
416
+ /*else if (hoverOption === suggestionsLen - 1 || hoverOption === null) {
417
+ //disable last to first option higlight
418
+ !isNextOptions && this.setState({ hoverOption: 0 });
419
+ }*/
420
+ if (isNextOptions && suggestionsLen >= 5 && hoverOption === suggestionsLen - 3) {
421
+ getNextOptions && this.handleFetchOptions(getNextOptions, searchStr);
422
+ this.setState({
423
+ hoverOption: hoverOption + 1
424
+ });
425
+ } else if (suggestionsLen - 1 > hoverOption) {
426
+ this.setState({
427
+ hoverOption: hoverOption + 1
428
+ });
429
+ }
430
+ } else if (keyCode === 13) {
431
+ //enter key
432
+ var selectedOption = suggestions[hoverOption] || {};
433
+ var id = selectedOption.id;
434
+ isPopupOpen && !(0, _Common.getIsEmptyValue)(id) && this.handleSelectOption(id, e);
435
+ !isPopupOpen && isPopupOpenOnEnter && this.togglePopup(e);
436
+ } else if (selectedOptions.length && keyCode === 8 && !searchStr.length) {
437
+ //backspace key
438
+ if (highLightedSelectOptionsLen) {
439
+ this.handleRemoveOption(highLightedSelectOptions);
440
+ } else {
441
+ this.handleRemoveOption(selectedOptions.slice(-1)); // this.setState({
442
+ // highLightedSelectOptions: selectedOptions.slice(-1)
443
+ // });
444
+ }
445
+ } else if (selectedOptions && keyCode === 65 && (ctrlKey || metaKey) && !searchStr.length) {
446
+ //ctrl+a key
447
+ this.setState({
448
+ highLightedSelectOptions: selectedOptions,
449
+ shiftKeyPressHighLighted: 0
450
+ });
451
+ } else if (keyCode === 39 && shiftKey && selectedOptions.length && !searchStr.length) {
452
+ //shift+right arrow=39
453
+ var lastHighLightedSelectOptionIndex = lastHighLightedSelectOption && selectedOptions.indexOf(lastHighLightedSelectOption) >= 0 ? selectedOptions.indexOf(lastHighLightedSelectOption) : 0;
454
+ var newShiftKeyPressHighLighted = shiftKeyPressHighLighted ? shiftKeyPressHighLighted : shiftKeyPressHighLighted + 1;
455
+ var newHighLightedSelectOption = lastHighLightedSelectOptionIndex !== null ? selectedOptions[lastHighLightedSelectOptionIndex + newShiftKeyPressHighLighted] : selectedOptions[0];
456
+
457
+ if (!(0, _Common.getIsEmptyValue)(newHighLightedSelectOption)) {
458
+ var newLastHighLightedSelectOption = lastHighLightedSelectOption ? lastHighLightedSelectOption : selectedOptions[0];
459
+ highLightedSelectOptions = !shiftKeyPressHighLighted ? [newLastHighLightedSelectOption] : highLightedSelectOptions;
460
+ var isRemove = highLightedSelectOptions.indexOf(newHighLightedSelectOption) >= 0 && newHighLightedSelectOption !== lastHighLightedSelectOption ? true : false;
461
+ var newHighLightedSelectOptions = isRemove ? highLightedSelectOptions.filter(function (option) {
462
+ return option !== newHighLightedSelectOption;
463
+ }) : [].concat(_toConsumableArray(highLightedSelectOptions), [newHighLightedSelectOption]);
464
+ this.setState({
465
+ highLightedSelectOptions: newHighLightedSelectOptions,
466
+ shiftKeyPressHighLighted: newShiftKeyPressHighLighted + 1,
467
+ lastHighLightedSelectOption: newLastHighLightedSelectOption
468
+ });
469
+ }
470
+ } else if (keyCode === 37 && shiftKey && selectedOptions.length && !searchStr.length) {
471
+ // shift+left arrow=37
472
+ var _lastHighLightedSelectOptionIndex = lastHighLightedSelectOption ? selectedOptions.indexOf(lastHighLightedSelectOption) : selectedOptions.length - 1;
473
+
474
+ var _newShiftKeyPressHighLighted = shiftKeyPressHighLighted !== 1 ? shiftKeyPressHighLighted : shiftKeyPressHighLighted - 1;
475
+
476
+ var _newHighLightedSelectOption = selectedOptions[_lastHighLightedSelectOptionIndex + _newShiftKeyPressHighLighted - 1];
477
+
478
+ if (!(0, _Common.getIsEmptyValue)(_newHighLightedSelectOption)) {
479
+ var _newLastHighLightedSelectOption = lastHighLightedSelectOption ? lastHighLightedSelectOption : selectedOptions.slice(-1)[0];
480
+
481
+ highLightedSelectOptions = !shiftKeyPressHighLighted ? [_newLastHighLightedSelectOption] : highLightedSelectOptions;
482
+
483
+ var _isRemove = highLightedSelectOptions.indexOf(_newHighLightedSelectOption) >= 0 && _newHighLightedSelectOption !== lastHighLightedSelectOption ? true : false;
484
+
485
+ var _newHighLightedSelectOptions = _isRemove ? highLightedSelectOptions.filter(function (option) {
486
+ return option !== _newHighLightedSelectOption;
487
+ }) : [].concat(_toConsumableArray(highLightedSelectOptions), [_newHighLightedSelectOption]);
488
+
489
+ this.setState({
490
+ highLightedSelectOptions: _newHighLightedSelectOptions,
491
+ shiftKeyPressHighLighted: _newShiftKeyPressHighLighted - 1,
492
+ lastHighLightedSelectOption: _newLastHighLightedSelectOption
493
+ });
494
+ }
495
+ } else if ((keyCode === 39 || keyCode === 37) && selectedOptions.length && !searchStr.length) {
496
+ var isRightArrow = keyCode === 39 ? true : false; // let isLefttArrow = keyCode === 37 ? true : false;
497
+
498
+ if (highLightedSelectOptions.length) {
499
+ var _highLightedSelectOpt = highLightedSelectOptions.slice(-1),
500
+ _highLightedSelectOpt2 = _slicedToArray(_highLightedSelectOpt, 1),
501
+ _lastHighLightedSelectOption = _highLightedSelectOpt2[0];
502
+
503
+ var _lastHighLightedSelectOptionIndex2 = selectedOptions.indexOf(_lastHighLightedSelectOption);
504
+
505
+ var newLastHighLightedSelectOptionIndex = isRightArrow ? _lastHighLightedSelectOptionIndex2 === selectedOptions.length - 1 ? _lastHighLightedSelectOptionIndex2 : _lastHighLightedSelectOptionIndex2 + 1 : _lastHighLightedSelectOptionIndex2 - 1;
506
+ var _newLastHighLightedSelectOption2 = selectedOptions[newLastHighLightedSelectOptionIndex];
507
+ var isEmptyHighlighted = isRightArrow && highLightedSelectOptions.length === 1 && selectedOptions.slice(-1)[0] === _lastHighLightedSelectOption ? true : false;
508
+
509
+ if (!(0, _Common.getIsEmptyValue)(_newLastHighLightedSelectOption2)) {
510
+ this.setState({
511
+ lastHighLightedSelectOption: isEmptyHighlighted ? '' : _newLastHighLightedSelectOption2,
512
+ highLightedSelectOptions: isEmptyHighlighted ? [] : [_newLastHighLightedSelectOption2],
513
+ shiftKeyPressHighLighted: 0
514
+ });
515
+ }
516
+ } else {
517
+ var _ref2 = isRightArrow ? selectedOptions : selectedOptions.slice(-1),
518
+ _ref3 = _slicedToArray(_ref2, 1),
519
+ _newLastHighLightedSelectOption3 = _ref3[0];
520
+
521
+ this.setState({
522
+ lastHighLightedSelectOption: _newLastHighLightedSelectOption3,
523
+ highLightedSelectOptions: [_newLastHighLightedSelectOption3],
524
+ shiftKeyPressHighLighted: 0
525
+ });
526
+ }
527
+ } // eslint-disable-next-line
528
+ else if (keyCode === 27) {// this.handlePopupClose(e);
529
+ } else if (keyCode === 9) {
530
+ this.handlePopupClose(e);
531
+ }
532
+ }
533
+ }, {
534
+ key: "handleSelectAll",
535
+ value: function handleSelectAll(e) {
536
+ e && e.preventDefault();
537
+ var suggestions = this.handleFilterSuggestions();
538
+ var selectedOptions = this.props.selectedOptions;
539
+ var newSelectedOptions = [];
540
+ suggestions.forEach(function (option) {
541
+ var id = option.id;
542
+
543
+ if (selectedOptions.indexOf(id) === -1) {
544
+ newSelectedOptions.push(id);
545
+ }
546
+ });
547
+ this.handleChange([].concat(_toConsumableArray(selectedOptions), newSelectedOptions)); // this.handlePopupClose(e);
548
+ }
549
+ }, {
550
+ key: "handleDeselectAll",
551
+ value: function handleDeselectAll(e) {
552
+ e && e.preventDefault();
553
+ var removeClose = this.props.removeClose;
554
+ var highLightedSelectOptions = this.state.highLightedSelectOptions;
555
+
556
+ if (highLightedSelectOptions.length) {
557
+ this.setState({
558
+ highLightedSelectOptions: [],
559
+ lastHighLightedSelectOption: ''
560
+ });
561
+ }
562
+
563
+ removeClose(e);
564
+ this.handleChange([]);
565
+ }
566
+ }, {
567
+ key: "handleSelectOption",
568
+ value: function handleSelectOption(option, value, index, e) {
569
+ var _this$props6 = this.props,
570
+ selectedOptions = _this$props6.selectedOptions,
571
+ isSearchClearOnSelect = _this$props6.isSearchClearOnSelect,
572
+ keepSelectedOptions = _this$props6.keepSelectedOptions;
573
+ var searchStr = this.state.searchStr;
574
+
575
+ if (searchStr.trim() != '' && isSearchClearOnSelect) {
576
+ this.handleSearch('');
577
+ }
578
+
579
+ if (keepSelectedOptions && selectedOptions.indexOf(option) != -1) {
580
+ var newSelectedOptions = selectedOptions.filter(function (id) {
581
+ return id != option;
582
+ });
583
+ this.handleChange(newSelectedOptions, e);
584
+ } else {
585
+ this.handleChange([].concat(_toConsumableArray(selectedOptions), [option]), e);
586
+ }
587
+ }
588
+ }, {
589
+ key: "handleRemoveOption",
590
+ value: function handleRemoveOption(options) {
591
+ var newOptions = !(0, _Common.getIsEmptyValue)(options) && !Array.isArray(options) ? [options] : options;
592
+ var _this$props7 = this.props,
593
+ selectedOptions = _this$props7.selectedOptions,
594
+ isReadOnly = _this$props7.isReadOnly;
595
+ var _this$state5 = this.state,
596
+ highLightedSelectOptions = _this$state5.highLightedSelectOptions,
597
+ lastHighLightedSelectOption = _this$state5.lastHighLightedSelectOption,
598
+ shiftKeyPressHighLighted = _this$state5.shiftKeyPressHighLighted;
599
+
600
+ if (newOptions.length && !isReadOnly) {
601
+ var newSelectedOptions = selectedOptions.filter(function (option) {
602
+ return newOptions.indexOf(option) === -1;
603
+ });
604
+ var newHighLightedSelectOptions = highLightedSelectOptions.filter(function (option) {
605
+ return newSelectedOptions.indexOf(option) >= 0;
606
+ });
607
+ var isHighlightedRemoved = false;
608
+ var newOptionsLen = newOptions.length;
609
+
610
+ for (var i = 0; i < newOptionsLen; i++) {
611
+ var removedOption = newOptions[i];
612
+
613
+ if (highLightedSelectOptions.indexOf(removedOption) >= 0) {
614
+ isHighlightedRemoved = true;
615
+ break;
616
+ }
617
+ }
618
+
619
+ this.setState({
620
+ lastHighLightedSelectOption: newSelectedOptions.indexOf(lastHighLightedSelectOption) >= 0 && !isHighlightedRemoved ? lastHighLightedSelectOption : '',
621
+ highLightedSelectOptions: isHighlightedRemoved ? [] : newHighLightedSelectOptions,
622
+ shiftKeyPressHighLighted: isHighlightedRemoved ? 0 : shiftKeyPressHighLighted
623
+ });
624
+ this.handleChange(newSelectedOptions);
625
+ }
626
+
627
+ this.moveFocusToTextbox();
628
+ }
629
+ }, {
630
+ key: "handleMouseEnter",
631
+ value: function handleMouseEnter(id, val, hoverOptionIndex, e) {
632
+ e && e.preventDefault();
633
+ var hoverOption = this.state.hoverOption;
634
+ var suggestionsOrder = this.suggestionsOrder;
635
+ var newHoverIndex = suggestionsOrder.indexOf(id);
636
+
637
+ if (newHoverIndex !== hoverOption) {
638
+ this.setState({
639
+ hoverOption: newHoverIndex
640
+ });
641
+ }
642
+ }
643
+ }, {
644
+ key: "handleFetchOptions",
645
+ value: function handleFetchOptions() {
646
+ var _this3 = this;
647
+
648
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
649
+ args[_key] = arguments[_key];
650
+ }
651
+
652
+ var APICall = args[0],
653
+ searchStr = args[1];
654
+ var isFetchingOptions = this.state.isFetchingOptions;
655
+ var _isMounted = this._isMounted;
656
+ var isForce = isFetchingOptions && searchStr ? true : false;
657
+
658
+ if (!isFetchingOptions && APICall || isForce) {
659
+ this.setState({
660
+ isFetchingOptions: true
661
+ });
662
+
663
+ try {
664
+ return APICall(searchStr).then(function () {
665
+ _isMounted && _this3.setState({
666
+ isFetchingOptions: false
667
+ });
668
+ }, function () {
669
+ _isMounted && _this3.setState({
670
+ isFetchingOptions: false
671
+ });
672
+ });
673
+ } catch (e) {
674
+ _isMounted && this.setState({
675
+ isFetchingOptions: false
676
+ });
677
+ }
678
+ }
679
+ }
680
+ }, {
681
+ key: "handleSearchOptions",
682
+ value: function handleSearchOptions() {
683
+ var onSearch = this.props.onSearch;
684
+ var searchStr = this.state.searchStr;
685
+ searchStr && this.handleFetchOptions(onSearch, searchStr);
686
+ }
687
+ }, {
688
+ key: "handleSearch",
689
+ value: function handleSearch(value, e) {
690
+ var _this4 = this;
691
+
692
+ var _this$props8 = this.props,
693
+ onSearch = _this$props8.onSearch,
694
+ isPopupOpen = _this$props8.isPopupOpen;
695
+ !isPopupOpen && e && this.togglePopup(e);
696
+ var _this$state$searchStr = this.state.searchStr,
697
+ searchStr = _this$state$searchStr === void 0 ? '' : _this$state$searchStr;
698
+ var searchStrRegex = (0, _Common.getSearchString)(searchStr);
699
+ var valueStrRegex = (0, _Common.getSearchString)(value);
700
+ var isSearch = searchStrRegex !== valueStrRegex ? true : false;
701
+ this.setState({
702
+ searchStr: value
703
+ }, function () {
704
+ if (!value) {
705
+ onSearch && onSearch('');
706
+ } else if (isSearch && onSearch) {
707
+ _this4.handleSearchOptions();
708
+ }
709
+ });
710
+ }
711
+ }, {
712
+ key: "handleClickSelectedOption",
713
+ value: function handleClickSelectedOption() {
714
+ var id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
715
+ var e = arguments.length > 1 ? arguments[1] : undefined;
716
+ var selectedOptions = this.props.selectedOptions;
717
+ var _this$state6 = this.state,
718
+ highLightedSelectOptions = _this$state6.highLightedSelectOptions,
719
+ lastHighLightedSelectOption = _this$state6.lastHighLightedSelectOption;
720
+ var metaKey = e.metaKey,
721
+ ctrlKey = e.ctrlKey,
722
+ shiftKey = e.shiftKey;
723
+
724
+ if (e && shiftKey) {
725
+ //shift+click
726
+ var from = selectedOptions.indexOf(lastHighLightedSelectOption) >= 0 ? selectedOptions.indexOf(lastHighLightedSelectOption) : 0;
727
+ var to = id && selectedOptions.indexOf(id) >= 0 ? selectedOptions.indexOf(id) : null;
728
+
729
+ if (to >= 0 && to < from) {
730
+ var _ref4 = [from, from = to];
731
+ to = _ref4[0];
732
+ }
733
+
734
+ to += 1;
735
+ var newSelectedHighlights = to ? selectedOptions.slice(from, to) : [];
736
+ to && this.setState({
737
+ highLightedSelectOptions: newSelectedHighlights,
738
+ lastHighLightedSelectOption: id
739
+ });
740
+ } else if (e && (ctrlKey || metaKey)) {
741
+ //ctrl+click
742
+ var isRemove = highLightedSelectOptions.indexOf(id) >= 0;
743
+ var _newSelectedHighlights = [];
744
+
745
+ if (isRemove) {
746
+ lastHighLightedSelectOption = id === lastHighLightedSelectOption ? '' : lastHighLightedSelectOption;
747
+ _newSelectedHighlights = highLightedSelectOptions.filter(function (option) {
748
+ return option !== id;
749
+ });
750
+ } else {
751
+ lastHighLightedSelectOption = id;
752
+ _newSelectedHighlights = [].concat(_toConsumableArray(highLightedSelectOptions), [id]);
753
+ }
754
+
755
+ this.setState({
756
+ highLightedSelectOptions: _newSelectedHighlights,
757
+ lastHighLightedSelectOption: lastHighLightedSelectOption
758
+ });
759
+ } else {
760
+ this.setState({
761
+ highLightedSelectOptions: [id],
762
+ lastHighLightedSelectOption: id
763
+ });
764
+ }
765
+
766
+ this.setState({
767
+ shiftKeyPressHighLighted: 0
768
+ });
769
+ this.moveFocusToTextbox();
770
+ }
771
+ }, {
772
+ key: "handleScroll",
773
+ value: function handleScroll(e) {
774
+ var ele = e.target;
775
+ var isScrollReachedBottom = (0, _Common.findScrollEnd)(ele);
776
+ isScrollReachedBottom && this.handleScrollFuncCall();
777
+ }
778
+ }, {
779
+ key: "handleScrollFuncCall",
780
+ value: function handleScrollFuncCall() {
781
+ var _this$props9 = this.props,
782
+ getNextOptions = _this$props9.getNextOptions,
783
+ isNextOptions = _this$props9.isNextOptions;
784
+ var searchStr = this.state.searchStr;
785
+ isNextOptions && getNextOptions && this.handleFetchOptions(getNextOptions, searchStr);
786
+ }
787
+ }, {
788
+ key: "handleChange",
789
+ value: function handleChange() {
790
+ var selectedOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
791
+ var e = arguments.length > 1 ? arguments[1] : undefined;
792
+ var optionsNormalize = this.state.optionsNormalize;
793
+ var _this$props10 = this.props,
794
+ onChange = _this$props10.onChange,
795
+ needToCloseOnSelect = _this$props10.needToCloseOnSelect,
796
+ togglePopup = _this$props10.togglePopup,
797
+ propSelectedOptions = _this$props10.selectedOptions,
798
+ _this$props10$disable = _this$props10.disabledOptions,
799
+ disabledOptions = _this$props10$disable === void 0 ? dummyArray : _this$props10$disable;
800
+
801
+ var _filterSelectedOption = (0, _dropDownUtils.filterSelectedOptions)({
802
+ selectedOptions: selectedOptions,
803
+ propSelectedOptions: propSelectedOptions,
804
+ disabledOptions: disabledOptions
805
+ }),
806
+ newSelectedOptions = _filterSelectedOption.newSelectedOptions;
807
+
808
+ var selectedOptionsLen = newSelectedOptions.length;
809
+ var allSelectedOptionsDetails = [];
810
+
811
+ for (var i = 0; i < selectedOptionsLen; i++) {
812
+ var id = newSelectedOptions[i];
813
+ allSelectedOptionsDetails.push(optionsNormalize[id]);
814
+ }
815
+
816
+ onChange && onChange(newSelectedOptions, allSelectedOptionsDetails); // this.setState({ searchStr: '' });
817
+
818
+ this.moveFocusToTextbox();
819
+
820
+ if (needToCloseOnSelect) {
821
+ togglePopup(e);
822
+ }
823
+ }
824
+ }, {
825
+ key: "togglePopup",
826
+ value: function togglePopup(e) {
827
+ var _this$props11 = this.props,
828
+ togglePopup = _this$props11.togglePopup,
829
+ defaultDropBoxPosition = _this$props11.defaultDropBoxPosition,
830
+ isReadOnly = _this$props11.isReadOnly;
831
+ !isReadOnly && togglePopup(e, defaultDropBoxPosition ? "".concat(defaultDropBoxPosition) : null);
832
+ }
833
+ }, {
834
+ key: "handlePopupClose",
835
+ value: function handlePopupClose(e) {
836
+ var closePopupOnly = this.props.closePopupOnly;
837
+ closePopupOnly(e);
838
+ }
839
+ }, {
840
+ key: "searchInputRef",
841
+ value: function searchInputRef(el) {
842
+ var getRef = this.props.getRef;
843
+ this.searchInput = el;
844
+ getRef && getRef(el);
845
+ }
846
+ }, {
847
+ key: "selectedOptionContainerRef",
848
+ value: function selectedOptionContainerRef(el) {
849
+ var getTargetRef = this.props.getTargetRef;
850
+ this.selectedOptionContainer = el;
851
+ getTargetRef(el);
852
+ }
853
+ }, {
854
+ key: "selectedOptionRef",
855
+ value: function selectedOptionRef(el, id) {
856
+ this["selectedOption_".concat(id)] = el;
857
+ }
858
+ }, {
859
+ key: "suggestionContainerRef",
860
+ value: function suggestionContainerRef(el) {
861
+ this.suggestionContainer = el;
862
+ }
863
+ }, {
864
+ key: "suggestionItemRef",
865
+ value: function suggestionItemRef(el, index, id) {
866
+ this["suggestion_".concat(id)] = el;
867
+ }
868
+ }, {
869
+ key: "handleActive",
870
+ value: function handleActive(e) {
871
+ var _this$state7 = this.state,
872
+ searchStr = _this$state7.searchStr,
873
+ isActive = _this$state7.isActive;
874
+
875
+ if (!isActive) {
876
+ this.setState({
877
+ isActive: true
878
+ });
879
+ }
880
+
881
+ var _ref5 = e || {},
882
+ target = _ref5.target;
883
+
884
+ target && target.setSelectionRange(target, 0);
885
+ var onFocus = this.props.onFocus;
886
+ onFocus && onFocus(searchStr);
887
+ }
888
+ }, {
889
+ key: "handleInactive",
890
+ value: function handleInactive() {
891
+ var isActive = this.state.isActive;
892
+
893
+ if (isActive) {
894
+ this.setState({
895
+ isActive: false
896
+ });
897
+ }
898
+ }
899
+ }, {
900
+ key: "handleInputFocus",
901
+ value: function handleInputFocus() {
902
+ var _this$props12 = this.props,
903
+ isDisabled = _this$props12.isDisabled,
904
+ isReadOnly = _this$props12.isReadOnly;
905
+ !isDisabled && !isReadOnly && this.moveFocusToTextbox();
906
+ }
907
+ }, {
908
+ key: "moveFocusToTextbox",
909
+ value: function moveFocusToTextbox() {
910
+ this.searchInput && this.searchInput.focus({
911
+ preventScroll: true
912
+ });
913
+ }
914
+ }, {
915
+ key: "handleExposedPublicMethods",
916
+ value: function handleExposedPublicMethods() {
917
+ var _this$props13 = this.props,
918
+ getPublicMethods = _this$props13.getPublicMethods,
919
+ openPopupOnly = _this$props13.openPopupOnly;
920
+ getPublicMethods && getPublicMethods({
921
+ openPopupOnly: openPopupOnly
922
+ });
923
+ }
924
+ }, {
925
+ key: "responsiveFunc",
926
+ value: function responsiveFunc(_ref6) {
927
+ var mediaQueryOR = _ref6.mediaQueryOR;
928
+ return {
929
+ tabletMode: mediaQueryOR([{
930
+ maxWidth: 700
931
+ }])
932
+ };
933
+ }
934
+ }, {
935
+ key: "getSelectionUI",
936
+ value: function getSelectionUI() {
937
+ var isResponsive = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
938
+ var _this$props14 = this.props,
939
+ size = _this$props14.size,
940
+ needBorder = _this$props14.needBorder,
941
+ disableAction = _this$props14.disableAction,
942
+ borderColor = _this$props14.borderColor,
943
+ placeHolder = _this$props14.placeHolder,
944
+ textBoxSize = _this$props14.textBoxSize,
945
+ variant = _this$props14.variant,
946
+ textBoxClass = _this$props14.textBoxClass,
947
+ needAutoFocus = _this$props14.needAutoFocus,
948
+ htmlId = _this$props14.htmlId,
949
+ children = _this$props14.children,
950
+ customChildrenClass = _this$props14.customChildrenClass,
951
+ autoComplete = _this$props14.autoComplete,
952
+ a11y = _this$props14.a11y,
953
+ disabledOptions = _this$props14.disabledOptions,
954
+ i18nKeys = _this$props14.i18nKeys,
955
+ isReadOnly = _this$props14.isReadOnly,
956
+ isDisabled = _this$props14.isDisabled,
957
+ palette = _this$props14.palette,
958
+ dataId = _this$props14.dataId,
959
+ setAriaId = _this$props14.setAriaId,
960
+ isPopupOpen = _this$props14.isPopupOpen,
961
+ ariaErrorId = _this$props14.ariaErrorId;
962
+ var _this$state8 = this.state,
963
+ isActive = _this$state8.isActive,
964
+ selectedOptions = _this$state8.selectedOptions,
965
+ highLightedSelectOptions = _this$state8.highLightedSelectOptions,
966
+ searchStr = _this$state8.searchStr;
967
+ var _i18nKeys$clearText = i18nKeys.clearText,
968
+ clearText = _i18nKeys$clearText === void 0 ? 'Clear all' : _i18nKeys$clearText;
969
+ var _a11y$clearLabel = a11y.clearLabel,
970
+ clearLabel = _a11y$clearLabel === void 0 ? 'Clear all' : _a11y$clearLabel,
971
+ ariaLabelledby = a11y.ariaLabelledby;
972
+
973
+ var _this$getIsShowClearI = this.getIsShowClearIcon({
974
+ selectedOptions: selectedOptions,
975
+ disabledOptions: disabledOptions
976
+ }),
977
+ isShowClear = _this$getIsShowClearI.isShowClearIcon;
978
+
979
+ var isShowClearIcon = !isReadOnly && !isDisabled && !disableAction && isShowClear;
980
+ return /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
981
+ align: "vertical",
982
+ alignBox: "row",
983
+ className: "".concat(_MultiSelectModule["default"].container, " ").concat(_MultiSelectModule["default"][size], " ").concat(needBorder ? !disableAction ? _MultiSelectModule["default"]["borderColor_".concat(borderColor)] : _MultiSelectModule["default"].borderColor_transparent : '', " ").concat(isActive && needBorder || isResponsive ? _MultiSelectModule["default"].active : '', " ").concat(textBoxClass, " ").concat(needBorder ? _MultiSelectModule["default"].hasBorder : ''),
984
+ eleRef: this.selectedOptionContainerRef,
985
+ wrap: "wrap"
986
+ }, /*#__PURE__*/_react["default"].createElement(_SelectedOptions["default"], {
987
+ selectedOptions: selectedOptions,
988
+ highLightedSelectOptions: highLightedSelectOptions,
989
+ isReadOnly: isReadOnly,
990
+ getRef: this.selectedOptionRef,
991
+ onRemove: this.handleRemoveOption,
992
+ onSelect: this.handleClickSelectedOption,
993
+ size: size,
994
+ palette: palette
995
+ }), /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
996
+ flexible: true,
997
+ className: _MultiSelectModule["default"].wrapper,
998
+ adjust: true,
999
+ shrink: true
1000
+ }, /*#__PURE__*/_react["default"].createElement("span", {
1001
+ className: " ".concat(_MultiSelectModule["default"].custmSpan, " ").concat(textBoxSize === 'xmedium' ? _MultiSelectModule["default"].custmSpanXmedium : _MultiSelectModule["default"].custmSpanMedium, " ").concat(isShowClearIcon ? _MultiSelectModule["default"].clearIconSpace : '', "\n ").concat(customChildrenClass ? customChildrenClass : '')
1002
+ }, searchStr), /*#__PURE__*/_react["default"].createElement(_TextBoxIcon["default"], {
1003
+ isDisabled: isDisabled,
1004
+ inputRef: this.searchInputRef,
1005
+ needBorder: false,
1006
+ onBlur: this.handleInactive,
1007
+ onChange: this.handleSearch,
1008
+ onClick: !isResponsive ? this.handleInputCick : undefined,
1009
+ onFocus: this.handleActive,
1010
+ onKeyDown: this.handleKeyDown,
1011
+ autofocus: needAutoFocus,
1012
+ placeHolder: selectedOptions.length >= 1 ? '' : placeHolder,
1013
+ size: textBoxSize,
1014
+ value: searchStr,
1015
+ variant: variant,
1016
+ dataId: "".concat(dataId, "_textBox"),
1017
+ isReadOnly: isReadOnly,
1018
+ tabindex: isDisabled && '-1',
1019
+ customClass: {
1020
+ customTBoxWrap: _MultiSelectModule["default"].custmInputWrapper
1021
+ },
1022
+ htmlId: htmlId,
1023
+ a11y: {
1024
+ role: 'combobox',
1025
+ ariaOwns: setAriaId,
1026
+ ariaControls: setAriaId,
1027
+ ariaExpanded: !isReadOnly && !isDisabled && !disableAction && isPopupOpen ? true : false,
1028
+ ariaHaspopup: true,
1029
+ ariaRequired: true,
1030
+ ariaDescribedby: ariaErrorId,
1031
+ ariaLabelledby: ariaLabelledby
1032
+ },
1033
+ autoComplete: autoComplete
1034
+ }, /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
1035
+ alignBox: "row",
1036
+ align: "vertical"
1037
+ }, isShowClearIcon ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
1038
+ className: "".concat(_MultiSelectModule["default"]["delete"], " ").concat(_MultiSelectModule["default"]["".concat(palette, "Delete")]),
1039
+ dataId: "".concat(dataId, "_clearIcon"),
1040
+ "data-title": clearText,
1041
+ onClick: this.handleDeselectAll,
1042
+ tagName: "button",
1043
+ "aria-label": clearLabel
1044
+ }, /*#__PURE__*/_react["default"].createElement(_icons.Icon, {
1045
+ name: "ZD-delete",
1046
+ size: "15"
1047
+ })) : null, children ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
1048
+ dataId: "".concat(dataId, "_children")
1049
+ }, children) : null))));
1050
+ }
1051
+ }, {
1052
+ key: "render",
1053
+ value: function render() {
1054
+ var _this5 = this;
1055
+
1056
+ var _this$props15 = this.props,
1057
+ isReadOnly = _this$props15.isReadOnly,
1058
+ searchEmptyMessage = _this$props15.searchEmptyMessage,
1059
+ emptyMessage = _this$props15.emptyMessage,
1060
+ noMoreOptionsMessage = _this$props15.noMoreOptionsMessage,
1061
+ dropBoxSize = _this$props15.dropBoxSize,
1062
+ isPopupOpen = _this$props15.isPopupOpen,
1063
+ isPopupReady = _this$props15.isPopupReady,
1064
+ position = _this$props15.position,
1065
+ defaultDropBoxPosition = _this$props15.defaultDropBoxPosition,
1066
+ getContainerRef = _this$props15.getContainerRef,
1067
+ removeClose = _this$props15.removeClose,
1068
+ isAnimate = _this$props15.isAnimate,
1069
+ animationStyle = _this$props15.animationStyle,
1070
+ isDisabled = _this$props15.isDisabled,
1071
+ title = _this$props15.title,
1072
+ needResponsive = _this$props15.needResponsive,
1073
+ dataId = _this$props15.dataId,
1074
+ dataSelectorId = _this$props15.dataSelectorId,
1075
+ isSearching = _this$props15.isSearching,
1076
+ borderColor = _this$props15.borderColor,
1077
+ disableAction = _this$props15.disableAction,
1078
+ isBoxPaddingNeed = _this$props15.isBoxPaddingNeed,
1079
+ palette = _this$props15.palette,
1080
+ i18nKeys = _this$props15.i18nKeys,
1081
+ getFooter = _this$props15.getFooter,
1082
+ needEffect = _this$props15.needEffect,
1083
+ boxSize = _this$props15.boxSize,
1084
+ isLoading = _this$props15.isLoading,
1085
+ selectAllText = _this$props15.selectAllText,
1086
+ needSelectAll = _this$props15.needSelectAll;
1087
+ var _this$state9 = this.state,
1088
+ selectedOptions = _this$state9.selectedOptions,
1089
+ searchStr = _this$state9.searchStr,
1090
+ hoverOption = _this$state9.hoverOption,
1091
+ options = _this$state9.options,
1092
+ isFetchingOptions = _this$state9.isFetchingOptions,
1093
+ selectedOptionIds = _this$state9.selectedOptionIds;
1094
+ var _i18nKeys = i18nKeys,
1095
+ _i18nKeys$searchText = _i18nKeys.searchText,
1096
+ searchText = _i18nKeys$searchText === void 0 ? 'Searching...' : _i18nKeys$searchText;
1097
+ var suggestions = this.handleFilterSuggestions();
1098
+ var setAriaId = this.getNextAriaId();
1099
+ var ariaErrorId = this.getNextAriaId();
1100
+ i18nKeys = Object.assign({}, _defaultProps2.defaultProps.i18nKeys, i18nKeys, {
1101
+ emptyText: i18nKeys.emptyText || emptyMessage,
1102
+ searchEmptyText: i18nKeys.searchEmptyText || searchEmptyMessage,
1103
+ noMoreText: i18nKeys.noMoreText || noMoreOptionsMessage
1104
+ });
1105
+ return /*#__PURE__*/_react["default"].createElement("div", {
1106
+ 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 : ''),
1107
+ "data-id": "".concat(isDisabled ? "".concat(dataId, "_disabled") : isReadOnly ? "".concat(dataId, "_readOnly") : dataId),
1108
+ "data-test-id": "".concat(isDisabled ? "".concat(dataId, "_disabled") : isReadOnly ? "".concat(dataId, "_readOnly") : dataId),
1109
+ "data-title": isDisabled ? title : null,
1110
+ onClick: this.handleInputFocus,
1111
+ "data-selector-id": dataSelectorId
1112
+ }, this.getSelectionUI(), !isReadOnly && !isDisabled && !disableAction && isPopupOpen ? /*#__PURE__*/_react["default"].createElement(_CustomResponsive.ResponsiveReceiver, {
1113
+ query: this.responsiveFunc,
1114
+ responsiveId: "Helmet"
1115
+ }, function (_ref7) {
1116
+ var tabletMode = _ref7.tabletMode;
1117
+ return /*#__PURE__*/_react["default"].createElement(_ResponsiveDropBox["default"], {
1118
+ animationStyle: animationStyle,
1119
+ boxPosition: position || "".concat(defaultDropBoxPosition),
1120
+ getRef: getContainerRef,
1121
+ isActive: isPopupReady,
1122
+ isAnimate: isAnimate,
1123
+ isArrow: false,
1124
+ onClick: removeClose,
1125
+ needResponsive: needResponsive,
1126
+ isPadding: false,
1127
+ isBoxPaddingNeed: isBoxPaddingNeed,
1128
+ palette: palette,
1129
+ htmlId: setAriaId,
1130
+ a11y: {
1131
+ role: 'listbox',
1132
+ ariaMultiselectable: true
1133
+ },
1134
+ size: boxSize,
1135
+ alignBox: "row",
1136
+ isResponsivePadding: getFooter ? false : true
1137
+ }, /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
1138
+ flexible: true
1139
+ }, /*#__PURE__*/_react["default"].createElement(_Card["default"], {
1140
+ customClass: "".concat(_MultiSelectModule["default"].box, " ").concat(_MultiSelectModule["default"]["".concat(palette, "Box")]),
1141
+ onScroll: _this5.handleScroll
1142
+ }, tabletMode && /*#__PURE__*/_react["default"].createElement(_MobileHeader["default"], {
1143
+ selectedOptions: selectedOptions,
1144
+ i18nKeys: i18nKeys,
1145
+ onClick: _this5.handlePopupClose
1146
+ }, /*#__PURE__*/_react["default"].createElement("div", {
1147
+ className: _MultiSelectModule["default"].effect
1148
+ }, _this5.getSelectionUI(true))), needSelectAll ? /*#__PURE__*/_react["default"].createElement(_Card.CardHeader, null, /*#__PURE__*/_react["default"].createElement(_MultiSelectHeader["default"], {
1149
+ onSelect: _this5.handleSelectAll,
1150
+ selectAllText: selectAllText,
1151
+ suggestions: suggestions,
1152
+ dataId: dataId
1153
+ })) : null, isLoading ? /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
1154
+ align: "both",
1155
+ className: _MultiSelectModule["default"].loader
1156
+ }, /*#__PURE__*/_react["default"].createElement(_Loader["default"], null)) : /*#__PURE__*/_react["default"].createElement(_Card.CardContent, {
1157
+ shrink: true,
1158
+ customClass: !tabletMode && dropBoxSize ? _MultiSelectModule["default"][dropBoxSize] : '',
1159
+ eleRef: _this5.suggestionContainerRef
1160
+ }, isSearching ? /*#__PURE__*/_react["default"].createElement("div", {
1161
+ className: _MultiSelectModule["default"][palette]
1162
+ }, searchText) : suggestions.length ? /*#__PURE__*/_react["default"].createElement(_Suggestions["default"], {
1163
+ suggestions: suggestions,
1164
+ getRef: _this5.suggestionItemRef,
1165
+ hoverOption: hoverOption,
1166
+ onClick: _this5.handleSelectOption,
1167
+ onMouseEnter: _this5.handleMouseEnter,
1168
+ needBorder: false,
1169
+ dataId: "".concat(dataId, "_Options"),
1170
+ palette: palette,
1171
+ selectedOptions: selectedOptionIds,
1172
+ a11y: {
1173
+ role: 'option'
1174
+ }
1175
+ }) : /*#__PURE__*/_react["default"].createElement(_EmptyState["default"], {
1176
+ isLoading: isFetchingOptions,
1177
+ options: options,
1178
+ searchString: searchStr,
1179
+ suggestions: suggestions,
1180
+ dataId: dataId,
1181
+ palette: palette,
1182
+ i18nKeys: i18nKeys,
1183
+ htmlId: ariaErrorId
1184
+ }), isFetchingOptions && /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
1185
+ isCover: false,
1186
+ align: "both"
1187
+ }, /*#__PURE__*/_react["default"].createElement(_Loader["default"], null))), getFooter ? /*#__PURE__*/_react["default"].createElement(_Card.CardFooter, null, getFooter()) : null)));
1188
+ }) : null);
1189
+ }
1190
+ }]);
1191
+
1192
+ return MultiSelectComponent;
1193
+ }(_react["default"].Component);
1194
+
1195
+ exports.MultiSelectComponent = MultiSelectComponent;
1196
+ MultiSelectComponent.propTypes = _propTypes.MultiSelect_propTypes;
1197
+ MultiSelectComponent.defaultProps = _defaultProps.MultiSelect_defaultProps;
1198
+ MultiSelectComponent.displayName = 'MultiSelect';
1199
+ var MultiSelect = (0, _Popup["default"])(MultiSelectComponent);
1200
+ MultiSelect.propTypes = MultiSelectComponent.propTypes;
1201
+ MultiSelect.defaultProps = MultiSelectComponent.defaultProps;
1202
+ var _default = MultiSelect;
1203
+ exports["default"] = _default;