@zohodesk/components 1.0.0-test-252 → 1.0.0

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