@zohodesk/components 1.0.0-alpha-250 → 1.0.0-alpha-253

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 (553) hide show
  1. package/README.md +24 -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/Animation/Animation.js +0 -3
  8. package/es/AppContainer/AppContainer.js +2 -13
  9. package/es/Avatar/Avatar.js +9 -22
  10. package/es/AvatarTeam/AvatarTeam.js +0 -3
  11. package/es/Button/Button.js +0 -4
  12. package/es/Buttongroup/Buttongroup.js +0 -3
  13. package/es/Card/Card.js +7 -22
  14. package/es/Card/props/defaultProps.js +0 -1
  15. package/es/Card/props/propTypes.js +2 -2
  16. package/es/CheckBox/CheckBox.js +0 -5
  17. package/es/DateTime/CalendarView.js +30 -36
  18. package/es/DateTime/DateTime.js +22 -77
  19. package/es/DateTime/DateTime.module.css +51 -5
  20. package/es/DateTime/DateTimePopupFooter.js +2 -4
  21. package/es/DateTime/DateTimePopupHeader.js +23 -16
  22. package/es/DateTime/DateWidget.js +38 -103
  23. package/es/DateTime/DaysRow.js +4 -5
  24. package/es/DateTime/Time.js +2 -10
  25. package/es/DateTime/YearView.js +16 -32
  26. package/es/DateTime/YearView.module.css +19 -1
  27. package/es/DateTime/__tests__/CalendarView.spec.js +0 -1
  28. package/es/DateTime/__tests__/DateTime.spec.js +0 -1
  29. package/es/DateTime/__tests__/DateWidget.spec.js +3 -2
  30. package/es/DateTime/common.js +0 -3
  31. package/es/DateTime/constants.js +0 -1
  32. package/es/DateTime/dateFormatUtils/dateFormat.js +30 -63
  33. package/es/DateTime/dateFormatUtils/dayChange.js +4 -13
  34. package/es/DateTime/dateFormatUtils/index.js +2 -28
  35. package/es/DateTime/dateFormatUtils/monthChange.js +0 -8
  36. package/es/DateTime/dateFormatUtils/timeChange.js +6 -22
  37. package/es/DateTime/dateFormatUtils/yearChange.js +2 -11
  38. package/es/DateTime/objectUtils.js +20 -14
  39. package/es/DateTime/props/propTypes.js +4 -2
  40. package/es/DateTime/typeChecker.js +0 -3
  41. package/es/DateTime/validator.js +6 -58
  42. package/es/DropBox/DropBox.js +5 -28
  43. package/es/DropDown/DropDown.js +1 -9
  44. package/es/DropDown/DropDownHeading.js +5 -5
  45. package/es/DropDown/DropDownItem.js +0 -6
  46. package/es/DropDown/DropDownSearch.js +0 -4
  47. package/es/DropDown/DropDownSeparator.js +0 -1
  48. package/es/DropDown/__tests__/DropDown.spec.js +2 -1
  49. package/es/DropDown/props/propTypes.js +2 -1
  50. package/es/Heading/Heading.js +0 -2
  51. package/es/Heading/Heading.module.css +3 -3
  52. package/es/Label/Label.js +4 -4
  53. package/es/Layout/Box.js +0 -13
  54. package/es/Layout/Container.js +1 -12
  55. package/es/Layout/props/propTypes.js +3 -3
  56. package/es/ListItem/ListContainer.js +4 -10
  57. package/es/ListItem/ListItem.js +0 -9
  58. package/es/ListItem/ListItemWithAvatar.js +1 -9
  59. package/es/ListItem/ListItemWithCheckBox.js +0 -7
  60. package/es/ListItem/ListItemWithIcon.js +0 -8
  61. package/es/ListItem/ListItemWithRadio.js +0 -7
  62. package/es/Modal/Modal.js +8 -28
  63. package/es/MultiSelect/AdvancedGroupMultiSelect.js +11 -90
  64. package/es/MultiSelect/AdvancedMultiSelect.js +21 -39
  65. package/es/MultiSelect/EmptyState.js +0 -2
  66. package/es/MultiSelect/MultiSelect.js +53 -114
  67. package/es/MultiSelect/MultiSelectHeader.js +0 -3
  68. package/es/MultiSelect/MultiSelectWithAvatar.js +16 -17
  69. package/es/MultiSelect/SelectedOptions.js +3 -6
  70. package/es/MultiSelect/Suggestions.js +5 -8
  71. package/es/MultiSelect/__tests__/MultiSelect.spec.js +6 -4
  72. package/es/MultiSelect/props/defaultProps.js +8 -4
  73. package/es/MultiSelect/props/propTypes.js +8 -6
  74. package/es/PopOver/PopOver.js +0 -18
  75. package/es/PopOver/__tests__/PopOver.spec.js +1 -2
  76. package/es/Popup/Popup.js +24 -77
  77. package/es/Popup/__tests__/Popup.spec.js +5 -17
  78. package/es/Popup/viewPort.js +4 -16
  79. package/es/Provider/IdProvider.js +2 -9
  80. package/es/Provider/LibraryContext.js +4 -6
  81. package/es/Provider/NumberGenerator/NumberGenerator.js +7 -21
  82. package/es/Provider/ZindexProvider.js +2 -9
  83. package/es/Radio/Radio.js +0 -4
  84. package/es/Responsive/CustomResponsive.js +25 -31
  85. package/es/Responsive/RefWrapper.js +7 -6
  86. package/es/Responsive/ResizeComponent.js +25 -35
  87. package/es/Responsive/ResizeObserver.js +6 -26
  88. package/es/Responsive/Responsive.js +20 -34
  89. package/es/Responsive/sizeObservers.js +7 -28
  90. package/es/Responsive/utils/index.js +5 -7
  91. package/es/Responsive/utils/shallowCompare.js +2 -7
  92. package/es/Responsive/windowResizeObserver.js +0 -7
  93. package/es/ResponsiveDropBox/ResponsiveDropBox.js +0 -4
  94. package/es/Ribbon/Ribbon.js +0 -3
  95. package/es/RippleEffect/RippleEffect.js +0 -1
  96. package/es/Select/GroupSelect.js +28 -67
  97. package/es/Select/Select.js +54 -101
  98. package/es/Select/Select.module.css +3 -0
  99. package/es/Select/SelectWithAvatar.js +15 -24
  100. package/es/Select/SelectWithIcon.js +75 -54
  101. package/es/Select/__tests__/Select.spec.js +8 -6
  102. package/es/Select/props/defaultProps.js +8 -4
  103. package/es/Select/props/propTypes.js +8 -5
  104. package/es/Stencils/Stencils.js +0 -3
  105. package/es/Switch/Switch.js +0 -5
  106. package/es/Tab/Tab.js +1 -4
  107. package/es/Tab/TabContent.js +0 -1
  108. package/es/Tab/TabContentWrapper.js +0 -2
  109. package/es/Tab/TabWrapper.js +2 -5
  110. package/es/Tab/Tabs.js +16 -58
  111. package/es/Tab/Tabs.module.css +1 -1
  112. package/es/Tab/__tests__/Tab.spec.js +2 -1
  113. package/es/Tab/__tests__/TabWrapper.spec.js +0 -1
  114. package/es/Tag/Tag.js +1 -6
  115. package/es/TextBox/TextBox.js +0 -15
  116. package/es/TextBox/__tests__/TextBox.spec.js +4 -1
  117. package/es/TextBoxIcon/TextBoxIcon.js +0 -7
  118. package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +7 -2
  119. package/es/Textarea/Textarea.js +0 -12
  120. package/es/Textarea/__tests__/Textarea.spec.js +2 -2
  121. package/es/Tooltip/Tooltip.js +15 -59
  122. package/es/Tooltip/__tests__/Tooltip.spec.js +0 -5
  123. package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +0 -3
  124. package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +2 -7
  125. package/es/deprecated/PortalLayer/PortalLayer.js +17 -25
  126. package/es/index.js +108 -106
  127. package/es/semantic/Button/Button.js +0 -3
  128. package/es/utils/Common.js +23 -47
  129. package/es/utils/ContextOptimizer.js +5 -4
  130. package/es/utils/__tests__/debounce.spec.js +2 -2
  131. package/es/utils/constructFullName.js +0 -2
  132. package/es/utils/datetime/common.js +5 -16
  133. package/es/utils/debounce.js +1 -5
  134. package/es/utils/dropDownUtils.js +11 -67
  135. package/es/utils/getInitial.js +0 -4
  136. package/es/utils/shallowEqual.js +0 -6
  137. package/lib/Accordion/Accordion.js +10 -39
  138. package/lib/Accordion/AccordionItem.js +12 -38
  139. package/lib/Accordion/__tests__/Accordion.spec.js +0 -3
  140. package/lib/Accordion/index.js +0 -3
  141. package/lib/Accordion/props/propTypes.js +0 -3
  142. package/lib/Animation/Animation.js +12 -37
  143. package/lib/Animation/__tests__/Animation.spec.js +7 -11
  144. package/lib/Animation/props/propTypes.js +0 -3
  145. package/lib/AppContainer/AppContainer.js +14 -52
  146. package/lib/AppContainer/props/propTypes.js +0 -3
  147. package/lib/Avatar/Avatar.js +29 -72
  148. package/lib/Avatar/__tests__/Avatar.spec.js +0 -44
  149. package/lib/Avatar/props/propTypes.js +0 -3
  150. package/lib/AvatarTeam/AvatarTeam.js +20 -47
  151. package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +0 -13
  152. package/lib/AvatarTeam/props/propTypes.js +0 -3
  153. package/lib/Button/Button.js +19 -44
  154. package/lib/Button/__tests__/Button.spec.js +0 -40
  155. package/lib/Button/props/defaultProps.js +0 -2
  156. package/lib/Button/props/propTypes.js +0 -3
  157. package/lib/Buttongroup/Buttongroup.js +5 -31
  158. package/lib/Buttongroup/__test__/Buttongroup.spec.js +0 -10
  159. package/lib/Buttongroup/props/propTypes.js +0 -3
  160. package/lib/Card/Card.js +41 -102
  161. package/lib/Card/__tests__/Card.spec.js +1 -10
  162. package/lib/Card/index.js +0 -4
  163. package/lib/Card/props/defaultProps.js +0 -1
  164. package/lib/Card/props/propTypes.js +2 -5
  165. package/lib/CheckBox/CheckBox.js +40 -69
  166. package/lib/CheckBox/__tests__/CheckBox.spec.js +0 -3
  167. package/lib/CheckBox/props/propTypes.js +0 -3
  168. package/lib/DateTime/CalendarView.js +44 -81
  169. package/lib/DateTime/DateTime.js +164 -245
  170. package/lib/DateTime/DateTime.module.css +51 -5
  171. package/lib/DateTime/DateTimePopupFooter.js +5 -30
  172. package/lib/DateTime/DateTimePopupHeader.js +33 -52
  173. package/lib/DateTime/DateWidget.js +246 -350
  174. package/lib/DateTime/DaysRow.js +4 -27
  175. package/lib/DateTime/Time.js +29 -72
  176. package/lib/DateTime/YearView.js +37 -79
  177. package/lib/DateTime/YearView.module.css +19 -1
  178. package/lib/DateTime/__tests__/CalendarView.spec.js +5 -13
  179. package/lib/DateTime/__tests__/DateTime.spec.js +37 -51
  180. package/lib/DateTime/__tests__/DateWidget.spec.js +8 -10
  181. package/lib/DateTime/common.js +0 -6
  182. package/lib/DateTime/constants.js +0 -1
  183. package/lib/DateTime/dateFormatUtils/dateFormat.js +122 -184
  184. package/lib/DateTime/dateFormatUtils/dayChange.js +7 -14
  185. package/lib/DateTime/dateFormatUtils/index.js +12 -61
  186. package/lib/DateTime/dateFormatUtils/monthChange.js +9 -19
  187. package/lib/DateTime/dateFormatUtils/timeChange.js +20 -52
  188. package/lib/DateTime/dateFormatUtils/yearChange.js +11 -22
  189. package/lib/DateTime/index.js +0 -2
  190. package/lib/DateTime/objectUtils.js +20 -24
  191. package/lib/DateTime/props/propTypes.js +4 -5
  192. package/lib/DateTime/typeChecker.js +0 -4
  193. package/lib/DateTime/validator.js +6 -69
  194. package/lib/DropBox/DropBox.js +58 -119
  195. package/lib/DropBox/__tests__/DropBox.spec.js +2 -6
  196. package/lib/DropBox/props/propTypes.js +0 -3
  197. package/lib/DropDown/DropDown.js +3 -53
  198. package/lib/DropDown/DropDownHeading.js +13 -35
  199. package/lib/DropDown/DropDownItem.js +17 -41
  200. package/lib/DropDown/DropDownSearch.js +15 -41
  201. package/lib/DropDown/DropDownSeparator.js +1 -23
  202. package/lib/DropDown/__tests__/DropDown.spec.js +9 -15
  203. package/lib/DropDown/__tests__/DropDownItem.spec.js +4 -9
  204. package/lib/DropDown/__tests__/DropDownSearch.spec.js +0 -3
  205. package/lib/DropDown/props/propTypes.js +2 -6
  206. package/lib/Heading/Heading.js +8 -35
  207. package/lib/Heading/Heading.module.css +3 -3
  208. package/lib/Heading/props/propTypes.js +0 -3
  209. package/lib/Label/Label.js +14 -37
  210. package/lib/Label/__tests__/Label.spec.js +1 -14
  211. package/lib/Label/props/propTypes.js +0 -3
  212. package/lib/Layout/Box.js +11 -31
  213. package/lib/Layout/Container.js +10 -29
  214. package/lib/Layout/__tests__/Box.spec.js +49 -65
  215. package/lib/Layout/__tests__/Container.spec.js +50 -67
  216. package/lib/Layout/index.js +0 -4
  217. package/lib/Layout/props/propTypes.js +3 -6
  218. package/lib/Layout/utils.js +0 -10
  219. package/lib/ListItem/ListContainer.js +28 -47
  220. package/lib/ListItem/ListItem.js +37 -66
  221. package/lib/ListItem/ListItemWithAvatar.js +41 -72
  222. package/lib/ListItem/ListItemWithCheckBox.js +32 -61
  223. package/lib/ListItem/ListItemWithIcon.js +36 -65
  224. package/lib/ListItem/ListItemWithRadio.js +33 -62
  225. package/lib/ListItem/props/propTypes.js +0 -5
  226. package/lib/Modal/Modal.js +4 -44
  227. package/lib/Modal/props/propTypes.js +0 -3
  228. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +157 -289
  229. package/lib/MultiSelect/AdvancedMultiSelect.js +130 -203
  230. package/lib/MultiSelect/EmptyState.js +21 -44
  231. package/lib/MultiSelect/MultiSelect.js +216 -326
  232. package/lib/MultiSelect/MultiSelectHeader.js +5 -29
  233. package/lib/MultiSelect/MultiSelectWithAvatar.js +61 -98
  234. package/lib/MultiSelect/SelectedOptions.js +15 -44
  235. package/lib/MultiSelect/Suggestions.js +28 -60
  236. package/lib/MultiSelect/__tests__/MultiSelect.spec.js +75 -86
  237. package/lib/MultiSelect/props/defaultProps.js +8 -6
  238. package/lib/MultiSelect/props/propTypes.js +8 -9
  239. package/lib/PopOver/PopOver.js +44 -94
  240. package/lib/PopOver/__tests__/PopOver.spec.js +1 -4
  241. package/lib/PopOver/props/propTypes.js +0 -3
  242. package/lib/Popup/Popup.js +77 -156
  243. package/lib/Popup/__tests__/Popup.spec.js +5 -42
  244. package/lib/Popup/viewPort.js +14 -28
  245. package/lib/Provider/AvatarSize.js +0 -4
  246. package/lib/Provider/Config.js +0 -2
  247. package/lib/Provider/CssProvider.js +0 -4
  248. package/lib/Provider/IdProvider.js +3 -17
  249. package/lib/Provider/LibraryContext.js +10 -32
  250. package/lib/Provider/LibraryContextInit.js +0 -4
  251. package/lib/Provider/NumberGenerator/NumberGenerator.js +14 -43
  252. package/lib/Provider/ZindexProvider.js +3 -15
  253. package/lib/Radio/Radio.js +33 -60
  254. package/lib/Radio/__tests__/Radiospec.js +5 -9
  255. package/lib/Radio/props/propTypes.js +0 -3
  256. package/lib/Responsive/CustomResponsive.js +30 -70
  257. package/lib/Responsive/RefWrapper.js +7 -15
  258. package/lib/Responsive/ResizeComponent.js +27 -58
  259. package/lib/Responsive/ResizeObserver.js +6 -23
  260. package/lib/Responsive/Responsive.js +24 -76
  261. package/lib/Responsive/index.js +0 -2
  262. package/lib/Responsive/props/propTypes.js +0 -3
  263. package/lib/Responsive/sizeObservers.js +13 -51
  264. package/lib/Responsive/utils/index.js +3 -11
  265. package/lib/Responsive/utils/shallowCompare.js +2 -11
  266. package/lib/Responsive/windowResizeObserver.js +0 -8
  267. package/lib/ResponsiveDropBox/ResponsiveDropBox.js +14 -44
  268. package/lib/ResponsiveDropBox/props/propTypes.js +0 -3
  269. package/lib/Ribbon/Ribbon.js +7 -31
  270. package/lib/Ribbon/__tests__/Ribbon.spec.js +0 -22
  271. package/lib/Ribbon/props/propTypes.js +0 -3
  272. package/lib/RippleEffect/RippleEffect.js +7 -18
  273. package/lib/RippleEffect/props/propTypes.js +0 -3
  274. package/lib/Select/GroupSelect.js +138 -230
  275. package/lib/Select/Select.js +220 -301
  276. package/lib/Select/Select.module.css +3 -0
  277. package/lib/Select/SelectWithAvatar.js +61 -104
  278. package/lib/Select/SelectWithIcon.js +151 -144
  279. package/lib/Select/__tests__/Select.spec.js +89 -131
  280. package/lib/Select/props/defaultProps.js +7 -8
  281. package/lib/Select/props/propTypes.js +8 -8
  282. package/lib/Stencils/Stencils.js +4 -28
  283. package/lib/Stencils/__tests__/Stencils.spec.js +0 -12
  284. package/lib/Stencils/props/propTypes.js +0 -3
  285. package/lib/Switch/Switch.js +27 -55
  286. package/lib/Switch/props/propTypes.js +0 -3
  287. package/lib/Tab/Tab.js +23 -39
  288. package/lib/Tab/TabContent.js +4 -11
  289. package/lib/Tab/TabContentWrapper.js +5 -12
  290. package/lib/Tab/TabWrapper.js +16 -34
  291. package/lib/Tab/Tabs.js +94 -170
  292. package/lib/Tab/Tabs.module.css +1 -1
  293. package/lib/Tab/__tests__/Tab.spec.js +63 -74
  294. package/lib/Tab/__tests__/TabContent.spec.js +6 -10
  295. package/lib/Tab/__tests__/TabContentWrapper.spec.js +20 -28
  296. package/lib/Tab/__tests__/TabWrapper.spec.js +0 -12
  297. package/lib/Tab/__tests__/Tabs.spec.js +39 -53
  298. package/lib/Tab/index.js +0 -6
  299. package/lib/Tab/props/propTypes.js +0 -3
  300. package/lib/Tag/Tag.js +37 -70
  301. package/lib/Tag/__tests__/Tag.spec.js +8 -14
  302. package/lib/Tag/props/propTypes.js +0 -3
  303. package/lib/TextBox/TextBox.js +52 -83
  304. package/lib/TextBox/__tests__/TextBox.spec.js +4 -14
  305. package/lib/TextBox/props/propTypes.js +0 -5
  306. package/lib/TextBoxIcon/TextBoxIcon.js +48 -80
  307. package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +5 -14
  308. package/lib/TextBoxIcon/props/propTypes.js +0 -3
  309. package/lib/Textarea/Textarea.js +22 -52
  310. package/lib/Textarea/__tests__/Textarea.spec.js +2 -14
  311. package/lib/Textarea/props/propTypes.js +0 -3
  312. package/lib/Tooltip/Tooltip.js +29 -93
  313. package/lib/Tooltip/__tests__/Tooltip.spec.js +0 -23
  314. package/lib/Tooltip/props/propTypes.js +0 -3
  315. package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +11 -39
  316. package/lib/VelocityAnimation/VelocityAnimation/props/propTypes.js +0 -3
  317. package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +18 -51
  318. package/lib/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +0 -3
  319. package/lib/css.js +0 -39
  320. package/lib/deprecated/PortalLayer/PortalLayer.js +17 -45
  321. package/lib/deprecated/PortalLayer/props/propTypes.js +0 -3
  322. package/lib/index.js +76 -1075
  323. package/lib/semantic/Button/Button.js +17 -41
  324. package/lib/semantic/Button/props/propTypes.js +0 -3
  325. package/lib/utils/Common.js +29 -95
  326. package/lib/utils/ContextOptimizer.js +10 -16
  327. package/lib/utils/__tests__/constructFullName.spec.js +0 -1
  328. package/lib/utils/__tests__/debounce.spec.js +2 -3
  329. package/lib/utils/__tests__/getInitial.spec.js +0 -1
  330. package/lib/utils/constructFullName.js +2 -11
  331. package/lib/utils/datetime/common.js +5 -32
  332. package/lib/utils/debounce.js +1 -6
  333. package/lib/utils/dropDownUtils.js +54 -171
  334. package/lib/utils/dummyFunction.js +0 -2
  335. package/lib/utils/getHTMLFontSize.js +0 -1
  336. package/lib/utils/getInitial.js +0 -6
  337. package/lib/utils/scrollTo.js +0 -2
  338. package/lib/utils/shallowEqual.js +0 -8
  339. package/package.json +10 -5
  340. package/es/Accordion/docs/Accordion__Demo.docs.js +0 -80
  341. package/es/Animation/docs/Animation__default.docs.js +0 -34
  342. package/es/Animation/docs/Animation__fadeIn.docs.js +0 -34
  343. package/es/Animation/docs/Animation__scaleIn.docs.js +0 -34
  344. package/es/Animation/docs/Animation__skewIn.docs.js +0 -34
  345. package/es/Animation/docs/Animation__slideDown.docs.js +0 -34
  346. package/es/Animation/docs/Animation__slideLeft.docs.js +0 -34
  347. package/es/Animation/docs/Animation__zoomIn.docs.js +0 -34
  348. package/es/AppContainer/docs/AppContainer__default.docs.js +0 -20
  349. package/es/Avatar/docs/Avatar__custom.docs.js +0 -29
  350. package/es/Avatar/docs/Avatar__default.docs.js +0 -29
  351. package/es/Avatar/docs/Avatar__palette.docs.js +0 -49
  352. package/es/Avatar/docs/Avatar__text.docs.js +0 -28
  353. package/es/AvatarTeam/docs/AvatarTeam__custom.docs.js +0 -73
  354. package/es/AvatarTeam/docs/AvatarTeam__default.docs.js +0 -31
  355. package/es/AvatarTeam/docs/AvatarTeam__palette.docs.js +0 -50
  356. package/es/AvatarTeam/docs/AvatarTeam__size.docs.js +0 -49
  357. package/es/Button/docs/Button__custom.docs.js +0 -771
  358. package/es/Button/docs/Button__default.docs.js +0 -536
  359. package/es/Buttongroup/docs/Buttongroup__custom.docs.js +0 -37
  360. package/es/Buttongroup/docs/Buttongroup__footer.docs.js +0 -33
  361. package/es/Buttongroup/docs/Buttongroup__header.docs.js +0 -42
  362. package/es/Card/docs/Card__Custom.docs.js +0 -34
  363. package/es/Card/docs/Card__Default.docs.js +0 -37
  364. package/es/Card/docs/Card__Scroll.docs.js +0 -59
  365. package/es/CheckBox/docs/CheckBox__custom.docs.js +0 -293
  366. package/es/CheckBox/docs/CheckBox__default.docs.js +0 -219
  367. package/es/DateTime/docs/DateTime__default.docs.js +0 -91
  368. package/es/DateTime/docs/DateWidget__default.docs.js +0 -183
  369. package/es/DateTime/docs/timezonedata.json +0 -1
  370. package/es/DropBox/docs/DropBox__custom.docs.js +0 -66
  371. package/es/DropBox/docs/DropBox__customOrder.docs.js +0 -92
  372. package/es/DropBox/docs/DropBox__fixedPosition.docs.js +0 -91
  373. package/es/DropBox/docs/DropBox__position.docs.js +0 -87
  374. package/es/DropBox/docs/DropBox__size.docs.js +0 -61
  375. package/es/DropDown/docs/DropDownHeading__custom.docs.js +0 -23
  376. package/es/DropDown/docs/DropDownHeading__default.docs.js +0 -21
  377. package/es/Heading/docs/Heading__default.docs.js +0 -21
  378. package/es/Label/docs/Label__clipped.docs.js +0 -27
  379. package/es/Label/docs/Label__custom.docs.js +0 -30
  380. package/es/Label/docs/Label__palette.docs.js +0 -42
  381. package/es/Label/docs/Label__size.docs.js +0 -29
  382. package/es/Label/docs/Label__type.docs.js +0 -37
  383. package/es/Layout/docs/Layout__Hidden.docs.js +0 -77
  384. package/es/Layout/docs/Layout__default.docs.js +0 -49
  385. package/es/Layout/docs/Layout__four_Column.docs.js +0 -79
  386. package/es/Layout/docs/Layout__three_Column.docs.js +0 -76
  387. package/es/Layout/docs/Layout__two_Column.docs.js +0 -69
  388. package/es/LightNightMode/Colors.json +0 -497
  389. package/es/LightNightMode/docs/AlternativeColors.docs.js +0 -94
  390. package/es/ListItem/docs/ListItemWithAvatar__custom.docs.js +0 -155
  391. package/es/ListItem/docs/ListItemWithAvatar__default.docs.js +0 -112
  392. package/es/ListItem/docs/ListItemWithCheckBox__custom.docs.js +0 -91
  393. package/es/ListItem/docs/ListItemWithCheckBox__default.docs.js +0 -65
  394. package/es/ListItem/docs/ListItemWithIcon__custom.docs.js +0 -68
  395. package/es/ListItem/docs/ListItemWithIcon__default.docs.js +0 -62
  396. package/es/ListItem/docs/ListItemWithRadio__custom.docs.js +0 -91
  397. package/es/ListItem/docs/ListItemWithRadio__default.docs.js +0 -65
  398. package/es/ListItem/docs/ListItem__custom.docs.js +0 -114
  399. package/es/ListItem/docs/ListItem__default.docs.js +0 -82
  400. package/es/Modal/__docs__/Modal__default.docs.js +0 -46
  401. package/es/MultiSelect/docs/AdvancedGroupMultiSelect__default.docs.js +0 -125
  402. package/es/MultiSelect/docs/AdvancedMultiSelect__default.docs.js +0 -114
  403. package/es/MultiSelect/docs/MultiSelectWithAvatar__default.docs.js +0 -141
  404. package/es/MultiSelect/docs/MultiSelect__default.docs.js +0 -161
  405. package/es/PopOver/docs/PopOver__default.docs.js +0 -32
  406. package/es/Provider/docs/Provider_Id__Class.docs.js +0 -29
  407. package/es/Provider/docs/Provider_Id__Function.docs.js +0 -18
  408. package/es/Provider/docs/Provider_Zindex__Class.docs.js +0 -32
  409. package/es/Provider/docs/Provider_Zindex__Function.docs.js +0 -23
  410. package/es/Provider.js +0 -95
  411. package/es/Radio/docs/Radio__custom.docs.js +0 -245
  412. package/es/Radio/docs/Radio__default.docs.js +0 -169
  413. package/es/Responsive/docs/Responsive__Custom.docs.js +0 -206
  414. package/es/Responsive/docs/Responsive__default.docs.js +0 -97
  415. package/es/Responsive/docs/style.module.css +0 -56
  416. package/es/Ribbon/docs/Ribbon__custom.docs.js +0 -386
  417. package/es/Ribbon/docs/Ribbon__default.docs.js +0 -342
  418. package/es/RippleEffect/docs/RippleEffect__default.docs.js +0 -435
  419. package/es/Select/docs/GroupSelect__default.docs.js +0 -149
  420. package/es/Select/docs/SelectWithAvatar__default.docs.js +0 -97
  421. package/es/Select/docs/SelectWithIcon__default.docs.js +0 -138
  422. package/es/Select/docs/Select__default.docs.js +0 -288
  423. package/es/Stencils/docs/Stencils__custom.docs.js +0 -45
  424. package/es/Stencils/docs/Stencils__default.docs.js +0 -50
  425. package/es/Switch/docs/Switch__custom.docs.js +0 -153
  426. package/es/Switch/docs/Switch__default.docs.js +0 -107
  427. package/es/Tab/docs/Tab__default.docs.js +0 -258
  428. package/es/Tab/docs/tabdocs.module.css +0 -29
  429. package/es/Tag/docs/Tag__custom.docs.js +0 -368
  430. package/es/Tag/docs/Tag__default.docs.js +0 -323
  431. package/es/TextBox/docs/TextBox__custom.docs.js +0 -43
  432. package/es/TextBox/docs/TextBox__default.docs.js +0 -40
  433. package/es/TextBox/docs/TextBox__size.docs.js +0 -38
  434. package/es/TextBox/docs/TextBox__variant.docs.js +0 -38
  435. package/es/TextBoxIcon/docs/TextBoxIcon__custom.docs.js +0 -89
  436. package/es/TextBoxIcon/docs/TextBoxIcon__default.docs.js +0 -61
  437. package/es/Textarea/docs/Textarea__animated.docs.js +0 -41
  438. package/es/Textarea/docs/Textarea__custom.docs.js +0 -82
  439. package/es/Textarea/docs/Textarea__default.docs.js +0 -76
  440. package/es/Textarea/docs/Textarea__disabled.docs.js +0 -29
  441. package/es/Tooltip/docs/Tooltip__default.docs.js +0 -371
  442. package/es/VelocityAnimation/VelocityAnimation/docs/VelocityAnimation__demo.docs.js +0 -97
  443. package/es/VelocityAnimation/VelocityAnimationGroup/docs/VelocityAnimationGroup__demo.docs.js +0 -150
  444. package/es/common/docStyle.module.css +0 -766
  445. package/es/deprecated/PortalLayer/docs/PortalLayer__default.docs.js +0 -72
  446. package/es/semantic/Button/docs/Button__default.docs.js +0 -20
  447. package/lib/Accordion/docs/Accordion__Demo.docs.js +0 -126
  448. package/lib/Animation/docs/Animation__default.docs.js +0 -85
  449. package/lib/Animation/docs/Animation__fadeIn.docs.js +0 -85
  450. package/lib/Animation/docs/Animation__scaleIn.docs.js +0 -85
  451. package/lib/Animation/docs/Animation__skewIn.docs.js +0 -85
  452. package/lib/Animation/docs/Animation__slideDown.docs.js +0 -85
  453. package/lib/Animation/docs/Animation__slideLeft.docs.js +0 -85
  454. package/lib/Animation/docs/Animation__zoomIn.docs.js +0 -85
  455. package/lib/AppContainer/docs/AppContainer__default.docs.js +0 -70
  456. package/lib/Avatar/docs/Avatar__custom.docs.js +0 -87
  457. package/lib/Avatar/docs/Avatar__default.docs.js +0 -83
  458. package/lib/Avatar/docs/Avatar__palette.docs.js +0 -107
  459. package/lib/Avatar/docs/Avatar__text.docs.js +0 -86
  460. package/lib/AvatarTeam/docs/AvatarTeam__custom.docs.js +0 -124
  461. package/lib/AvatarTeam/docs/AvatarTeam__default.docs.js +0 -82
  462. package/lib/AvatarTeam/docs/AvatarTeam__palette.docs.js +0 -101
  463. package/lib/AvatarTeam/docs/AvatarTeam__size.docs.js +0 -100
  464. package/lib/Button/docs/Button__custom.docs.js +0 -826
  465. package/lib/Button/docs/Button__default.docs.js +0 -590
  466. package/lib/Buttongroup/docs/Buttongroup__custom.docs.js +0 -89
  467. package/lib/Buttongroup/docs/Buttongroup__footer.docs.js +0 -85
  468. package/lib/Buttongroup/docs/Buttongroup__header.docs.js +0 -98
  469. package/lib/Card/docs/Card__Custom.docs.js +0 -90
  470. package/lib/Card/docs/Card__Default.docs.js +0 -92
  471. package/lib/Card/docs/Card__Scroll.docs.js +0 -114
  472. package/lib/CheckBox/docs/CheckBox__custom.docs.js +0 -348
  473. package/lib/CheckBox/docs/CheckBox__default.docs.js +0 -273
  474. package/lib/DateTime/docs/DateTime__default.docs.js +0 -142
  475. package/lib/DateTime/docs/DateWidget__default.docs.js +0 -240
  476. package/lib/DateTime/docs/timezonedata.json +0 -1
  477. package/lib/DropBox/docs/DropBox__custom.docs.js +0 -122
  478. package/lib/DropBox/docs/DropBox__customOrder.docs.js +0 -141
  479. package/lib/DropBox/docs/DropBox__fixedPosition.docs.js +0 -140
  480. package/lib/DropBox/docs/DropBox__position.docs.js +0 -142
  481. package/lib/DropBox/docs/DropBox__size.docs.js +0 -116
  482. package/lib/DropDown/docs/DropDownHeading__custom.docs.js +0 -73
  483. package/lib/DropDown/docs/DropDownHeading__default.docs.js +0 -70
  484. package/lib/Heading/docs/Heading__default.docs.js +0 -74
  485. package/lib/Label/docs/Label__clipped.docs.js +0 -81
  486. package/lib/Label/docs/Label__custom.docs.js +0 -85
  487. package/lib/Label/docs/Label__palette.docs.js +0 -96
  488. package/lib/Label/docs/Label__size.docs.js +0 -83
  489. package/lib/Label/docs/Label__type.docs.js +0 -91
  490. package/lib/Layout/docs/Layout__Hidden.docs.js +0 -127
  491. package/lib/Layout/docs/Layout__default.docs.js +0 -98
  492. package/lib/Layout/docs/Layout__four_Column.docs.js +0 -129
  493. package/lib/Layout/docs/Layout__three_Column.docs.js +0 -126
  494. package/lib/Layout/docs/Layout__two_Column.docs.js +0 -119
  495. package/lib/LightNightMode/Colors.json +0 -497
  496. package/lib/LightNightMode/docs/AlternativeColors.docs.js +0 -153
  497. package/lib/ListItem/docs/ListItemWithAvatar__custom.docs.js +0 -206
  498. package/lib/ListItem/docs/ListItemWithAvatar__default.docs.js +0 -162
  499. package/lib/ListItem/docs/ListItemWithCheckBox__custom.docs.js +0 -142
  500. package/lib/ListItem/docs/ListItemWithCheckBox__default.docs.js +0 -115
  501. package/lib/ListItem/docs/ListItemWithIcon__custom.docs.js +0 -119
  502. package/lib/ListItem/docs/ListItemWithIcon__default.docs.js +0 -112
  503. package/lib/ListItem/docs/ListItemWithRadio__custom.docs.js +0 -142
  504. package/lib/ListItem/docs/ListItemWithRadio__default.docs.js +0 -115
  505. package/lib/ListItem/docs/ListItem__custom.docs.js +0 -164
  506. package/lib/ListItem/docs/ListItem__default.docs.js +0 -131
  507. package/lib/Modal/__docs__/Modal__default.docs.js +0 -88
  508. package/lib/MultiSelect/docs/AdvancedGroupMultiSelect__default.docs.js +0 -177
  509. package/lib/MultiSelect/docs/AdvancedMultiSelect__default.docs.js +0 -165
  510. package/lib/MultiSelect/docs/MultiSelectWithAvatar__default.docs.js +0 -191
  511. package/lib/MultiSelect/docs/MultiSelect__default.docs.js +0 -214
  512. package/lib/PopOver/docs/PopOver__default.docs.js +0 -86
  513. package/lib/Provider/docs/Provider_Id__Class.docs.js +0 -77
  514. package/lib/Provider/docs/Provider_Id__Function.docs.js +0 -29
  515. package/lib/Provider/docs/Provider_Zindex__Class.docs.js +0 -80
  516. package/lib/Provider/docs/Provider_Zindex__Function.docs.js +0 -34
  517. package/lib/Provider.js +0 -175
  518. package/lib/Radio/docs/Radio__custom.docs.js +0 -299
  519. package/lib/Radio/docs/Radio__default.docs.js +0 -222
  520. package/lib/Responsive/docs/Responsive__Custom.docs.js +0 -272
  521. package/lib/Responsive/docs/Responsive__default.docs.js +0 -142
  522. package/lib/Responsive/docs/style.module.css +0 -56
  523. package/lib/Ribbon/docs/Ribbon__custom.docs.js +0 -437
  524. package/lib/Ribbon/docs/Ribbon__default.docs.js +0 -392
  525. package/lib/RippleEffect/docs/RippleEffect__default.docs.js +0 -484
  526. package/lib/Select/docs/GroupSelect__default.docs.js +0 -199
  527. package/lib/Select/docs/SelectWithAvatar__default.docs.js +0 -152
  528. package/lib/Select/docs/SelectWithIcon__default.docs.js +0 -190
  529. package/lib/Select/docs/Select__default.docs.js +0 -340
  530. package/lib/Stencils/docs/Stencils__custom.docs.js +0 -96
  531. package/lib/Stencils/docs/Stencils__default.docs.js +0 -101
  532. package/lib/Switch/docs/Switch__custom.docs.js +0 -203
  533. package/lib/Switch/docs/Switch__default.docs.js +0 -156
  534. package/lib/Tab/docs/Tab__default.docs.js +0 -308
  535. package/lib/Tab/docs/tabdocs.module.css +0 -29
  536. package/lib/Tag/docs/Tag__custom.docs.js +0 -423
  537. package/lib/Tag/docs/Tag__default.docs.js +0 -377
  538. package/lib/TextBox/docs/TextBox__custom.docs.js +0 -98
  539. package/lib/TextBox/docs/TextBox__default.docs.js +0 -95
  540. package/lib/TextBox/docs/TextBox__size.docs.js +0 -93
  541. package/lib/TextBox/docs/TextBox__variant.docs.js +0 -93
  542. package/lib/TextBoxIcon/docs/TextBoxIcon__custom.docs.js +0 -145
  543. package/lib/TextBoxIcon/docs/TextBoxIcon__default.docs.js +0 -117
  544. package/lib/Textarea/docs/Textarea__animated.docs.js +0 -95
  545. package/lib/Textarea/docs/Textarea__custom.docs.js +0 -137
  546. package/lib/Textarea/docs/Textarea__default.docs.js +0 -130
  547. package/lib/Textarea/docs/Textarea__disabled.docs.js +0 -83
  548. package/lib/Tooltip/docs/Tooltip__default.docs.js +0 -430
  549. package/lib/VelocityAnimation/VelocityAnimation/docs/VelocityAnimation__demo.docs.js +0 -150
  550. package/lib/VelocityAnimation/VelocityAnimationGroup/docs/VelocityAnimationGroup__demo.docs.js +0 -206
  551. package/lib/common/docStyle.module.css +0 -766
  552. package/lib/deprecated/PortalLayer/docs/PortalLayer__default.docs.js +0 -145
  553. package/lib/semantic/Button/docs/Button__default.docs.js +0 -66
@@ -1,84 +1,53 @@
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
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = void 0;
9
-
10
8
  var _react = _interopRequireWildcard(require("react"));
11
-
12
9
  var _defaultProps = require("./props/defaultProps");
13
-
14
10
  var _propTypes = require("./props/propTypes");
15
-
16
11
  var _Popup = _interopRequireDefault(require("../Popup/Popup"));
17
-
18
12
  var _TextBoxIcon = _interopRequireDefault(require("../TextBoxIcon/TextBoxIcon"));
19
-
20
13
  var _Icon = _interopRequireDefault(require("@zohodesk/icons/lib/Icon"));
21
-
22
14
  var _ListItemWithIcon = _interopRequireDefault(require("../ListItem/ListItemWithIcon"));
23
-
24
15
  var _Card = _interopRequireWildcard(require("../Card/Card"));
25
-
26
16
  var _EmptyState = _interopRequireDefault(require("../MultiSelect/EmptyState"));
27
-
28
17
  var _Layout = require("../Layout");
29
-
30
18
  var _IdProvider = require("../Provider/IdProvider");
31
-
32
19
  var _ResponsiveDropBox = _interopRequireDefault(require("../ResponsiveDropBox/ResponsiveDropBox"));
33
-
34
20
  var _CustomResponsive = require("../Responsive/CustomResponsive");
35
-
21
+ var _Loader = _interopRequireDefault(require("@zohodesk/svg/lib/Loader/Loader"));
36
22
  var _Common = require("../utils/Common.js");
37
-
38
23
  var _SelectModule = _interopRequireDefault(require("./Select.module.css"));
39
-
40
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
41
-
42
25
  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); }
43
-
44
26
  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; }
45
-
46
27
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
47
-
48
28
  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); } }
49
-
50
29
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
51
-
52
30
  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); }
53
-
54
31
  function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
55
-
56
32
  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); }; }
57
-
58
33
  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); }
59
-
60
34
  function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
61
-
62
35
  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; } }
63
-
64
36
  function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
65
-
66
37
  var SelectWithIcon = /*#__PURE__*/function (_Component) {
67
38
  _inherits(SelectWithIcon, _Component);
68
-
69
39
  var _super = _createSuper(SelectWithIcon);
70
-
71
40
  function SelectWithIcon(props) {
72
41
  var _this;
73
-
74
42
  _classCallCheck(this, SelectWithIcon);
75
-
76
43
  _this = _super.call(this, props);
77
44
  _this.state = {
78
45
  searchValue: '',
79
46
  selectedIndex: 0,
80
- options: props.options
47
+ options: props.options,
48
+ isFetchingOptions: false
81
49
  };
50
+ _this._isMounted = false;
82
51
  _this.onSearchClear = _this.onSearchClear.bind(_assertThisInitialized(_this));
83
52
  _this.onSearch = _this.onSearch.bind(_assertThisInitialized(_this));
84
53
  _this.togglePopup = _this.togglePopup.bind(_assertThisInitialized(_this));
@@ -91,10 +60,21 @@ var SelectWithIcon = /*#__PURE__*/function (_Component) {
91
60
  _this.inputRef = _this.inputRef.bind(_assertThisInitialized(_this));
92
61
  _this.handleScroll = _this.handleScroll.bind(_assertThisInitialized(_this));
93
62
  _this.getNextAriaId = (0, _IdProvider.getUniqueId)(_assertThisInitialized(_this));
63
+ _this.handleGetNextOptions = _this.handleGetNextOptions.bind(_assertThisInitialized(_this));
64
+ _this.handleFetchOptions = _this.handleFetchOptions.bind(_assertThisInitialized(_this));
94
65
  return _this;
95
66
  }
96
-
97
67
  _createClass(SelectWithIcon, [{
68
+ key: "componentDidMount",
69
+ value: function componentDidMount() {
70
+ this._isMounted = true;
71
+ }
72
+ }, {
73
+ key: "componentWillUnmount",
74
+ value: function componentWillUnmount() {
75
+ this._isMounted = false;
76
+ }
77
+ }, {
98
78
  key: "inputRef",
99
79
  value: function inputRef(el) {
100
80
  this.input = el;
@@ -113,7 +93,6 @@ var SelectWithIcon = /*#__PURE__*/function (_Component) {
113
93
  key: "scrollContentRef",
114
94
  value: function scrollContentRef(el) {
115
95
  var isPopupOpen = this.props.isPopupOpen;
116
-
117
96
  if (isPopupOpen) {
118
97
  this.optionsContainer = el;
119
98
  }
@@ -129,24 +108,19 @@ var SelectWithIcon = /*#__PURE__*/function (_Component) {
129
108
  key: "handleKeyDown",
130
109
  value: function handleKeyDown(e) {
131
110
  var _this2 = this;
132
-
133
111
  var keyCode = e.keyCode;
134
112
  var _this$state = this.state,
135
- selectedIndex = _this$state.selectedIndex,
136
- options = _this$state.options;
113
+ selectedIndex = _this$state.selectedIndex,
114
+ options = _this$state.options;
137
115
  var _this$props = this.props,
138
- isNextOptions = _this$props.isNextOptions,
139
- getNextOptions = _this$props.getNextOptions,
140
- idKey = _this$props.idKey,
141
- valueKey = _this$props.valueKey,
142
- isPopupOpen = _this$props.isPopupOpen,
143
- selectedId = _this$props.selectedId;
144
-
116
+ idKey = _this$props.idKey,
117
+ valueKey = _this$props.valueKey,
118
+ isPopupOpen = _this$props.isPopupOpen,
119
+ selectedId = _this$props.selectedId;
145
120
  if (isPopupOpen && (keyCode === 38 || keyCode === 40) && e.preventDefault) {
146
121
  e.preventDefault(); //prevent body scroll
147
122
  } else if (!isPopupOpen && (keyCode === 40 || keyCode === 13)) {
148
123
  e.preventDefault(); //prevent body scroll
149
-
150
124
  this.togglePopup(e);
151
125
  options.map(function (list, index) {
152
126
  if (list.id === selectedId) {
@@ -156,7 +130,6 @@ var SelectWithIcon = /*#__PURE__*/function (_Component) {
156
130
  }
157
131
  });
158
132
  }
159
-
160
133
  if (isPopupOpen) {
161
134
  switch (keyCode) {
162
135
  case 40:
@@ -166,16 +139,13 @@ var SelectWithIcon = /*#__PURE__*/function (_Component) {
166
139
  });
167
140
  } else {
168
141
  if (selectedIndex === options.length - 3) {
169
- isNextOptions && getNextOptions && getNextOptions();
142
+ this.handleGetNextOptions();
170
143
  }
171
-
172
144
  this.setState({
173
145
  selectedIndex: selectedIndex + 1
174
146
  });
175
147
  }
176
-
177
148
  break;
178
-
179
149
  case 38:
180
150
  if (selectedIndex === 0) {
181
151
  this.setState({
@@ -186,9 +156,7 @@ var SelectWithIcon = /*#__PURE__*/function (_Component) {
186
156
  selectedIndex: selectedIndex - 1
187
157
  });
188
158
  }
189
-
190
159
  break;
191
-
192
160
  case 13:
193
161
  var option = options[selectedIndex];
194
162
  this.handleChange && this.handleChange(option[idKey], option[valueKey], selectedIndex, e);
@@ -200,15 +168,13 @@ var SelectWithIcon = /*#__PURE__*/function (_Component) {
200
168
  key: "componentDidUpdate",
201
169
  value: function componentDidUpdate(prevProps) {
202
170
  var _this3 = this;
203
-
204
171
  var _this$props2 = this.props,
205
- idKey = _this$props2.idKey,
206
- isPopupOpen = _this$props2.isPopupOpen,
207
- needSearch = _this$props2.needSearch;
172
+ idKey = _this$props2.idKey,
173
+ isPopupOpen = _this$props2.isPopupOpen,
174
+ needSearch = _this$props2.needSearch;
208
175
  var _this$state2 = this.state,
209
- selectedIndex = _this$state2.selectedIndex,
210
- options = _this$state2.options;
211
-
176
+ selectedIndex = _this$state2.selectedIndex,
177
+ options = _this$state2.options;
212
178
  if (prevProps.isPopupOpen != isPopupOpen) {
213
179
  setTimeout(function () {
214
180
  isPopupOpen ? needSearch ? _this3.searchInput.focus({
@@ -220,11 +186,9 @@ var SelectWithIcon = /*#__PURE__*/function (_Component) {
220
186
  });
221
187
  }, 10);
222
188
  }
223
-
224
189
  var option = options[selectedIndex];
225
190
  var id = option && option[idKey] || {};
226
191
  var selSuggestion = this["suggestion_".concat(id)];
227
-
228
192
  if (isPopupOpen) {
229
193
  this.optionsContainer && (0, _Common.scrollTo)(this.optionsContainer, selSuggestion);
230
194
  }
@@ -234,22 +198,20 @@ var SelectWithIcon = /*#__PURE__*/function (_Component) {
234
198
  value: function searchList(searchValue) {
235
199
  var datas = [];
236
200
  var _this$props3 = this.props,
237
- options = _this$props3.options,
238
- valueKey = _this$props3.valueKey;
239
-
201
+ options = _this$props3.options,
202
+ valueKey = _this$props3.valueKey;
240
203
  if (options.length) {
241
204
  datas = options.filter(function (obj) {
242
205
  return obj[valueKey].toLowerCase().includes(searchValue.toLowerCase());
243
206
  });
244
207
  }
245
-
246
208
  return datas;
247
209
  }
248
210
  }, {
249
211
  key: "onSearchClear",
250
212
  value: function onSearchClear() {
251
- var options = this.searchList(''); // this.searchInput.focus({preventScroll:false});
252
-
213
+ var options = this.searchList('');
214
+ // this.searchInput.focus({preventScroll:false});
253
215
  this.setState({
254
216
  searchValue: '',
255
217
  options: options
@@ -269,29 +231,72 @@ var SelectWithIcon = /*#__PURE__*/function (_Component) {
269
231
  key: "togglePopup",
270
232
  value: function togglePopup(e) {
271
233
  var _this$props4 = this.props,
272
- togglePopup = _this$props4.togglePopup,
273
- isReadOnly = _this$props4.isReadOnly,
274
- boxPosition = _this$props4.boxPosition;
234
+ togglePopup = _this$props4.togglePopup,
235
+ isReadOnly = _this$props4.isReadOnly,
236
+ boxPosition = _this$props4.boxPosition;
275
237
  !isReadOnly && togglePopup(e, boxPosition);
276
238
  }
277
239
  }, {
278
240
  key: "handleChange",
279
241
  value: function handleChange(id, value, index, e) {
280
242
  var _this$props5 = this.props,
281
- onChange = _this$props5.onChange,
282
- isReadOnly = _this$props5.isReadOnly;
243
+ onChange = _this$props5.onChange,
244
+ isReadOnly = _this$props5.isReadOnly;
283
245
  !isReadOnly && onChange && onChange(id, value, index, e);
284
246
  this.togglePopup(e);
285
247
  }
286
248
  }, {
287
249
  key: "handleScroll",
288
250
  value: function handleScroll(e) {
251
+ var ele = e.target;
252
+ var isScrollReachedBottom = (0, _Common.findScrollEnd)(ele);
253
+ isScrollReachedBottom && this.handleGetNextOptions();
254
+ }
255
+ }, {
256
+ key: "UNSAFE_componentWillReceiveProps",
257
+ value: function UNSAFE_componentWillReceiveProps(nextProps) {
258
+ if (nextProps.options.length != this.props.options.length) {
259
+ this.setState({
260
+ options: nextProps.options
261
+ });
262
+ }
263
+ }
264
+ }, {
265
+ key: "handleGetNextOptions",
266
+ value: function handleGetNextOptions() {
289
267
  var _this$props6 = this.props,
290
- isNextOptions = _this$props6.isNextOptions,
291
- getNextOptions = _this$props6.getNextOptions;
292
-
293
- if (e.target.scrollTop + e.target.offsetHeight > e.target.scrollHeight - 1) {
294
- isNextOptions && getNextOptions && getNextOptions(e);
268
+ isNextOptions = _this$props6.isNextOptions,
269
+ getNextOptions = _this$props6.getNextOptions;
270
+ var searchValue = this.state.searchValue;
271
+ isNextOptions && getNextOptions && this.handleFetchOptions(getNextOptions, searchValue);
272
+ }
273
+ }, {
274
+ key: "handleFetchOptions",
275
+ value: function handleFetchOptions(APICall) {
276
+ var _this4 = this;
277
+ var searchValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
278
+ var _this$state$isFetchin = this.state.isFetchingOptions,
279
+ isFetchingOptions = _this$state$isFetchin === void 0 ? false : _this$state$isFetchin;
280
+ var _isMounted = this._isMounted;
281
+ if (!isFetchingOptions && APICall) {
282
+ this.setState({
283
+ isFetchingOptions: true
284
+ });
285
+ try {
286
+ return APICall(searchValue).then(function () {
287
+ _isMounted && _this4.setState({
288
+ isFetchingOptions: false
289
+ });
290
+ }, function () {
291
+ _isMounted && _this4.setState({
292
+ isFetchingOptions: false
293
+ });
294
+ });
295
+ } catch (e) {
296
+ _isMounted && this.setState({
297
+ isFetchingOptions: false
298
+ });
299
+ }
295
300
  }
296
301
  }
297
302
  }, {
@@ -307,57 +312,57 @@ var SelectWithIcon = /*#__PURE__*/function (_Component) {
307
312
  }, {
308
313
  key: "render",
309
314
  value: function render() {
310
- var _this4 = this;
311
-
315
+ var _this5 = this;
312
316
  var _this$props7 = this.props,
313
- animationStyle = _this$props7.animationStyle,
314
- removeClose = _this$props7.removeClose,
315
- selectedValue = _this$props7.selectedValue,
316
- searchBoxPlaceHolder = _this$props7.searchBoxPlaceHolder,
317
- needSearch = _this$props7.needSearch,
318
- searchEmptyMessage = _this$props7.searchEmptyMessage,
319
- dataId = _this$props7.dataId,
320
- maxLength = _this$props7.maxLength,
321
- isDisabled = _this$props7.isDisabled,
322
- isReadOnly = _this$props7.isReadOnly,
323
- placeHolder = _this$props7.placeHolder,
324
- textBoxSize = _this$props7.textBoxSize,
325
- textBoxVariant = _this$props7.textBoxVariant,
326
- selectedId = _this$props7.selectedId,
327
- isPopupOpen = _this$props7.isPopupOpen,
328
- isPopupReady = _this$props7.isPopupReady,
329
- position = _this$props7.position,
330
- getContainerRef = _this$props7.getContainerRef,
331
- valueKey = _this$props7.valueKey,
332
- idKey = _this$props7.idKey,
333
- needListBorder = _this$props7.needListBorder,
334
- needTick = _this$props7.needTick,
335
- size = _this$props7.size,
336
- borderColor = _this$props7.borderColor,
337
- title = _this$props7.title,
338
- className = _this$props7.className,
339
- needBorder = _this$props7.needBorder,
340
- searchBoxSize = _this$props7.searchBoxSize,
341
- getTargetRef = _this$props7.getTargetRef,
342
- needResponsive = _this$props7.needResponsive,
343
- boxSize = _this$props7.boxSize,
344
- dropBoxSize = _this$props7.dropBoxSize,
345
- emptyMessage = _this$props7.emptyMessage,
346
- isFetchingOptions = _this$props7.isFetchingOptions,
347
- needIcon = _this$props7.needIcon,
348
- iconName = _this$props7.iconName,
349
- iconSize = _this$props7.iconSize,
350
- iconClass = _this$props7.iconClass,
351
- i18nKeys = _this$props7.i18nKeys,
352
- htmlId = _this$props7.htmlId;
317
+ animationStyle = _this$props7.animationStyle,
318
+ removeClose = _this$props7.removeClose,
319
+ selectedValue = _this$props7.selectedValue,
320
+ searchBoxPlaceHolder = _this$props7.searchBoxPlaceHolder,
321
+ needSearch = _this$props7.needSearch,
322
+ searchEmptyMessage = _this$props7.searchEmptyMessage,
323
+ dataId = _this$props7.dataId,
324
+ maxLength = _this$props7.maxLength,
325
+ isDisabled = _this$props7.isDisabled,
326
+ isReadOnly = _this$props7.isReadOnly,
327
+ placeHolder = _this$props7.placeHolder,
328
+ textBoxSize = _this$props7.textBoxSize,
329
+ textBoxVariant = _this$props7.textBoxVariant,
330
+ selectedId = _this$props7.selectedId,
331
+ isPopupOpen = _this$props7.isPopupOpen,
332
+ isPopupReady = _this$props7.isPopupReady,
333
+ position = _this$props7.position,
334
+ getContainerRef = _this$props7.getContainerRef,
335
+ valueKey = _this$props7.valueKey,
336
+ idKey = _this$props7.idKey,
337
+ needListBorder = _this$props7.needListBorder,
338
+ needTick = _this$props7.needTick,
339
+ size = _this$props7.size,
340
+ borderColor = _this$props7.borderColor,
341
+ title = _this$props7.title,
342
+ className = _this$props7.className,
343
+ needBorder = _this$props7.needBorder,
344
+ searchBoxSize = _this$props7.searchBoxSize,
345
+ getTargetRef = _this$props7.getTargetRef,
346
+ needResponsive = _this$props7.needResponsive,
347
+ boxSize = _this$props7.boxSize,
348
+ dropBoxSize = _this$props7.dropBoxSize,
349
+ emptyMessage = _this$props7.emptyMessage,
350
+ needIcon = _this$props7.needIcon,
351
+ iconName = _this$props7.iconName,
352
+ iconSize = _this$props7.iconSize,
353
+ iconClass = _this$props7.iconClass,
354
+ i18nKeys = _this$props7.i18nKeys,
355
+ htmlId = _this$props7.htmlId,
356
+ isLoading = _this$props7.isLoading;
353
357
  i18nKeys = Object.assign({}, i18nKeys, {
354
358
  emptyText: i18nKeys.emptyText || emptyMessage,
355
359
  searchEmptyText: i18nKeys.searchEmptyText || searchEmptyMessage
356
360
  });
357
361
  var _this$state3 = this.state,
358
- searchValue = _this$state3.searchValue,
359
- selectedIndex = _this$state3.selectedIndex,
360
- options = _this$state3.options;
362
+ searchValue = _this$state3.searchValue,
363
+ selectedIndex = _this$state3.selectedIndex,
364
+ options = _this$state3.options,
365
+ isFetchingOptions = _this$state3.isFetchingOptions;
361
366
  var setAriaId = this.getNextAriaId();
362
367
  var ariaErrorId = this.getNextAriaId();
363
368
  return /*#__PURE__*/_react["default"].createElement("div", {
@@ -437,10 +442,13 @@ var SelectWithIcon = /*#__PURE__*/function (_Component) {
437
442
  isPadding: false,
438
443
  isResponsivePadding: true,
439
444
  alignBox: "row"
440
- }, /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
445
+ }, isLoading ? /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
446
+ align: "both",
447
+ className: _SelectModule["default"].loader
448
+ }, /*#__PURE__*/_react["default"].createElement(_Loader["default"], null)) : /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
441
449
  flexible: true
442
450
  }, /*#__PURE__*/_react["default"].createElement(_Card["default"], {
443
- onScroll: _this4.handleScroll,
451
+ onScroll: _this5.handleScroll,
444
452
  htmlId: setAriaId,
445
453
  a11y: {
446
454
  role: 'listbox'
@@ -448,13 +456,13 @@ var SelectWithIcon = /*#__PURE__*/function (_Component) {
448
456
  }, needSearch ? /*#__PURE__*/_react["default"].createElement(_Card.CardHeader, null, /*#__PURE__*/_react["default"].createElement("div", {
449
457
  className: "".concat(_SelectModule["default"].search, " ").concat(_SelectModule["default"][size])
450
458
  }, /*#__PURE__*/_react["default"].createElement(_TextBoxIcon["default"], {
451
- onClear: _this4.onSearchClear,
452
- onChange: _this4.onSearch,
459
+ onClear: _this5.onSearchClear,
460
+ onChange: _this5.onSearch,
453
461
  placeHolder: searchBoxPlaceHolder,
454
462
  value: searchValue,
455
463
  maxLength: maxLength,
456
- onKeyDown: _this4.handleKeyDown,
457
- inputRef: _this4.searchInputRef,
464
+ onKeyDown: _this5.handleKeyDown,
465
+ inputRef: _this5.searchInputRef,
458
466
  size: searchBoxSize,
459
467
  dataId: "".concat(dataId, "_search"),
460
468
  a11y: {
@@ -464,16 +472,16 @@ var SelectWithIcon = /*#__PURE__*/function (_Component) {
464
472
  }))) : null, /*#__PURE__*/_react["default"].createElement(_Card.CardContent, {
465
473
  customClass: "".concat(tabletMode ? _SelectModule["default"].responsivedropBoxList : _SelectModule["default"].dropBoxList, " ").concat(!tabletMode && dropBoxSize ? _SelectModule["default"][dropBoxSize] : ''),
466
474
  shrink: true,
467
- eleRef: _this4.scrollContentRef
475
+ eleRef: _this5.scrollContentRef
468
476
  }, options.length ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, options.map(function (options, i) {
469
477
  var iconName = options.iconName,
470
- iconSize = options.iconSize,
471
- iconColor = options.iconColor;
478
+ iconSize = options.iconSize,
479
+ iconColor = options.iconColor;
472
480
  return /*#__PURE__*/_react["default"].createElement(_ListItemWithIcon["default"], {
473
481
  key: options[idKey],
474
482
  value: options[valueKey],
475
483
  size: "medium",
476
- onClick: _this4.handleChange,
484
+ onClick: _this5.handleChange,
477
485
  id: options[idKey],
478
486
  index: i,
479
487
  title: options[valueKey],
@@ -485,12 +493,13 @@ var SelectWithIcon = /*#__PURE__*/function (_Component) {
485
493
  active: selectedId === options[idKey],
486
494
  needBorder: needListBorder,
487
495
  needTick: needTick,
488
- onMouseEnter: _this4.handleMouseEnter,
496
+ onMouseEnter: _this5.handleMouseEnter,
489
497
  highlight: selectedIndex === i,
490
- getRef: _this4.itemRef,
498
+ getRef: _this5.itemRef,
491
499
  a11y: {
492
500
  role: 'option',
493
- ariaSelected: selectedId === options[idKey]
501
+ ariaSelected: selectedId === options[idKey],
502
+ ariaLabel: options[valueKey]
494
503
  }
495
504
  });
496
505
  })) : /*#__PURE__*/_react["default"].createElement(_EmptyState["default"], {
@@ -501,24 +510,22 @@ var SelectWithIcon = /*#__PURE__*/function (_Component) {
501
510
  dataId: dataId,
502
511
  i18nKeys: i18nKeys,
503
512
  htmlId: ariaErrorId
504
- })))));
513
+ }), isFetchingOptions && /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
514
+ isCover: false,
515
+ align: "both"
516
+ }, /*#__PURE__*/_react["default"].createElement(_Loader["default"], null))))));
505
517
  }) : null);
506
518
  }
507
519
  }]);
508
-
509
520
  return SelectWithIcon;
510
521
  }(_react.Component);
511
-
512
522
  SelectWithIcon.propTypes = _propTypes.SelectWithIcon_propTypes;
513
523
  SelectWithIcon.defaultProps = _defaultProps.SelectWithIcon_defaultProps;
514
-
515
524
  if (false) {
516
525
  SelectWithIcon.docs = {
517
526
  componentGroup: 'Form Elements',
518
527
  folderName: 'Style Guide'
519
528
  };
520
529
  }
521
-
522
530
  var _default = (0, _Popup["default"])(SelectWithIcon);
523
-
524
531
  exports["default"] = _default;