@zohodesk/components 1.0.0-alpha-249 → 1.0.0-alpha-252

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 (673) hide show
  1. package/README.md +23 -0
  2. package/assets/Appearance/dark/mode/darkMode.module.css +2 -1
  3. package/assets/Appearance/default/mode/defaultMode.module.css +2 -1
  4. package/assets/Appearance/pureDark/mode/pureDarkMode.module.css +2 -1
  5. package/es/Accordion/Accordion.js +0 -7
  6. package/es/Accordion/AccordionItem.js +0 -4
  7. package/es/Accordion/docs/Accordion__Demo.docs.js +0 -2
  8. package/es/Animation/Animation.js +0 -3
  9. package/es/Animation/docs/Animation__default.docs.js +0 -2
  10. package/es/Animation/docs/Animation__fadeIn.docs.js +0 -2
  11. package/es/Animation/docs/Animation__scaleIn.docs.js +0 -2
  12. package/es/Animation/docs/Animation__skewIn.docs.js +0 -2
  13. package/es/Animation/docs/Animation__slideDown.docs.js +0 -2
  14. package/es/Animation/docs/Animation__slideLeft.docs.js +0 -2
  15. package/es/Animation/docs/Animation__zoomIn.docs.js +0 -2
  16. package/es/AppContainer/AppContainer.js +3 -14
  17. package/es/AppContainer/docs/AppContainer__default.docs.js +0 -2
  18. package/es/Avatar/Avatar.js +36 -42
  19. package/es/Avatar/Avatar.module.css +29 -9
  20. package/es/Avatar/docs/Avatar__custom.docs.js +1 -3
  21. package/es/Avatar/docs/Avatar__default.docs.js +1 -3
  22. package/es/Avatar/docs/Avatar__palette.docs.js +1 -3
  23. package/es/Avatar/docs/Avatar__text.docs.js +1 -3
  24. package/es/Avatar/props/defaultProps.js +2 -1
  25. package/es/Avatar/props/propTypes.js +2 -1
  26. package/es/AvatarTeam/AvatarTeam.js +1 -4
  27. package/es/AvatarTeam/AvatarTeam.module.css +21 -7
  28. package/es/AvatarTeam/docs/AvatarTeam__custom.docs.js +0 -2
  29. package/es/AvatarTeam/docs/AvatarTeam__default.docs.js +0 -2
  30. package/es/AvatarTeam/docs/AvatarTeam__palette.docs.js +0 -2
  31. package/es/AvatarTeam/docs/AvatarTeam__size.docs.js +0 -2
  32. package/es/Button/Button.js +0 -4
  33. package/es/Button/Button.module.css +97 -24
  34. package/es/Button/docs/Button__custom.docs.js +11 -13
  35. package/es/Button/docs/Button__default.docs.js +11 -13
  36. package/es/Buttongroup/Buttongroup.js +0 -3
  37. package/es/Buttongroup/Buttongroup.module.css +37 -8
  38. package/es/Buttongroup/docs/Buttongroup__custom.docs.js +0 -2
  39. package/es/Buttongroup/docs/Buttongroup__footer.docs.js +0 -2
  40. package/es/Buttongroup/docs/Buttongroup__header.docs.js +0 -2
  41. package/es/Card/Card.js +7 -22
  42. package/es/Card/docs/Card__Custom.docs.js +0 -2
  43. package/es/Card/docs/Card__Default.docs.js +0 -2
  44. package/es/Card/docs/Card__Scroll.docs.js +0 -3
  45. package/es/CheckBox/CheckBox.js +1 -6
  46. package/es/CheckBox/CheckBox.module.css +17 -11
  47. package/es/CheckBox/docs/CheckBox__custom.docs.js +12 -16
  48. package/es/CheckBox/docs/CheckBox__default.docs.js +12 -16
  49. package/es/DateTime/CalendarView.js +26 -34
  50. package/es/DateTime/DateTime.js +22 -77
  51. package/es/DateTime/DateTime.module.css +87 -15
  52. package/es/DateTime/DateTimePopupFooter.js +2 -4
  53. package/es/DateTime/DateTimePopupHeader.js +2 -8
  54. package/es/DateTime/DateWidget.js +34 -101
  55. package/es/DateTime/DateWidget.module.css +9 -5
  56. package/es/DateTime/DaysRow.js +2 -4
  57. package/es/DateTime/Time.js +2 -10
  58. package/es/DateTime/YearView.js +4 -28
  59. package/es/DateTime/YearView.module.css +17 -7
  60. package/es/DateTime/__tests__/CalendarView.spec.js +0 -1
  61. package/es/DateTime/__tests__/DateTime.spec.js +0 -1
  62. package/es/DateTime/__tests__/DateWidget.spec.js +3 -2
  63. package/es/DateTime/common.js +0 -3
  64. package/es/DateTime/constants.js +0 -1
  65. package/es/DateTime/dateFormatUtils/dateFormat.js +30 -63
  66. package/es/DateTime/dateFormatUtils/dayChange.js +4 -13
  67. package/es/DateTime/dateFormatUtils/index.js +2 -28
  68. package/es/DateTime/dateFormatUtils/monthChange.js +0 -8
  69. package/es/DateTime/dateFormatUtils/timeChange.js +6 -22
  70. package/es/DateTime/dateFormatUtils/yearChange.js +2 -11
  71. package/es/DateTime/docs/DateTime__default.docs.js +6 -9
  72. package/es/DateTime/docs/DateWidget__default.docs.js +0 -5
  73. package/es/DateTime/objectUtils.js +20 -14
  74. package/es/DateTime/props/propTypes.js +4 -2
  75. package/es/DateTime/typeChecker.js +0 -3
  76. package/es/DateTime/validator.js +6 -58
  77. package/es/DropBox/DropBox.js +6 -29
  78. package/es/DropBox/DropBox.module.css +47 -11
  79. package/es/DropBox/docs/DropBox__custom.docs.js +25 -27
  80. package/es/DropBox/docs/DropBox__customOrder.docs.js +0 -7
  81. package/es/DropBox/docs/DropBox__fixedPosition.docs.js +0 -7
  82. package/es/DropBox/docs/DropBox__position.docs.js +35 -37
  83. package/es/DropBox/docs/DropBox__size.docs.js +28 -30
  84. package/es/DropDown/DropDown.js +1 -9
  85. package/es/DropDown/DropDownHeading.js +2 -4
  86. package/es/DropDown/DropDownHeading.module.css +7 -3
  87. package/es/DropDown/DropDownItem.js +0 -6
  88. package/es/DropDown/DropDownItem.module.css +32 -6
  89. package/es/DropDown/DropDownSearch.js +0 -4
  90. package/es/DropDown/DropDownSeparator.js +0 -1
  91. package/es/DropDown/__tests__/DropDown.spec.js +2 -1
  92. package/es/DropDown/docs/DropDownHeading__custom.docs.js +0 -2
  93. package/es/DropDown/docs/DropDownHeading__default.docs.js +0 -2
  94. package/es/Heading/Heading.js +34 -0
  95. package/es/Heading/Heading.module.css +5 -0
  96. package/es/Heading/docs/Heading__default.docs.js +19 -0
  97. package/es/Heading/props/defaultProps.js +5 -0
  98. package/es/Heading/props/propTypes.js +11 -0
  99. package/es/Label/Label.js +0 -2
  100. package/es/Label/docs/Label__clipped.docs.js +0 -2
  101. package/es/Label/docs/Label__custom.docs.js +0 -2
  102. package/es/Label/docs/Label__palette.docs.js +0 -2
  103. package/es/Label/docs/Label__size.docs.js +0 -2
  104. package/es/Label/docs/Label__type.docs.js +0 -2
  105. package/es/Layout/Box.js +0 -13
  106. package/es/Layout/Container.js +1 -12
  107. package/es/Layout/docs/Layout__Hidden.docs.js +0 -1
  108. package/es/Layout/docs/Layout__default.docs.js +0 -1
  109. package/es/Layout/docs/Layout__four_Column.docs.js +0 -1
  110. package/es/Layout/docs/Layout__three_Column.docs.js +0 -1
  111. package/es/Layout/docs/Layout__two_Column.docs.js +0 -1
  112. package/es/LightNightMode/docs/AlternativeColors.docs.js +0 -2
  113. package/es/ListItem/ListContainer.js +1 -9
  114. package/es/ListItem/ListItem.js +1 -10
  115. package/es/ListItem/ListItem.module.css +57 -25
  116. package/es/ListItem/ListItemWithAvatar.js +2 -10
  117. package/es/ListItem/ListItemWithCheckBox.js +1 -8
  118. package/es/ListItem/ListItemWithIcon.js +1 -9
  119. package/es/ListItem/ListItemWithRadio.js +1 -8
  120. package/es/ListItem/docs/ListItemWithAvatar__custom.docs.js +0 -2
  121. package/es/ListItem/docs/ListItemWithAvatar__default.docs.js +0 -2
  122. package/es/ListItem/docs/ListItemWithCheckBox__custom.docs.js +0 -2
  123. package/es/ListItem/docs/ListItemWithCheckBox__default.docs.js +0 -2
  124. package/es/ListItem/docs/ListItemWithIcon__custom.docs.js +0 -2
  125. package/es/ListItem/docs/ListItemWithIcon__default.docs.js +0 -2
  126. package/es/ListItem/docs/ListItemWithRadio__custom.docs.js +0 -2
  127. package/es/ListItem/docs/ListItemWithRadio__default.docs.js +0 -2
  128. package/es/ListItem/docs/ListItem__custom.docs.js +0 -2
  129. package/es/ListItem/docs/ListItem__default.docs.js +0 -2
  130. package/es/Modal/Modal.js +9 -29
  131. package/es/Modal/__docs__/Modal__default.docs.js +1 -5
  132. package/es/MultiSelect/AdvancedGroupMultiSelect.js +11 -90
  133. package/es/MultiSelect/AdvancedMultiSelect.js +22 -40
  134. package/es/MultiSelect/EmptyState.js +0 -2
  135. package/es/MultiSelect/MultiSelect.js +49 -112
  136. package/es/MultiSelect/MultiSelect.module.css +28 -11
  137. package/es/MultiSelect/MultiSelectHeader.js +0 -3
  138. package/es/MultiSelect/MultiSelectWithAvatar.js +16 -17
  139. package/es/MultiSelect/SelectedOptions.js +4 -7
  140. package/es/MultiSelect/SelectedOptions.module.css +8 -2
  141. package/es/MultiSelect/Suggestions.js +4 -8
  142. package/es/MultiSelect/__tests__/MultiSelect.spec.js +6 -4
  143. package/es/MultiSelect/docs/AdvancedGroupMultiSelect__default.docs.js +0 -7
  144. package/es/MultiSelect/docs/AdvancedMultiSelect__default.docs.js +1 -7
  145. package/es/MultiSelect/docs/MultiSelectWithAvatar__default.docs.js +1 -5
  146. package/es/MultiSelect/docs/MultiSelect__default.docs.js +1 -6
  147. package/es/MultiSelect/props/defaultProps.js +8 -4
  148. package/es/MultiSelect/props/propTypes.js +8 -6
  149. package/es/PopOver/PopOver.js +0 -18
  150. package/es/PopOver/PopOver.module.css +1 -1
  151. package/es/PopOver/__tests__/PopOver.spec.js +1 -2
  152. package/es/PopOver/docs/PopOver__default.docs.js +0 -2
  153. package/es/Popup/Popup.js +25 -78
  154. package/es/Popup/__tests__/Popup.spec.js +5 -17
  155. package/es/Popup/viewPort.js +4 -16
  156. package/es/Provider/IdProvider.js +2 -9
  157. package/es/Provider/LibraryContext.js +4 -6
  158. package/es/Provider/NumberGenerator/NumberGenerator.js +7 -21
  159. package/es/Provider/ZindexProvider.js +2 -9
  160. package/es/Provider/docs/Provider_Id__Class.docs.js +3 -4
  161. package/es/Provider/docs/Provider_Id__Function.docs.js +0 -1
  162. package/es/Provider/docs/Provider_Zindex__Class.docs.js +3 -4
  163. package/es/Provider/docs/Provider_Zindex__Function.docs.js +0 -1
  164. package/es/Provider.js +3 -7
  165. package/es/Radio/Radio.js +0 -4
  166. package/es/Radio/Radio.module.css +10 -4
  167. package/es/Radio/docs/Radio__custom.docs.js +12 -16
  168. package/es/Radio/docs/Radio__default.docs.js +12 -16
  169. package/es/Responsive/CustomResponsive.js +18 -28
  170. package/es/Responsive/RefWrapper.js +7 -6
  171. package/es/Responsive/ResizeComponent.js +25 -35
  172. package/es/Responsive/ResizeObserver.js +6 -26
  173. package/es/Responsive/Responsive.js +20 -35
  174. package/es/Responsive/docs/Responsive__Custom.docs.js +22 -14
  175. package/es/Responsive/docs/Responsive__default.docs.js +1 -3
  176. package/es/Responsive/docs/style.module.css +17 -8
  177. package/es/Responsive/sizeObservers.js +7 -28
  178. package/es/Responsive/utils/index.js +5 -7
  179. package/es/Responsive/utils/shallowCompare.js +2 -7
  180. package/es/Responsive/windowResizeObserver.js +0 -7
  181. package/es/ResponsiveDropBox/ResponsiveDropBox.js +1 -5
  182. package/es/Ribbon/Ribbon.js +0 -3
  183. package/es/Ribbon/Ribbon.module.css +93 -28
  184. package/es/Ribbon/docs/Ribbon__custom.docs.js +13 -14
  185. package/es/Ribbon/docs/Ribbon__default.docs.js +13 -14
  186. package/es/RippleEffect/RippleEffect.js +0 -1
  187. package/es/RippleEffect/RippleEffect.module.css +9 -27
  188. package/es/RippleEffect/docs/RippleEffect__default.docs.js +12 -14
  189. package/es/Select/GroupSelect.js +28 -67
  190. package/es/Select/Select.js +48 -98
  191. package/es/Select/Select.module.css +15 -2
  192. package/es/Select/SelectWithAvatar.js +15 -24
  193. package/es/Select/SelectWithIcon.js +73 -54
  194. package/es/Select/__tests__/Select.spec.js +8 -6
  195. package/es/Select/docs/GroupSelect__default.docs.js +1 -6
  196. package/es/Select/docs/SelectWithAvatar__default.docs.js +0 -4
  197. package/es/Select/docs/SelectWithIcon__default.docs.js +0 -4
  198. package/es/Select/docs/Select__default.docs.js +0 -5
  199. package/es/Select/props/defaultProps.js +8 -4
  200. package/es/Select/props/propTypes.js +8 -5
  201. package/es/Stencils/Stencils.js +0 -3
  202. package/es/Stencils/Stencils.module.css +21 -3
  203. package/es/Stencils/docs/Stencils__custom.docs.js +0 -2
  204. package/es/Stencils/docs/Stencils__default.docs.js +0 -2
  205. package/es/Switch/Switch.js +1 -6
  206. package/es/Switch/Switch.module.css +6 -7
  207. package/es/Switch/docs/Switch__custom.docs.js +12 -14
  208. package/es/Switch/docs/Switch__default.docs.js +12 -14
  209. package/es/Tab/Tab.js +2 -5
  210. package/es/Tab/Tab.module.css +16 -7
  211. package/es/Tab/TabContent.js +0 -1
  212. package/es/Tab/TabContentWrapper.js +0 -2
  213. package/es/Tab/TabWrapper.js +3 -6
  214. package/es/Tab/Tabs.js +8 -55
  215. package/es/Tab/Tabs.module.css +42 -8
  216. package/es/Tab/__tests__/Tab.spec.js +2 -1
  217. package/es/Tab/__tests__/TabWrapper.spec.js +0 -1
  218. package/es/Tab/docs/Tab__default.docs.js +0 -5
  219. package/es/Tab/docs/tabdocs.module.css +1 -1
  220. package/es/Tag/Tag.js +1 -6
  221. package/es/Tag/Tag.module.css +36 -14
  222. package/es/Tag/docs/Tag__custom.docs.js +11 -13
  223. package/es/Tag/docs/Tag__default.docs.js +11 -13
  224. package/es/TextBox/TextBox.js +1 -16
  225. package/es/TextBox/TextBox.module.css +7 -11
  226. package/es/TextBox/__tests__/TextBox.spec.js +4 -1
  227. package/es/TextBox/docs/TextBox__custom.docs.js +0 -2
  228. package/es/TextBox/docs/TextBox__default.docs.js +0 -2
  229. package/es/TextBox/docs/TextBox__size.docs.js +0 -2
  230. package/es/TextBox/docs/TextBox__variant.docs.js +0 -2
  231. package/es/TextBoxIcon/TextBoxIcon.js +1 -8
  232. package/es/TextBoxIcon/TextBoxIcon.module.css +12 -5
  233. package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +7 -2
  234. package/es/TextBoxIcon/docs/TextBoxIcon__custom.docs.js +0 -2
  235. package/es/TextBoxIcon/docs/TextBoxIcon__default.docs.js +0 -2
  236. package/es/Textarea/Textarea.js +1 -13
  237. package/es/Textarea/Textarea.module.css +6 -7
  238. package/es/Textarea/__tests__/Textarea.spec.js +2 -2
  239. package/es/Textarea/docs/Textarea__animated.docs.js +0 -2
  240. package/es/Textarea/docs/Textarea__custom.docs.js +0 -2
  241. package/es/Textarea/docs/Textarea__default.docs.js +0 -2
  242. package/es/Textarea/docs/Textarea__disabled.docs.js +0 -2
  243. package/es/Tooltip/Tooltip.js +11 -58
  244. package/es/Tooltip/Tooltip.module.css +9 -8
  245. package/es/Tooltip/__tests__/Tooltip.spec.js +0 -5
  246. package/es/Tooltip/docs/Tooltip__default.docs.js +63 -67
  247. package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +0 -3
  248. package/es/VelocityAnimation/VelocityAnimation/docs/VelocityAnimation__demo.docs.js +0 -5
  249. package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +3 -8
  250. package/es/VelocityAnimation/VelocityAnimationGroup/docs/VelocityAnimationGroup__demo.docs.js +17 -28
  251. package/es/common/animation.module.css +219 -21
  252. package/es/common/basicReset.module.css +2 -12
  253. package/es/common/common.module.css +64 -18
  254. package/es/common/customscroll.module.css +17 -21
  255. package/es/common/docStyle.module.css +79 -32
  256. package/es/common/transition.module.css +50 -10
  257. package/es/deprecated/AdvancedMultiSelect.module.css +22 -8
  258. package/es/deprecated/PortalLayer/PortalLayer.js +17 -25
  259. package/es/deprecated/PortalLayer/docs/PortalLayer__default.docs.js +0 -7
  260. package/es/index.js +5 -2
  261. package/es/semantic/Button/Button.js +0 -3
  262. package/es/semantic/Button/docs/Button__default.docs.js +0 -3
  263. package/es/semantic/Button/semanticButton.module.css +3 -3
  264. package/es/utils/Common.js +23 -47
  265. package/es/utils/ContextOptimizer.js +5 -4
  266. package/es/utils/__tests__/debounce.spec.js +2 -2
  267. package/es/utils/constructFullName.js +0 -2
  268. package/es/utils/datetime/common.js +5 -16
  269. package/es/utils/debounce.js +1 -5
  270. package/es/utils/dropDownUtils.js +11 -67
  271. package/es/utils/getInitial.js +0 -4
  272. package/es/utils/shallowEqual.js +0 -6
  273. package/lib/Accordion/Accordion.js +102 -0
  274. package/lib/Accordion/AccordionItem.js +84 -0
  275. package/lib/Accordion/__tests__/Accordion.spec.js +82 -0
  276. package/lib/Accordion/docs/Accordion__Demo.docs.js +104 -0
  277. package/lib/Accordion/index.js +20 -0
  278. package/lib/Accordion/props/defaultProps.js +16 -0
  279. package/lib/Accordion/props/propTypes.js +39 -0
  280. package/lib/Animation/Animation.js +161 -0
  281. package/lib/Animation/__tests__/Animation.spec.js +19 -0
  282. package/lib/Animation/docs/Animation__default.docs.js +61 -0
  283. package/lib/Animation/docs/Animation__fadeIn.docs.js +61 -0
  284. package/lib/Animation/docs/Animation__scaleIn.docs.js +61 -0
  285. package/lib/Animation/docs/Animation__skewIn.docs.js +61 -0
  286. package/lib/Animation/docs/Animation__slideDown.docs.js +61 -0
  287. package/lib/Animation/docs/Animation__slideLeft.docs.js +61 -0
  288. package/lib/Animation/docs/Animation__zoomIn.docs.js +61 -0
  289. package/lib/Animation/props/defaultProps.js +14 -0
  290. package/lib/Animation/props/propTypes.js +20 -0
  291. package/lib/AppContainer/AppContainer.js +156 -0
  292. package/lib/AppContainer/AppContainer.module.css +18 -0
  293. package/lib/AppContainer/docs/AppContainer__default.docs.js +47 -0
  294. package/lib/AppContainer/props/defaultProps.js +15 -0
  295. package/lib/AppContainer/props/propTypes.js +23 -0
  296. package/lib/Avatar/Avatar.js +199 -0
  297. package/lib/Avatar/Avatar.module.css +135 -0
  298. package/lib/Avatar/__tests__/Avatar.spec.js +164 -0
  299. package/lib/Avatar/__tests__/__snapshots__/Avatar.spec.js.snap +288 -0
  300. package/lib/Avatar/docs/Avatar__custom.docs.js +62 -0
  301. package/lib/Avatar/docs/Avatar__default.docs.js +60 -0
  302. package/lib/Avatar/docs/Avatar__palette.docs.js +82 -0
  303. package/lib/Avatar/docs/Avatar__text.docs.js +61 -0
  304. package/lib/Avatar/props/defaultProps.js +21 -0
  305. package/lib/Avatar/props/propTypes.js +31 -0
  306. package/lib/AvatarTeam/AvatarTeam.js +99 -0
  307. package/lib/AvatarTeam/AvatarTeam.module.css +161 -0
  308. package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +79 -0
  309. package/lib/AvatarTeam/__tests__/__snapshots__/AvatarTeam.spec.js.snap +226 -0
  310. package/lib/AvatarTeam/docs/AvatarTeam__custom.docs.js +100 -0
  311. package/lib/AvatarTeam/docs/AvatarTeam__default.docs.js +58 -0
  312. package/lib/AvatarTeam/docs/AvatarTeam__palette.docs.js +77 -0
  313. package/lib/AvatarTeam/docs/AvatarTeam__size.docs.js +76 -0
  314. package/lib/AvatarTeam/props/defaultProps.js +20 -0
  315. package/lib/AvatarTeam/props/propTypes.js +31 -0
  316. package/lib/Button/Button.js +90 -0
  317. package/lib/Button/Button.module.css +522 -0
  318. package/lib/Button/__tests__/Button.spec.js +193 -0
  319. package/lib/Button/__tests__/__snapshots__/Button.spec.js.snap +191 -0
  320. package/lib/Button/docs/Button__custom.docs.js +800 -0
  321. package/lib/Button/docs/Button__default.docs.js +565 -0
  322. package/lib/Button/props/defaultProps.js +22 -0
  323. package/lib/Button/props/propTypes.js +30 -0
  324. package/lib/Buttongroup/Buttongroup.js +69 -0
  325. package/lib/Buttongroup/Buttongroup.module.css +89 -0
  326. package/lib/Buttongroup/__test__/Buttongroup.spec.js +76 -0
  327. package/lib/Buttongroup/__test__/__snapshots__/Buttongroup.spec.js.snap +146 -0
  328. package/lib/Buttongroup/docs/Buttongroup__custom.docs.js +64 -0
  329. package/lib/Buttongroup/docs/Buttongroup__footer.docs.js +60 -0
  330. package/lib/Buttongroup/docs/Buttongroup__header.docs.js +71 -0
  331. package/lib/Buttongroup/props/defaultProps.js +11 -0
  332. package/lib/Buttongroup/props/propTypes.js +15 -0
  333. package/lib/Card/Card.js +301 -0
  334. package/lib/Card/Card.module.css +20 -0
  335. package/lib/Card/__tests__/Card.spec.js +47 -0
  336. package/lib/Card/docs/Card__Custom.docs.js +63 -0
  337. package/lib/Card/docs/Card__Default.docs.js +66 -0
  338. package/lib/Card/docs/Card__Scroll.docs.js +87 -0
  339. package/lib/Card/index.js +33 -0
  340. package/lib/Card/props/defaultProps.js +23 -0
  341. package/lib/Card/props/propTypes.js +54 -0
  342. package/lib/CheckBox/CheckBox.js +183 -0
  343. package/lib/CheckBox/CheckBox.module.css +157 -0
  344. package/lib/CheckBox/__tests__/CheckBox.spec.js +15 -0
  345. package/lib/CheckBox/docs/CheckBox__custom.docs.js +323 -0
  346. package/lib/CheckBox/docs/CheckBox__default.docs.js +249 -0
  347. package/lib/CheckBox/props/defaultProps.js +25 -0
  348. package/lib/CheckBox/props/propTypes.js +49 -0
  349. package/lib/DateTime/CalendarView.js +227 -0
  350. package/lib/DateTime/DateTime.js +779 -0
  351. package/lib/DateTime/DateTime.module.css +233 -0
  352. package/lib/DateTime/DateTimePopupFooter.js +65 -0
  353. package/lib/DateTime/DateTimePopupHeader.js +117 -0
  354. package/lib/DateTime/DateWidget.js +1015 -0
  355. package/lib/DateTime/DateWidget.module.css +38 -0
  356. package/lib/DateTime/DaysRow.js +52 -0
  357. package/lib/DateTime/Time.js +205 -0
  358. package/lib/DateTime/YearView.js +267 -0
  359. package/lib/DateTime/YearView.module.css +81 -0
  360. package/lib/DateTime/__tests__/CalendarView.spec.js +37 -0
  361. package/lib/DateTime/__tests__/DateTime.spec.js +113 -0
  362. package/lib/DateTime/__tests__/DateWidget.spec.js +79 -0
  363. package/lib/DateTime/common.js +30 -0
  364. package/lib/DateTime/constants.js +76 -0
  365. package/lib/DateTime/dateFormatUtils/dateFormat.js +551 -0
  366. package/lib/DateTime/dateFormatUtils/dayChange.js +74 -0
  367. package/lib/DateTime/dateFormatUtils/index.js +225 -0
  368. package/lib/DateTime/dateFormatUtils/monthChange.js +84 -0
  369. package/lib/DateTime/dateFormatUtils/timeChange.js +208 -0
  370. package/lib/DateTime/dateFormatUtils/yearChange.js +108 -0
  371. package/lib/DateTime/docs/DateTime__default.docs.js +119 -0
  372. package/lib/DateTime/docs/DateWidget__default.docs.js +212 -0
  373. package/lib/DateTime/docs/timezonedata.json +1 -0
  374. package/lib/DateTime/index.js +13 -0
  375. package/lib/DateTime/objectUtils.js +72 -0
  376. package/lib/DateTime/props/defaultProps.js +61 -0
  377. package/lib/DateTime/props/propTypes.js +144 -0
  378. package/lib/DateTime/typeChecker.js +22 -0
  379. package/lib/DateTime/validator.js +290 -0
  380. package/lib/DropBox/DropBox.js +266 -0
  381. package/lib/DropBox/DropBox.module.css +406 -0
  382. package/lib/DropBox/DropBoxPositionMapping.json +145 -0
  383. package/lib/DropBox/__tests__/DropBox.spec.js +83 -0
  384. package/lib/DropBox/docs/DropBox__custom.docs.js +97 -0
  385. package/lib/DropBox/docs/DropBox__customOrder.docs.js +114 -0
  386. package/lib/DropBox/docs/DropBox__fixedPosition.docs.js +113 -0
  387. package/lib/DropBox/docs/DropBox__position.docs.js +118 -0
  388. package/lib/DropBox/docs/DropBox__size.docs.js +92 -0
  389. package/lib/DropBox/props/defaultProps.js +27 -0
  390. package/lib/DropBox/props/propTypes.js +55 -0
  391. package/lib/DropDown/DropDown.js +127 -0
  392. package/lib/DropDown/DropDown.module.css +5 -0
  393. package/lib/DropDown/DropDownHeading.js +64 -0
  394. package/lib/DropDown/DropDownHeading.module.css +53 -0
  395. package/lib/DropDown/DropDownItem.js +102 -0
  396. package/lib/DropDown/DropDownItem.module.css +94 -0
  397. package/lib/DropDown/DropDownSearch.js +88 -0
  398. package/lib/DropDown/DropDownSearch.module.css +14 -0
  399. package/lib/DropDown/DropDownSeparator.js +42 -0
  400. package/lib/DropDown/DropDownSeparator.module.css +7 -0
  401. package/lib/DropDown/__tests__/DropDown.spec.js +44 -0
  402. package/lib/DropDown/__tests__/DropDownItem.spec.js +46 -0
  403. package/lib/DropDown/__tests__/DropDownSearch.spec.js +14 -0
  404. package/lib/DropDown/docs/DropDownHeading__custom.docs.js +50 -0
  405. package/lib/DropDown/docs/DropDownHeading__default.docs.js +48 -0
  406. package/lib/DropDown/props/defaultProps.js +28 -0
  407. package/lib/DropDown/props/propTypes.js +89 -0
  408. package/lib/Heading/Heading.js +64 -0
  409. package/lib/Heading/Heading.module.css +5 -0
  410. package/lib/Heading/docs/Heading__default.docs.js +50 -0
  411. package/lib/Heading/props/defaultProps.js +12 -0
  412. package/lib/Heading/props/propTypes.js +19 -0
  413. package/lib/Label/Label.js +65 -0
  414. package/lib/Label/Label.module.css +52 -0
  415. package/lib/Label/LabelColors.module.css +21 -0
  416. package/lib/Label/__tests__/Label.spec.js +124 -0
  417. package/lib/Label/__tests__/__snapshots__/Label.spec.js.snap +101 -0
  418. package/lib/Label/docs/Label__clipped.docs.js +56 -0
  419. package/lib/Label/docs/Label__custom.docs.js +59 -0
  420. package/lib/Label/docs/Label__palette.docs.js +71 -0
  421. package/lib/Label/docs/Label__size.docs.js +58 -0
  422. package/lib/Label/docs/Label__type.docs.js +66 -0
  423. package/lib/Label/props/defaultProps.js +17 -0
  424. package/lib/Label/props/propTypes.js +22 -0
  425. package/lib/Layout/Box.js +104 -0
  426. package/lib/Layout/Container.js +122 -0
  427. package/lib/Layout/Layout.module.css +336 -0
  428. package/lib/Layout/__tests__/Box.spec.js +105 -0
  429. package/lib/Layout/__tests__/Container.spec.js +110 -0
  430. package/lib/Layout/docs/Layout__Hidden.docs.js +105 -0
  431. package/lib/Layout/docs/Layout__default.docs.js +77 -0
  432. package/lib/Layout/docs/Layout__four_Column.docs.js +107 -0
  433. package/lib/Layout/docs/Layout__three_Column.docs.js +104 -0
  434. package/lib/Layout/docs/Layout__two_Column.docs.js +97 -0
  435. package/lib/Layout/index.js +30 -0
  436. package/lib/Layout/props/defaultProps.js +20 -0
  437. package/lib/Layout/props/propTypes.js +51 -0
  438. package/lib/Layout/utils.js +45 -0
  439. package/lib/LightNightMode/Colors.json +497 -0
  440. package/lib/LightNightMode/docs/AlternativeColors.docs.js +128 -0
  441. package/lib/ListItem/ListContainer.js +93 -0
  442. package/lib/ListItem/ListItem.js +153 -0
  443. package/lib/ListItem/ListItem.module.css +209 -0
  444. package/lib/ListItem/ListItemWithAvatar.js +175 -0
  445. package/lib/ListItem/ListItemWithCheckBox.js +141 -0
  446. package/lib/ListItem/ListItemWithIcon.js +158 -0
  447. package/lib/ListItem/ListItemWithRadio.js +143 -0
  448. package/lib/ListItem/docs/ListItemWithAvatar__custom.docs.js +182 -0
  449. package/lib/ListItem/docs/ListItemWithAvatar__default.docs.js +139 -0
  450. package/lib/ListItem/docs/ListItemWithCheckBox__custom.docs.js +118 -0
  451. package/lib/ListItem/docs/ListItemWithCheckBox__default.docs.js +92 -0
  452. package/lib/ListItem/docs/ListItemWithIcon__custom.docs.js +95 -0
  453. package/lib/ListItem/docs/ListItemWithIcon__default.docs.js +89 -0
  454. package/lib/ListItem/docs/ListItemWithRadio__custom.docs.js +118 -0
  455. package/lib/ListItem/docs/ListItemWithRadio__default.docs.js +92 -0
  456. package/lib/ListItem/docs/ListItem__custom.docs.js +141 -0
  457. package/lib/ListItem/docs/ListItem__default.docs.js +109 -0
  458. package/lib/ListItem/props/defaultProps.js +97 -0
  459. package/lib/ListItem/props/propTypes.js +176 -0
  460. package/lib/Modal/Modal.js +174 -0
  461. package/lib/Modal/__docs__/Modal__default.docs.js +65 -0
  462. package/lib/Modal/props/defaultProps.js +10 -0
  463. package/lib/Modal/props/propTypes.js +14 -0
  464. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +1032 -0
  465. package/lib/MultiSelect/AdvancedMultiSelect.js +552 -0
  466. package/lib/MultiSelect/EmptyState.js +85 -0
  467. package/lib/MultiSelect/MultiSelect.js +1044 -0
  468. package/lib/MultiSelect/MultiSelect.module.css +206 -0
  469. package/lib/MultiSelect/MultiSelectHeader.js +55 -0
  470. package/lib/MultiSelect/MultiSelectWithAvatar.js +304 -0
  471. package/lib/MultiSelect/SelectedOptions.js +97 -0
  472. package/lib/MultiSelect/SelectedOptions.module.css +15 -0
  473. package/lib/MultiSelect/Suggestions.js +158 -0
  474. package/lib/MultiSelect/__tests__/MultiSelect.spec.js +159 -0
  475. package/lib/MultiSelect/docs/AdvancedGroupMultiSelect__default.docs.js +154 -0
  476. package/lib/MultiSelect/docs/AdvancedMultiSelect__default.docs.js +140 -0
  477. package/lib/MultiSelect/docs/MultiSelectWithAvatar__default.docs.js +165 -0
  478. package/lib/MultiSelect/docs/MultiSelect__default.docs.js +186 -0
  479. package/lib/MultiSelect/props/defaultProps.js +158 -0
  480. package/lib/MultiSelect/props/propTypes.js +377 -0
  481. package/lib/PopOver/PopOver.js +252 -0
  482. package/lib/PopOver/PopOver.module.css +8 -0
  483. package/lib/PopOver/__tests__/PopOver.spec.js +17 -0
  484. package/lib/PopOver/docs/PopOver__default.docs.js +61 -0
  485. package/lib/PopOver/props/defaultProps.js +15 -0
  486. package/lib/PopOver/props/propTypes.js +63 -0
  487. package/lib/Popup/Popup.js +640 -0
  488. package/lib/Popup/PositionMapping.json +74 -0
  489. package/lib/Popup/__tests__/Popup.spec.js +155 -0
  490. package/lib/Popup/viewPort.js +354 -0
  491. package/lib/Provider/AvatarSize.js +19 -0
  492. package/lib/Provider/Config.js +25 -0
  493. package/lib/Provider/CssProvider.js +23 -0
  494. package/lib/Provider/IdProvider.js +68 -0
  495. package/lib/Provider/LibraryContext.js +54 -0
  496. package/lib/Provider/LibraryContextInit.js +11 -0
  497. package/lib/Provider/NumberGenerator/NumberGenerator.js +145 -0
  498. package/lib/Provider/ZindexProvider.js +57 -0
  499. package/lib/Provider/docs/Provider_Id__Class.docs.js +56 -0
  500. package/lib/Provider/docs/Provider_Id__Function.docs.js +24 -0
  501. package/lib/Provider/docs/Provider_Zindex__Class.docs.js +59 -0
  502. package/lib/Provider/docs/Provider_Zindex__Function.docs.js +29 -0
  503. package/lib/Provider.js +116 -0
  504. package/lib/Radio/Radio.js +146 -0
  505. package/lib/Radio/Radio.module.css +112 -0
  506. package/lib/Radio/__tests__/Radiospec.js +25 -0
  507. package/lib/Radio/docs/Radio__custom.docs.js +273 -0
  508. package/lib/Radio/docs/Radio__default.docs.js +197 -0
  509. package/lib/Radio/props/defaultProps.js +21 -0
  510. package/lib/Radio/props/propTypes.js +40 -0
  511. package/lib/Responsive/CustomResponsive.js +192 -0
  512. package/lib/Responsive/RefWrapper.js +47 -0
  513. package/lib/Responsive/ResizeComponent.js +237 -0
  514. package/lib/Responsive/ResizeObserver.js +151 -0
  515. package/lib/Responsive/Responsive.js +222 -0
  516. package/lib/Responsive/docs/Responsive__Custom.docs.js +247 -0
  517. package/lib/Responsive/docs/Responsive__default.docs.js +118 -0
  518. package/lib/Responsive/docs/style.module.css +56 -0
  519. package/lib/Responsive/index.js +28 -0
  520. package/lib/Responsive/props/defaultProps.js +23 -0
  521. package/lib/Responsive/props/propTypes.js +36 -0
  522. package/lib/Responsive/sizeObservers.js +176 -0
  523. package/lib/Responsive/utils/index.js +62 -0
  524. package/lib/Responsive/utils/shallowCompare.js +29 -0
  525. package/lib/Responsive/windowResizeObserver.js +55 -0
  526. package/lib/ResponsiveDropBox/ResponsiveDropBox.js +94 -0
  527. package/lib/ResponsiveDropBox/ResponsiveDropBox.module.css +6 -0
  528. package/lib/ResponsiveDropBox/props/defaultProps.js +11 -0
  529. package/lib/ResponsiveDropBox/props/propTypes.js +15 -0
  530. package/lib/Ribbon/Ribbon.js +71 -0
  531. package/lib/Ribbon/Ribbon.module.css +377 -0
  532. package/lib/Ribbon/__tests__/Ribbon.spec.js +171 -0
  533. package/lib/Ribbon/__tests__/__snapshots__/Ribbon.spec.js.snap +163 -0
  534. package/lib/Ribbon/docs/Ribbon__custom.docs.js +414 -0
  535. package/lib/Ribbon/docs/Ribbon__default.docs.js +370 -0
  536. package/lib/Ribbon/props/defaultProps.js +15 -0
  537. package/lib/Ribbon/props/propTypes.js +18 -0
  538. package/lib/RippleEffect/RippleEffect.js +35 -0
  539. package/lib/RippleEffect/RippleEffect.module.css +92 -0
  540. package/lib/RippleEffect/docs/RippleEffect__default.docs.js +462 -0
  541. package/lib/RippleEffect/props/defaultProps.js +16 -0
  542. package/lib/RippleEffect/props/propTypes.js +19 -0
  543. package/lib/Select/GroupSelect.js +771 -0
  544. package/lib/Select/Select.js +910 -0
  545. package/lib/Select/Select.module.css +109 -0
  546. package/lib/Select/SelectWithAvatar.js +340 -0
  547. package/lib/Select/SelectWithIcon.js +530 -0
  548. package/lib/Select/__tests__/Select.spec.js +341 -0
  549. package/lib/Select/docs/GroupSelect__default.docs.js +173 -0
  550. package/lib/Select/docs/SelectWithAvatar__default.docs.js +124 -0
  551. package/lib/Select/docs/SelectWithIcon__default.docs.js +165 -0
  552. package/lib/Select/docs/Select__default.docs.js +313 -0
  553. package/lib/Select/props/defaultProps.js +112 -0
  554. package/lib/Select/props/propTypes.js +280 -0
  555. package/lib/Stencils/Stencils.js +57 -0
  556. package/lib/Stencils/Stencils.module.css +96 -0
  557. package/lib/Stencils/__tests__/Stencils.spec.js +72 -0
  558. package/lib/Stencils/__tests__/__snapshots__/Stencils.spec.js.snap +49 -0
  559. package/lib/Stencils/docs/Stencils__custom.docs.js +72 -0
  560. package/lib/Stencils/docs/Stencils__default.docs.js +77 -0
  561. package/lib/Stencils/props/defaultProps.js +13 -0
  562. package/lib/Stencils/props/propTypes.js +15 -0
  563. package/lib/Switch/Switch.js +123 -0
  564. package/lib/Switch/Switch.module.css +111 -0
  565. package/lib/Switch/docs/Switch__custom.docs.js +180 -0
  566. package/lib/Switch/docs/Switch__default.docs.js +134 -0
  567. package/lib/Switch/props/defaultProps.js +17 -0
  568. package/lib/Switch/props/propTypes.js +35 -0
  569. package/lib/Tab/Tab.js +116 -0
  570. package/lib/Tab/Tab.module.css +101 -0
  571. package/lib/Tab/TabContent.js +33 -0
  572. package/lib/Tab/TabContent.module.css +4 -0
  573. package/lib/Tab/TabContentWrapper.js +33 -0
  574. package/lib/Tab/TabWrapper.js +69 -0
  575. package/lib/Tab/Tabs.js +581 -0
  576. package/lib/Tab/Tabs.module.css +141 -0
  577. package/lib/Tab/__tests__/Tab.spec.js +119 -0
  578. package/lib/Tab/__tests__/TabContent.spec.js +18 -0
  579. package/lib/Tab/__tests__/TabContentWrapper.spec.js +51 -0
  580. package/lib/Tab/__tests__/TabWrapper.spec.js +88 -0
  581. package/lib/Tab/__tests__/Tabs.spec.js +109 -0
  582. package/lib/Tab/docs/Tab__default.docs.js +283 -0
  583. package/lib/Tab/docs/tabdocs.module.css +29 -0
  584. package/lib/Tab/index.js +41 -0
  585. package/lib/Tab/props/defaultProps.js +50 -0
  586. package/lib/Tab/props/propTypes.js +114 -0
  587. package/lib/Tag/Tag.js +177 -0
  588. package/lib/Tag/Tag.module.css +255 -0
  589. package/lib/Tag/__tests__/Tag.spec.js +29 -0
  590. package/lib/Tag/docs/Tag__custom.docs.js +397 -0
  591. package/lib/Tag/docs/Tag__default.docs.js +352 -0
  592. package/lib/Tag/props/defaultProps.js +20 -0
  593. package/lib/Tag/props/propTypes.js +42 -0
  594. package/lib/TextBox/TextBox.js +193 -0
  595. package/lib/TextBox/TextBox.module.css +157 -0
  596. package/lib/TextBox/__tests__/TextBox.spec.js +195 -0
  597. package/lib/TextBox/__tests__/__snapshots__/TextBox.spec.js.snap +127 -0
  598. package/lib/TextBox/docs/TextBox__custom.docs.js +72 -0
  599. package/lib/TextBox/docs/TextBox__default.docs.js +69 -0
  600. package/lib/TextBox/docs/TextBox__size.docs.js +67 -0
  601. package/lib/TextBox/docs/TextBox__variant.docs.js +67 -0
  602. package/lib/TextBox/props/defaultProps.js +26 -0
  603. package/lib/TextBox/props/propTypes.js +57 -0
  604. package/lib/TextBoxIcon/TextBoxIcon.js +187 -0
  605. package/lib/TextBoxIcon/TextBoxIcon.module.css +78 -0
  606. package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +219 -0
  607. package/lib/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +334 -0
  608. package/lib/TextBoxIcon/docs/TextBoxIcon__custom.docs.js +118 -0
  609. package/lib/TextBoxIcon/docs/TextBoxIcon__default.docs.js +90 -0
  610. package/lib/TextBoxIcon/props/defaultProps.js +28 -0
  611. package/lib/TextBoxIcon/props/propTypes.js +57 -0
  612. package/lib/Textarea/Textarea.js +130 -0
  613. package/lib/Textarea/Textarea.module.css +139 -0
  614. package/lib/Textarea/__tests__/Textarea.spec.js +174 -0
  615. package/lib/Textarea/__tests__/__snapshots__/Textarea.spec.js.snap +97 -0
  616. package/lib/Textarea/docs/Textarea__animated.docs.js +70 -0
  617. package/lib/Textarea/docs/Textarea__custom.docs.js +111 -0
  618. package/lib/Textarea/docs/Textarea__default.docs.js +105 -0
  619. package/lib/Textarea/docs/Textarea__disabled.docs.js +58 -0
  620. package/lib/Textarea/props/defaultProps.js +23 -0
  621. package/lib/Textarea/props/propTypes.js +39 -0
  622. package/lib/Tooltip/Tooltip.js +516 -0
  623. package/lib/Tooltip/Tooltip.module.css +109 -0
  624. package/lib/Tooltip/__tests__/Tooltip.spec.js +75 -0
  625. package/lib/Tooltip/docs/Tooltip__default.docs.js +402 -0
  626. package/lib/Tooltip/props/defaultProps.js +11 -0
  627. package/lib/Tooltip/props/propTypes.js +16 -0
  628. package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +100 -0
  629. package/lib/VelocityAnimation/VelocityAnimation/docs/VelocityAnimation__demo.docs.js +123 -0
  630. package/lib/VelocityAnimation/VelocityAnimation/props/defaultProps.js +14 -0
  631. package/lib/VelocityAnimation/VelocityAnimation/props/propTypes.js +20 -0
  632. package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +131 -0
  633. package/lib/VelocityAnimation/VelocityAnimationGroup/docs/VelocityAnimationGroup__demo.docs.js +174 -0
  634. package/lib/VelocityAnimation/VelocityAnimationGroup/props/defaultProps.js +22 -0
  635. package/lib/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +27 -0
  636. package/lib/common/animation.module.css +624 -0
  637. package/lib/common/avatarsizes.module.css +45 -0
  638. package/lib/common/basic.module.css +33 -0
  639. package/lib/common/basicReset.module.css +40 -0
  640. package/lib/common/common.module.css +525 -0
  641. package/lib/common/customscroll.module.css +89 -0
  642. package/lib/common/docStyle.module.css +766 -0
  643. package/lib/common/reset.module.css +12 -0
  644. package/lib/common/transition.module.css +146 -0
  645. package/lib/css.js +42 -0
  646. package/lib/deprecated/AdvancedMultiSelect.module.css +127 -0
  647. package/lib/deprecated/PortalLayer/PortalLayer.js +126 -0
  648. package/lib/deprecated/PortalLayer/docs/PortalLayer__default.docs.js +111 -0
  649. package/lib/deprecated/PortalLayer/props/defaultProps.js +12 -0
  650. package/lib/deprecated/PortalLayer/props/propTypes.js +19 -0
  651. package/lib/deprecated/advancedMultiSelectVariableJson.js +82 -0
  652. package/lib/index.js +1245 -0
  653. package/lib/semantic/Button/Button.js +81 -0
  654. package/lib/semantic/Button/docs/Button__default.docs.js +43 -0
  655. package/lib/semantic/Button/props/defaultProps.js +19 -0
  656. package/lib/semantic/Button/props/propTypes.js +34 -0
  657. package/lib/semantic/Button/semanticButton.module.css +9 -0
  658. package/lib/utils/Common.js +391 -0
  659. package/lib/utils/ContextOptimizer.js +43 -0
  660. package/lib/utils/__tests__/constructFullName.spec.js +11 -0
  661. package/lib/utils/__tests__/debounce.spec.js +39 -0
  662. package/lib/utils/__tests__/getInitial.spec.js +25 -0
  663. package/lib/utils/constant.js +10 -0
  664. package/lib/utils/constructFullName.js +25 -0
  665. package/lib/utils/datetime/common.js +206 -0
  666. package/lib/utils/debounce.js +25 -0
  667. package/lib/utils/dropDownUtils.js +491 -0
  668. package/lib/utils/dummyFunction.js +8 -0
  669. package/lib/utils/getHTMLFontSize.js +10 -0
  670. package/lib/utils/getInitial.js +27 -0
  671. package/lib/utils/scrollTo.js +20 -0
  672. package/lib/utils/shallowEqual.js +33 -0
  673. package/package.json +1 -1
@@ -2,8 +2,8 @@
2
2
  import React from 'react';
3
3
  import { MultiSelect_propTypes } from './props/propTypes';
4
4
  import { MultiSelect_defaultProps } from './props/defaultProps';
5
- /**** Components ****/
6
5
 
6
+ /**** Components ****/
7
7
  import Popup from '../Popup/Popup';
8
8
  import TextBoxIcon from '../TextBoxIcon/TextBoxIcon';
9
9
  import { Container, Box } from '../Layout';
@@ -16,19 +16,18 @@ import CssProvider from '../Provider/CssProvider';
16
16
  import { getUniqueId } from '../Provider/IdProvider';
17
17
  import ResponsiveDropBox from '../ResponsiveDropBox/ResponsiveDropBox';
18
18
  import { ResponsiveReceiver } from '../Responsive/CustomResponsive';
19
+ import Loader from '@zohodesk/svg/lib/Loader/Loader';
19
20
  /**** Icons ****/
20
-
21
21
  import Icon from '@zohodesk/icons/lib/Icon';
22
22
  /**** CSS ****/
23
-
24
23
  import style from './MultiSelect.module.css';
25
- /**** Methods ****/
26
24
 
27
- import { debounce, scrollTo, bind, getIsEmptyValue, getSearchString } from '../utils/Common.js';
25
+ /**** Methods ****/
26
+ import { debounce, scrollTo, bind, getIsEmptyValue, getSearchString, findScrollEnd } from '../utils/Common.js';
28
27
  import { makeFormatOptions, makeGetMultiSelectFilterSuggestions as makeGetFilterSuggestions, makeGetMultiSelectSelectedOptions as makeGetSelectedOptions, makeObjectConcat, filterSelectedOptions, makeGetIsShowClearIcon } from '../utils/dropDownUtils';
29
28
  import { getLibraryConfig } from '../Provider/Config';
30
- /* eslint-disable react/forbid-component-props */
31
29
 
30
+ /* eslint-disable react/forbid-component-props */
32
31
  /* eslint-disable react/no-unused-prop-types */
33
32
 
34
33
  const dummyArray = [];
@@ -39,8 +38,9 @@ export class MultiSelectComponent extends React.Component {
39
38
  this.getFilterSuggestions = makeGetFilterSuggestions();
40
39
  this.formatOptions = makeFormatOptions();
41
40
  this.getSelectedOptions = makeGetSelectedOptions();
42
- this.getIsShowClearIcon = makeGetIsShowClearIcon(); //Use in AdvancedMultiSelect component
41
+ this.getIsShowClearIcon = makeGetIsShowClearIcon();
43
42
 
43
+ //Use in AdvancedMultiSelect component
44
44
  this.objectConcat = makeObjectConcat();
45
45
  this.formatSelectedOptions = makeFormatOptions();
46
46
  const {
@@ -78,11 +78,11 @@ export class MultiSelectComponent extends React.Component {
78
78
  this.handleScroll = this.handleScroll.bind(this);
79
79
  this.handleScrollFuncCall = debounce(this.handleScrollFuncCall.bind(this), 500);
80
80
  }
81
-
82
81
  componentDidMount() {
83
82
  // let { suggestionContainer } = this;
84
83
  this._isMounted = true;
85
- this.handleExposedPublicMethods(); // suggestionContainer &&
84
+ this.handleExposedPublicMethods();
85
+ // suggestionContainer &&
86
86
  // suggestionContainer.addEventListener('scroll', this.handleScroll);
87
87
  }
88
88
 
@@ -95,7 +95,6 @@ export class MultiSelectComponent extends React.Component {
95
95
  prefixText
96
96
  } = nextProps;
97
97
  const oldProps = this.props;
98
-
99
98
  if (selectedOptions !== oldProps.selectedOptions || options !== oldProps.options || valueField !== oldProps.valueField || textField !== oldProps.textField || prefixText !== oldProps.prefixText //For GroupMultiSelect component
100
99
  ) {
101
100
  const {
@@ -134,7 +133,6 @@ export class MultiSelectComponent extends React.Component {
134
133
  });
135
134
  }
136
135
  }
137
-
138
136
  componentDidUpdate(prevProps, prevState) {
139
137
  const {
140
138
  suggestionContainer,
@@ -153,11 +151,11 @@ export class MultiSelectComponent extends React.Component {
153
151
  onDropBoxClose,
154
152
  onDropBoxOpen,
155
153
  isSearchClearOnClose
156
- } = this.props; //handle dropbox open & close
154
+ } = this.props;
157
155
 
156
+ //handle dropbox open & close
158
157
  if (prevProps.isPopupOpen !== isPopupOpen) {
159
158
  isPopupOpen && onDropBoxOpen && this.handleFetchOptions(onDropBoxOpen, searchStr);
160
-
161
159
  if (!isPopupOpen) {
162
160
  this.setState({
163
161
  hoverOption: 0
@@ -165,42 +163,41 @@ export class MultiSelectComponent extends React.Component {
165
163
  isSearchClearOnClose && searchStr && this.handleSearch('');
166
164
  onDropBoxClose && onDropBoxClose();
167
165
  }
168
- } //scrollTo handling
169
-
166
+ }
170
167
 
168
+ //scrollTo handling
171
169
  const hoverId = suggestionsOrder[hoverOption] || '';
172
170
  const selectedSuggestion = this[`suggestion_${hoverId}`];
173
171
  const lastHighLightedSelectOption = highLightedSelectOptions.slice(-1).length ? highLightedSelectOptions.slice(-1)[0] : null;
174
172
  const selectedOption = this[`selectedOption_${lastHighLightedSelectOption}`];
175
173
  isPopupOpen && scrollTo(suggestionContainer, selectedSuggestion);
176
- selectedOptions.length && selectedOption && scrollTo(selectedOptionContainer, selectedOption); //When suggestions length less than 5, getNextOptions function call
174
+ selectedOptions.length && selectedOption && scrollTo(selectedOptionContainer, selectedOption);
177
175
 
176
+ //When suggestions length less than 5, getNextOptions function call
178
177
  const {
179
178
  isNextOptions,
180
179
  getNextOptions
181
- } = this.props; // let { searchStr } = this.state;
182
-
180
+ } = this.props;
181
+ // let { searchStr } = this.state;
183
182
  const suggestions = this.handleFilterSuggestions();
184
183
  const suggestionsLen = suggestions.length;
185
-
186
184
  if (isPopupOpen && suggestionsLen <= 5 && isNextOptions && getNextOptions && !needLocalSearch) {
187
185
  this.handleFetchOptions(getNextOptions, searchStr);
188
- } //Need To MultiselectNew Component
189
-
186
+ }
190
187
 
188
+ //Need To MultiselectNew Component
191
189
  this.handleComponentDidUpdate(prevProps, prevState);
192
190
  }
193
-
194
191
  componentWillUnmount() {
195
192
  // let { suggestionContainer } = this;
196
- this._isMounted = false; // suggestionContainer &&
193
+ this._isMounted = false;
194
+ // suggestionContainer &&
197
195
  // suggestionContainer.removeEventListener('scroll', this.handleScroll);
198
196
  }
199
197
 
200
198
  handleComponentDidUpdate() {
201
199
  return;
202
200
  }
203
-
204
201
  handleFormatOptions(props) {
205
202
  const {
206
203
  options,
@@ -218,14 +215,12 @@ export class MultiSelectComponent extends React.Component {
218
215
  disabledOptions
219
216
  });
220
217
  }
221
-
222
218
  handleGetSelectedOptions(selectedOptions, normalizedFormatOptions) {
223
219
  return this.getSelectedOptions({
224
220
  selectedOptions,
225
221
  normalizedFormatOptions
226
222
  });
227
223
  }
228
-
229
224
  handleInputCick(e) {
230
225
  const {
231
226
  removeClose
@@ -234,7 +229,6 @@ export class MultiSelectComponent extends React.Component {
234
229
  highLightedSelectOptions,
235
230
  searchStr = ''
236
231
  } = this.state;
237
-
238
232
  if (highLightedSelectOptions.length) {
239
233
  this.setState({
240
234
  highLightedSelectOptions: [],
@@ -248,7 +242,6 @@ export class MultiSelectComponent extends React.Component {
248
242
  this.togglePopup(e);
249
243
  }
250
244
  }
251
-
252
245
  handleFilterSuggestions() {
253
246
  const {
254
247
  options = dummyArray,
@@ -270,7 +263,6 @@ export class MultiSelectComponent extends React.Component {
270
263
  this.suggestionsOrder = suggestionIds;
271
264
  return suggestions;
272
265
  }
273
-
274
266
  handleKeyDown(e) {
275
267
  const {
276
268
  keyCode,
@@ -295,27 +287,20 @@ export class MultiSelectComponent extends React.Component {
295
287
  onKeyDown
296
288
  } = this.props;
297
289
  const highLightedSelectOptionsLen = highLightedSelectOptions.length;
298
-
299
290
  if (isPopupOpen && (keyCode === 38 || keyCode === 40 || keyCode === 13 || keyCode === 27 || keyCode === 9)) {
300
291
  suggestions = this.handleFilterSuggestions();
301
292
  }
302
-
303
293
  if (!isPopupOpen && !isPopupOpenOnEnter) {
304
294
  onKeyDown && onKeyDown(e);
305
295
  }
306
-
307
296
  if (!isPopupOpen && keyCode === 40) {
308
297
  //down arrow press popup open
309
298
  e.preventDefault(); //prevent body scroll
310
-
311
299
  this.togglePopup(e);
312
300
  }
313
-
314
301
  const suggestionsLen = suggestions.length;
315
-
316
302
  if (suggestionsLen && isPopupOpen && keyCode === 38) {
317
303
  //up arrow
318
-
319
304
  /*if (hoverOption === 0) { //disable first to last option higlight
320
305
  !isNextOptions && this.setState({ hoverOption: suggestionsLen - 1 });
321
306
  }*/
@@ -326,7 +311,6 @@ export class MultiSelectComponent extends React.Component {
326
311
  }
327
312
  } else if (suggestionsLen && isPopupOpen && keyCode === 40) {
328
313
  //down arrow
329
-
330
314
  /*else if (hoverOption === suggestionsLen - 1 || hoverOption === null) {
331
315
  //disable last to first option higlight
332
316
  !isNextOptions && this.setState({ hoverOption: 0 });
@@ -354,7 +338,8 @@ export class MultiSelectComponent extends React.Component {
354
338
  if (highLightedSelectOptionsLen) {
355
339
  this.handleRemoveOption(highLightedSelectOptions);
356
340
  } else {
357
- this.handleRemoveOption(selectedOptions.slice(-1)); // this.setState({
341
+ this.handleRemoveOption(selectedOptions.slice(-1));
342
+ // this.setState({
358
343
  // highLightedSelectOptions: selectedOptions.slice(-1)
359
344
  // });
360
345
  }
@@ -369,7 +354,6 @@ export class MultiSelectComponent extends React.Component {
369
354
  const lastHighLightedSelectOptionIndex = lastHighLightedSelectOption && selectedOptions.indexOf(lastHighLightedSelectOption) >= 0 ? selectedOptions.indexOf(lastHighLightedSelectOption) : 0;
370
355
  const newShiftKeyPressHighLighted = shiftKeyPressHighLighted ? shiftKeyPressHighLighted : shiftKeyPressHighLighted + 1;
371
356
  const newHighLightedSelectOption = lastHighLightedSelectOptionIndex !== null ? selectedOptions[lastHighLightedSelectOptionIndex + newShiftKeyPressHighLighted] : selectedOptions[0];
372
-
373
357
  if (!getIsEmptyValue(newHighLightedSelectOption)) {
374
358
  const newLastHighLightedSelectOption = lastHighLightedSelectOption ? lastHighLightedSelectOption : selectedOptions[0];
375
359
  highLightedSelectOptions = !shiftKeyPressHighLighted ? [newLastHighLightedSelectOption] : highLightedSelectOptions;
@@ -386,7 +370,6 @@ export class MultiSelectComponent extends React.Component {
386
370
  const lastHighLightedSelectOptionIndex = lastHighLightedSelectOption ? selectedOptions.indexOf(lastHighLightedSelectOption) : selectedOptions.length - 1;
387
371
  const newShiftKeyPressHighLighted = shiftKeyPressHighLighted !== 1 ? shiftKeyPressHighLighted : shiftKeyPressHighLighted - 1;
388
372
  const newHighLightedSelectOption = selectedOptions[lastHighLightedSelectOptionIndex + newShiftKeyPressHighLighted - 1];
389
-
390
373
  if (!getIsEmptyValue(newHighLightedSelectOption)) {
391
374
  const newLastHighLightedSelectOption = lastHighLightedSelectOption ? lastHighLightedSelectOption : selectedOptions.slice(-1)[0];
392
375
  highLightedSelectOptions = !shiftKeyPressHighLighted ? [newLastHighLightedSelectOption] : highLightedSelectOptions;
@@ -399,15 +382,14 @@ export class MultiSelectComponent extends React.Component {
399
382
  });
400
383
  }
401
384
  } else if ((keyCode === 39 || keyCode === 37) && selectedOptions.length && !searchStr.length) {
402
- const isRightArrow = keyCode === 39 ? true : false; // let isLefttArrow = keyCode === 37 ? true : false;
403
-
385
+ const isRightArrow = keyCode === 39 ? true : false;
386
+ // let isLefttArrow = keyCode === 37 ? true : false;
404
387
  if (highLightedSelectOptions.length) {
405
388
  const [lastHighLightedSelectOption] = highLightedSelectOptions.slice(-1);
406
389
  const lastHighLightedSelectOptionIndex = selectedOptions.indexOf(lastHighLightedSelectOption);
407
390
  const newLastHighLightedSelectOptionIndex = isRightArrow ? lastHighLightedSelectOptionIndex === selectedOptions.length - 1 ? lastHighLightedSelectOptionIndex : lastHighLightedSelectOptionIndex + 1 : lastHighLightedSelectOptionIndex - 1;
408
391
  const newLastHighLightedSelectOption = selectedOptions[newLastHighLightedSelectOptionIndex];
409
392
  const isEmptyHighlighted = isRightArrow && highLightedSelectOptions.length === 1 && selectedOptions.slice(-1)[0] === lastHighLightedSelectOption ? true : false;
410
-
411
393
  if (!getIsEmptyValue(newLastHighLightedSelectOption)) {
412
394
  this.setState({
413
395
  lastHighLightedSelectOption: isEmptyHighlighted ? '' : newLastHighLightedSelectOption,
@@ -423,12 +405,12 @@ export class MultiSelectComponent extends React.Component {
423
405
  shiftKeyPressHighLighted: 0
424
406
  });
425
407
  }
426
- } else if (keyCode === 27) {// this.handlePopupClose(e);
408
+ } else if (keyCode === 27) {
409
+ // this.handlePopupClose(e);
427
410
  } else if (keyCode === 9) {
428
411
  this.handlePopupClose(e);
429
412
  }
430
413
  }
431
-
432
414
  handleSelectAll(e) {
433
415
  e && e.preventDefault();
434
416
  const suggestions = this.handleFilterSuggestions();
@@ -440,12 +422,12 @@ export class MultiSelectComponent extends React.Component {
440
422
  const {
441
423
  id
442
424
  } = option;
443
-
444
425
  if (selectedOptions.indexOf(id) === -1) {
445
426
  newSelectedOptions.push(id);
446
427
  }
447
428
  });
448
- this.handleChange([...selectedOptions, ...newSelectedOptions]); // this.handlePopupClose(e);
429
+ this.handleChange([...selectedOptions, ...newSelectedOptions]);
430
+ // this.handlePopupClose(e);
449
431
  }
450
432
 
451
433
  handleDeselectAll(e) {
@@ -456,18 +438,15 @@ export class MultiSelectComponent extends React.Component {
456
438
  const {
457
439
  highLightedSelectOptions
458
440
  } = this.state;
459
-
460
441
  if (highLightedSelectOptions.length) {
461
442
  this.setState({
462
443
  highLightedSelectOptions: [],
463
444
  lastHighLightedSelectOption: ''
464
445
  });
465
446
  }
466
-
467
447
  removeClose(e);
468
448
  this.handleChange([]);
469
449
  }
470
-
471
450
  handleSelectOption(option, value, index, e) {
472
451
  const {
473
452
  selectedOptions,
@@ -476,12 +455,11 @@ export class MultiSelectComponent extends React.Component {
476
455
  const {
477
456
  searchStr
478
457
  } = this.state;
479
-
480
458
  if (searchStr.trim() != '' && isSearchClearOnSelect) {
481
459
  this.handleSearch('');
482
460
  }
483
-
484
- this.handleChange([...selectedOptions, option], e); // e && e.stopPropagation && this.handlePopupClose(e);
461
+ this.handleChange([...selectedOptions, option], e);
462
+ // e && e.stopPropagation && this.handlePopupClose(e);
485
463
  }
486
464
 
487
465
  handleRemoveOption(options) {
@@ -495,22 +473,18 @@ export class MultiSelectComponent extends React.Component {
495
473
  lastHighLightedSelectOption,
496
474
  shiftKeyPressHighLighted
497
475
  } = this.state;
498
-
499
476
  if (newOptions.length && !isReadOnly) {
500
477
  const newSelectedOptions = selectedOptions.filter(option => newOptions.indexOf(option) === -1);
501
478
  const newHighLightedSelectOptions = highLightedSelectOptions.filter(option => newSelectedOptions.indexOf(option) >= 0);
502
479
  let isHighlightedRemoved = false;
503
480
  const newOptionsLen = newOptions.length;
504
-
505
481
  for (let i = 0; i < newOptionsLen; i++) {
506
482
  const removedOption = newOptions[i];
507
-
508
483
  if (highLightedSelectOptions.indexOf(removedOption) >= 0) {
509
484
  isHighlightedRemoved = true;
510
485
  break;
511
486
  }
512
487
  }
513
-
514
488
  this.setState({
515
489
  lastHighLightedSelectOption: newSelectedOptions.indexOf(lastHighLightedSelectOption) >= 0 && !isHighlightedRemoved ? lastHighLightedSelectOption : '',
516
490
  highLightedSelectOptions: isHighlightedRemoved ? [] : newHighLightedSelectOptions,
@@ -518,12 +492,10 @@ export class MultiSelectComponent extends React.Component {
518
492
  });
519
493
  this.handleChange(newSelectedOptions);
520
494
  }
521
-
522
495
  this.searchInput && this.searchInput.focus({
523
496
  preventScroll: true
524
497
  });
525
498
  }
526
-
527
499
  handleMouseEnter(id, val, hoverOptionIndex, e) {
528
500
  e && e.preventDefault();
529
501
  const {
@@ -533,19 +505,16 @@ export class MultiSelectComponent extends React.Component {
533
505
  suggestionsOrder
534
506
  } = this;
535
507
  const newHoverIndex = suggestionsOrder.indexOf(id);
536
-
537
508
  if (newHoverIndex !== hoverOption) {
538
509
  this.setState({
539
510
  hoverOption: newHoverIndex
540
511
  });
541
512
  }
542
513
  }
543
-
544
514
  handleFetchOptions() {
545
515
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
546
516
  args[_key] = arguments[_key];
547
517
  }
548
-
549
518
  const [APICall, searchStr] = args;
550
519
  const {
551
520
  isFetchingOptions
@@ -554,12 +523,10 @@ export class MultiSelectComponent extends React.Component {
554
523
  _isMounted
555
524
  } = this;
556
525
  const isForce = isFetchingOptions && searchStr ? true : false;
557
-
558
526
  if (!isFetchingOptions && APICall || isForce) {
559
527
  this.setState({
560
528
  isFetchingOptions: true
561
529
  });
562
-
563
530
  try {
564
531
  return APICall(searchStr).then(() => {
565
532
  _isMounted && this.setState({
@@ -577,7 +544,6 @@ export class MultiSelectComponent extends React.Component {
577
544
  }
578
545
  }
579
546
  }
580
-
581
547
  handleSearchOptions() {
582
548
  const {
583
549
  onSearch
@@ -587,7 +553,6 @@ export class MultiSelectComponent extends React.Component {
587
553
  } = this.state;
588
554
  searchStr && this.handleFetchOptions(onSearch, searchStr);
589
555
  }
590
-
591
556
  handleSearch(value, e) {
592
557
  const {
593
558
  onSearch,
@@ -610,7 +575,6 @@ export class MultiSelectComponent extends React.Component {
610
575
  }
611
576
  });
612
577
  }
613
-
614
578
  handleClickSelectedOption() {
615
579
  let id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
616
580
  let e = arguments.length > 1 ? arguments[1] : undefined;
@@ -626,16 +590,13 @@ export class MultiSelectComponent extends React.Component {
626
590
  ctrlKey,
627
591
  shiftKey
628
592
  } = e;
629
-
630
593
  if (e && shiftKey) {
631
594
  //shift+click
632
595
  let from = selectedOptions.indexOf(lastHighLightedSelectOption) >= 0 ? selectedOptions.indexOf(lastHighLightedSelectOption) : 0;
633
596
  let to = id && selectedOptions.indexOf(id) >= 0 ? selectedOptions.indexOf(id) : null;
634
-
635
597
  if (to >= 0 && to < from) {
636
598
  [to] = [from, from = to];
637
599
  }
638
-
639
600
  to += 1;
640
601
  const newSelectedHighlights = to ? selectedOptions.slice(from, to) : [];
641
602
  to && this.setState({
@@ -646,7 +607,6 @@ export class MultiSelectComponent extends React.Component {
646
607
  //ctrl+click
647
608
  const isRemove = highLightedSelectOptions.indexOf(id) >= 0;
648
609
  let newSelectedHighlights = [];
649
-
650
610
  if (isRemove) {
651
611
  lastHighLightedSelectOption = id === lastHighLightedSelectOption ? '' : lastHighLightedSelectOption;
652
612
  newSelectedHighlights = highLightedSelectOptions.filter(option => option !== id);
@@ -654,7 +614,6 @@ export class MultiSelectComponent extends React.Component {
654
614
  lastHighLightedSelectOption = id;
655
615
  newSelectedHighlights = [...highLightedSelectOptions, id];
656
616
  }
657
-
658
617
  this.setState({
659
618
  highLightedSelectOptions: newSelectedHighlights,
660
619
  lastHighLightedSelectOption
@@ -665,7 +624,6 @@ export class MultiSelectComponent extends React.Component {
665
624
  lastHighLightedSelectOption: id
666
625
  });
667
626
  }
668
-
669
627
  this.setState({
670
628
  shiftKeyPressHighLighted: 0
671
629
  });
@@ -673,27 +631,21 @@ export class MultiSelectComponent extends React.Component {
673
631
  preventScroll: true
674
632
  });
675
633
  }
676
-
677
634
  handleScroll(e) {
678
- const {
679
- isNextOptions
680
- } = this.props;
681
-
682
- if (e.target.scrollTop + e.target.offsetHeight > e.target.scrollHeight - 1 && isNextOptions) {
683
- this.handleScrollFuncCall();
684
- }
635
+ let ele = e.target;
636
+ let isScrollReachedBottom = findScrollEnd(ele);
637
+ isScrollReachedBottom && this.handleScrollFuncCall();
685
638
  }
686
-
687
639
  handleScrollFuncCall() {
688
640
  const {
689
- getNextOptions
641
+ getNextOptions,
642
+ isNextOptions
690
643
  } = this.props;
691
644
  const {
692
645
  searchStr
693
646
  } = this.state;
694
- getNextOptions && getNextOptions(searchStr);
647
+ isNextOptions && getNextOptions && this.handleFetchOptions(getNextOptions, searchStr);
695
648
  }
696
-
697
649
  handleChange() {
698
650
  let selectedOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
699
651
  let e = arguments.length > 1 ? arguments[1] : undefined;
@@ -716,23 +668,19 @@ export class MultiSelectComponent extends React.Component {
716
668
  });
717
669
  const selectedOptionsLen = newSelectedOptions.length;
718
670
  const allSelectedOptionsDetails = [];
719
-
720
671
  for (let i = 0; i < selectedOptionsLen; i++) {
721
672
  const id = newSelectedOptions[i];
722
673
  allSelectedOptionsDetails.push(optionsNormalize[id]);
723
674
  }
724
-
725
- onChange && onChange(newSelectedOptions, allSelectedOptionsDetails); // this.setState({ searchStr: '' });
726
-
675
+ onChange && onChange(newSelectedOptions, allSelectedOptionsDetails);
676
+ // this.setState({ searchStr: '' });
727
677
  this.searchInput && this.searchInput.focus({
728
678
  preventScroll: true
729
679
  });
730
-
731
680
  if (needToCloseOnSelect) {
732
681
  togglePopup(e);
733
682
  }
734
683
  }
735
-
736
684
  togglePopup(e) {
737
685
  const {
738
686
  togglePopup,
@@ -741,14 +689,12 @@ export class MultiSelectComponent extends React.Component {
741
689
  } = this.props;
742
690
  !isReadOnly && togglePopup(e, defaultDropBoxPosition ? `${defaultDropBoxPosition}` : null);
743
691
  }
744
-
745
692
  handlePopupClose(e) {
746
693
  const {
747
694
  closePopupOnly
748
695
  } = this.props;
749
696
  closePopupOnly(e);
750
697
  }
751
-
752
698
  searchInputRef(el) {
753
699
  const {
754
700
  getRef
@@ -756,7 +702,6 @@ export class MultiSelectComponent extends React.Component {
756
702
  this.searchInput = el;
757
703
  getRef && getRef(el);
758
704
  }
759
-
760
705
  selectedOptionContainerRef(el) {
761
706
  const {
762
707
  getTargetRef
@@ -764,31 +709,25 @@ export class MultiSelectComponent extends React.Component {
764
709
  this.selectedOptionContainer = el;
765
710
  getTargetRef(el);
766
711
  }
767
-
768
712
  selectedOptionRef(el, id) {
769
713
  this[`selectedOption_${id}`] = el;
770
714
  }
771
-
772
715
  suggestionContainerRef(el) {
773
716
  this.suggestionContainer = el;
774
717
  }
775
-
776
718
  suggestionItemRef(el, index, id) {
777
719
  this[`suggestion_${id}`] = el;
778
720
  }
779
-
780
721
  handleActive(e) {
781
722
  const {
782
723
  searchStr,
783
724
  isActive
784
725
  } = this.state;
785
-
786
726
  if (!isActive) {
787
727
  this.setState({
788
728
  isActive: true
789
729
  });
790
730
  }
791
-
792
731
  const {
793
732
  target
794
733
  } = e || {};
@@ -798,19 +737,16 @@ export class MultiSelectComponent extends React.Component {
798
737
  } = this.props;
799
738
  onFocus && onFocus(searchStr);
800
739
  }
801
-
802
740
  handleInactive() {
803
741
  const {
804
742
  isActive
805
743
  } = this.state;
806
-
807
744
  if (isActive) {
808
745
  this.setState({
809
746
  isActive: false
810
747
  });
811
748
  }
812
749
  }
813
-
814
750
  handleInputFocus() {
815
751
  const {
816
752
  isDisabled,
@@ -820,7 +756,6 @@ export class MultiSelectComponent extends React.Component {
820
756
  preventScroll: true
821
757
  });
822
758
  }
823
-
824
759
  handleExposedPublicMethods() {
825
760
  const {
826
761
  getPublicMethods,
@@ -830,7 +765,6 @@ export class MultiSelectComponent extends React.Component {
830
765
  openPopupOnly
831
766
  });
832
767
  }
833
-
834
768
  responsiveFunc(_ref) {
835
769
  let {
836
770
  mediaQueryOR
@@ -841,7 +775,6 @@ export class MultiSelectComponent extends React.Component {
841
775
  }])
842
776
  };
843
777
  }
844
-
845
778
  render() {
846
779
  let {
847
780
  isReadOnly,
@@ -884,7 +817,8 @@ export class MultiSelectComponent extends React.Component {
884
817
  needEffect,
885
818
  disabledOptions,
886
819
  boxSize,
887
- autoComplete
820
+ autoComplete,
821
+ isLoading
888
822
  } = this.props;
889
823
  const {
890
824
  clearText = 'Clear all',
@@ -1029,7 +963,10 @@ export class MultiSelectComponent extends React.Component {
1029
963
  selectAllText: selectAllText,
1030
964
  suggestions: suggestions,
1031
965
  dataId: dataId
1032
- })), /*#__PURE__*/React.createElement(CardContent, {
966
+ })), isLoading ? /*#__PURE__*/React.createElement(Container, {
967
+ align: "both",
968
+ className: style.loader
969
+ }, /*#__PURE__*/React.createElement(Loader, null)) : /*#__PURE__*/React.createElement(CardContent, {
1033
970
  shrink: true,
1034
971
  customClass: !tabletMode && dropBoxSize ? style[dropBoxSize] : '',
1035
972
  eleRef: this.suggestionContainerRef
@@ -1056,21 +993,21 @@ export class MultiSelectComponent extends React.Component {
1056
993
  palette: palette,
1057
994
  i18nKeys: i18nKeys,
1058
995
  htmlId: ariaErrorId
1059
- })), getFooter ? /*#__PURE__*/React.createElement(CardFooter, null, getFooter()) : null)));
996
+ }), isFetchingOptions && /*#__PURE__*/React.createElement(Container, {
997
+ isCover: false,
998
+ align: "both"
999
+ }, /*#__PURE__*/React.createElement(Loader, null))), getFooter ? /*#__PURE__*/React.createElement(CardFooter, null, getFooter()) : null)));
1060
1000
  }) : null);
1061
1001
  }
1062
-
1063
1002
  }
1064
1003
  MultiSelectComponent.propTypes = MultiSelect_propTypes;
1065
1004
  MultiSelectComponent.defaultProps = MultiSelect_defaultProps;
1066
-
1067
1005
  if (false) {
1068
1006
  MultiSelectComponent.docs = {
1069
1007
  componentGroup: 'Form Elements',
1070
1008
  folderName: 'Style Guide'
1071
1009
  };
1072
1010
  }
1073
-
1074
1011
  MultiSelectComponent.displayName = 'MultiSelect';
1075
1012
  const MultiSelect = Popup(MultiSelectComponent);
1076
1013
  MultiSelect.propTypes = MultiSelectComponent.propTypes;