@zohodesk/components 1.0.0-temp-107 → 1.0.0-temp-108

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