@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,11 +1,9 @@
1
1
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
-
3
2
  /**** Libraries ****/
4
3
  import React, { Component } from 'react';
5
4
  import { Select_defaultProps } from './props/defaultProps';
6
5
  import { Select_propTypes } from './props/propTypes';
7
6
  /**** Components ****/
8
-
9
7
  import Popup from '../Popup/Popup';
10
8
  import TextBoxIcon from '../TextBoxIcon/TextBoxIcon';
11
9
  import { Container, Box } from '../Layout';
@@ -17,16 +15,16 @@ import { getUniqueId } from '../Provider/IdProvider';
17
15
  import Icon from '@zohodesk/icons/lib/Icon';
18
16
  import ResponsiveDropBox from '../ResponsiveDropBox/ResponsiveDropBox';
19
17
  import { ResponsiveReceiver } from '../Responsive/CustomResponsive';
20
- /**** Methods ****/
18
+ import Loader from '@zohodesk/svg/lib/Loader/Loader';
21
19
 
20
+ /**** Methods ****/
22
21
  import { makeFormatOptions, makeGetMultiSelectFilterSuggestions as makeGetFilterSuggestions, makeGetSelectedValueText as makeGetSelectedValue } from '../utils/dropDownUtils';
23
- import { debounce, scrollTo, getIsEmptyValue, getSearchString } from '../utils/Common.js';
22
+ import { debounce, scrollTo, getIsEmptyValue, getSearchString, findScrollEnd } from '../utils/Common.js';
24
23
  /**** CSS ****/
25
-
26
24
  import style from './Select.module.css';
27
25
  import { getLibraryConfig } from '../Provider/Config';
28
- /* eslint-disable react/no-deprecated */
29
26
 
27
+ /* eslint-disable react/no-deprecated */
30
28
  /* eslint-disable react/no-unused-prop-types */
31
29
 
32
30
  let dummyArray = [];
@@ -67,10 +65,9 @@ export class SelectComponent extends Component {
67
65
  valueField,
68
66
  textField
69
67
  });
70
-
71
- if (isSelfValueChanged) {// onChange && onChange(selectedId, normalizedAllOptions[selectedId]);
68
+ if (isSelfValueChanged) {
69
+ // onChange && onChange(selectedId, normalizedAllOptions[selectedId]);
72
70
  }
73
-
74
71
  this.state = {
75
72
  selected,
76
73
  options: allOptions,
@@ -113,10 +110,10 @@ export class SelectComponent extends Component {
113
110
  this.autoSelectSuggestions = [];
114
111
  this.autoSelectIndex = 0;
115
112
  }
116
-
117
113
  componentDidMount() {
118
114
  this._isMounted = true;
119
- this.handleExposePopupHandlers(); // let { suggestionContainer } = this;
115
+ this.handleExposePopupHandlers();
116
+ // let { suggestionContainer } = this;
120
117
  // suggestionContainer &&
121
118
  // suggestionContainer.addEventListener('scroll', this.handleScroll);
122
119
  }
@@ -158,10 +155,9 @@ export class SelectComponent extends Component {
158
155
  let {
159
156
  selectedValue: oldSelectedValue
160
157
  } = this.props;
161
-
162
- if (isSelfValueChanged && oldSelectedValue !== selectedValue) {// onChange && onChange(selectedId, normalizedAllOptions[selectedId]);
158
+ if (isSelfValueChanged && oldSelectedValue !== selectedValue) {
159
+ // onChange && onChange(selectedId, normalizedAllOptions[selectedId]);
163
160
  }
164
-
165
161
  this.selectedFormatOptions = Object.assign(oldSelectedFormatOptions, selectedValueDetails);
166
162
  this.normalizedFormatOptions = normalizedFormatOptions;
167
163
  this.optionsOrder = optionsOrder;
@@ -174,7 +170,6 @@ export class SelectComponent extends Component {
174
170
  selectedValueIndex: hoverIndex
175
171
  });
176
172
  }
177
-
178
173
  componentDidUpdate(prevProps) {
179
174
  let {
180
175
  suggestionContainer,
@@ -197,7 +192,6 @@ export class SelectComponent extends Component {
197
192
  let hoverId = getIsEmptyValue(optionsOrder[hoverIndex]) ? '' : optionsOrder[hoverIndex];
198
193
  let selSuggestion = this[`suggestion_${hoverId}`];
199
194
  isPopupOpen && scrollTo(suggestionContainer, selSuggestion);
200
-
201
195
  if (prevProps.isPopupOpen !== isPopupOpen) {
202
196
  if (isPopupOpen) {
203
197
  onDropBoxOpen && this.handleFetchOptions(onDropBoxOpen, searchStr);
@@ -215,22 +209,20 @@ export class SelectComponent extends Component {
215
209
  hoverIndex: selectedValueIndex
216
210
  });
217
211
  }
218
- } //When suggestions length less than 5, getNextOptions function call
219
-
212
+ }
220
213
 
214
+ //When suggestions length less than 5, getNextOptions function call
221
215
  let {
222
216
  isNextOptions,
223
217
  getNextOptions
224
- } = this.props; // let { searchStr } = this.state;
225
-
218
+ } = this.props;
219
+ // let { searchStr } = this.state;
226
220
  let suggestions = isPopupOpen ? this.handleFilterSuggestions() : [];
227
221
  let suggestionsLen = suggestions.length;
228
-
229
222
  if (isPopupOpen && suggestionsLen <= 5 && isNextOptions && getNextOptions && !needLocalSearch) {
230
223
  this.handleFetchOptions(getNextOptions, searchStr);
231
224
  }
232
225
  }
233
-
234
226
  componentWillUnmount() {
235
227
  this._isMounted = false;
236
228
  let {
@@ -242,7 +234,8 @@ export class SelectComponent extends Component {
242
234
  closePopup: null,
243
235
  togglePopup: null
244
236
  };
245
- getPopupHandlers && getPopupHandlers(methods); // let { suggestionContainer } = this;
237
+ getPopupHandlers && getPopupHandlers(methods);
238
+ // let { suggestionContainer } = this;
246
239
  // suggestionContainer &&
247
240
  // suggestionContainer.removeEventListener('scroll', this.handleScroll);
248
241
  }
@@ -264,7 +257,6 @@ export class SelectComponent extends Component {
264
257
  listItemProps
265
258
  });
266
259
  }
267
-
268
260
  handleChange(id, value, index, e) {
269
261
  e && e.preventDefault && e.preventDefault();
270
262
  let {
@@ -275,11 +267,10 @@ export class SelectComponent extends Component {
275
267
  let {
276
268
  optionsNormalize
277
269
  } = this.state;
278
- !isReadOnly && onChange && onChange(id, optionsNormalize[id]); // this.valueInput && this.valueInput.focus({preventScroll:true});
279
-
270
+ !isReadOnly && onChange && onChange(id, optionsNormalize[id]);
271
+ // this.valueInput && this.valueInput.focus({preventScroll:true});
280
272
  needCloseOnSelect && this.handlePopupClose(e);
281
273
  }
282
-
283
274
  responsiveFunc(_ref) {
284
275
  let {
285
276
  mediaQueryOR
@@ -290,7 +281,6 @@ export class SelectComponent extends Component {
290
281
  }])
291
282
  };
292
283
  }
293
-
294
284
  handleKeyDown(e) {
295
285
  let {
296
286
  onChange,
@@ -307,38 +297,33 @@ export class SelectComponent extends Component {
307
297
  let {
308
298
  keyCode
309
299
  } = e;
310
-
311
300
  if (!isPopupOpen && !isPopupOpenOnEnter) {
312
301
  onKeyDown && onKeyDown(e);
313
302
  }
314
-
315
303
  if (isPopupOpen && (keyCode === 38 || keyCode === 40 || keyCode === 13) && e.preventDefault) {
316
304
  e.preventDefault(); //prevent body scroll and enter key prevent
317
305
  } else if (!isPopupOpen && keyCode === 40) {
318
306
  e.preventDefault(); //prevent body scroll
319
-
320
307
  this.togglePopup(e);
321
308
  }
322
-
323
309
  if (keyCode === 38 && isPopupOpen && options.length) {
324
- if (hoverIndex === 0) {// hoverIndex = options.length - 1;
310
+ if (hoverIndex === 0) {
311
+ // hoverIndex = options.length - 1;
325
312
  } else {
326
313
  hoverIndex -= 1;
327
314
  }
328
-
329
315
  this.setState({
330
316
  hoverIndex
331
317
  });
332
318
  } else if (keyCode === 40 && isPopupOpen && options.length) {
333
- if (hoverIndex === options.length - 1) {// hoverIndex = 0;
319
+ if (hoverIndex === options.length - 1) {
320
+ // hoverIndex = 0;
334
321
  } else {
335
322
  if (hoverIndex === options.length - 3) {
336
323
  this.handleGetNextOptions();
337
324
  }
338
-
339
325
  hoverIndex += 1;
340
326
  }
341
-
342
327
  this.setState({
343
328
  hoverIndex
344
329
  });
@@ -347,36 +332,32 @@ export class SelectComponent extends Component {
347
332
  let {
348
333
  id
349
334
  } = option || {};
350
-
351
335
  if (isPopupOpen && !getIsEmptyValue(id) && onChange) {
352
336
  onChange(id, optionsNormalize[id]);
353
337
  needCloseOnSelect && this.handlePopupClose(e);
354
338
  }
355
-
356
339
  if (!isPopupOpen && isPopupOpenOnEnter) {
357
340
  this.togglePopup(e);
358
341
  }
359
342
  } else if (keyCode === 27) {
360
343
  this.valueInput && this.valueInput.focus({
361
344
  preventScroll: true
362
- }); //this.handlePopupClose(e);
345
+ });
346
+ //this.handlePopupClose(e);
363
347
  } else if (keyCode === 9) {
364
348
  let option = options[hoverIndex];
365
349
  let {
366
350
  id
367
351
  } = option || {};
368
-
369
352
  if (isPopupOpen && !getIsEmptyValue(id)) {
370
353
  onChange && onChange(id, optionsNormalize[id]);
371
354
  needCloseOnSelect && this.handlePopupClose(e);
372
355
  }
373
-
374
356
  if (!isPopupOpen && isPopupOpenOnEnter) {
375
357
  this.togglePopup(e);
376
358
  }
377
359
  }
378
360
  }
379
-
380
361
  handleSearchOptions() {
381
362
  let {
382
363
  onSearch
@@ -386,7 +367,6 @@ export class SelectComponent extends Component {
386
367
  } = this.state;
387
368
  searchStr && this.handleFetchOptions(onSearch, searchStr);
388
369
  }
389
-
390
370
  handleSearch(value) {
391
371
  // let { value = '' } = e.target;
392
372
  let {
@@ -409,10 +389,7 @@ export class SelectComponent extends Component {
409
389
  }
410
390
  });
411
391
  }
412
-
413
- handleMouseEnter(id
414
- /*val, index*/
415
- ) {
392
+ handleMouseEnter(id /*val, index*/) {
416
393
  let {
417
394
  hoverIndex
418
395
  } = this.state;
@@ -424,21 +401,21 @@ export class SelectComponent extends Component {
424
401
  hoverIndex: newHoverIndex
425
402
  });
426
403
  }
427
-
428
404
  handleFilterSuggestions() {
429
405
  let {
430
406
  needLocalSearch,
431
- excludeOptions = dummyArray // needSearch
432
-
407
+ excludeOptions = dummyArray
408
+ // needSearch
433
409
  } = this.props;
434
410
  let {
435
411
  options = dummyArray,
436
412
  searchStr = ''
437
- } = this.state; // if (
413
+ } = this.state;
414
+
415
+ // if (
438
416
  // (needSearch && searchStr && searchStr.trim().length) ||
439
417
  // (excludeOptions && excludeOptions.length)
440
418
  // ) {
441
-
442
419
  searchStr = getSearchString(searchStr);
443
420
  let {
444
421
  suggestions,
@@ -450,25 +427,16 @@ export class SelectComponent extends Component {
450
427
  needSearch: needLocalSearch
451
428
  });
452
429
  this.optionsOrder = suggestionIds;
453
- return suggestions; // }
430
+ return suggestions;
431
+ // }
454
432
  // return options;
455
433
  }
456
434
 
457
435
  handleScroll(e) {
458
436
  let ele = e.target;
459
- let {
460
- height: eleHeight
461
- } = ele.getBoundingClientRect();
462
- let elementHeight = eleHeight || ele.clientHeight; // let elementHeight = ele.clientHeight;
463
-
464
- let eleScrollTop = ele.scrollTop;
465
- let eleScrollHeight = ele.scrollHeight;
466
-
467
- if (eleScrollHeight - (eleScrollTop + elementHeight) < 1) {
468
- this.handleGetNextOptions();
469
- }
437
+ let isScrollReachedBottom = findScrollEnd(ele);
438
+ isScrollReachedBottom && this.handleGetNextOptions();
470
439
  }
471
-
472
440
  handleFetchOptions(APICall) {
473
441
  let searchStr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
474
442
  // let funcArgs = args.slice(1, args.length);
@@ -478,12 +446,10 @@ export class SelectComponent extends Component {
478
446
  let {
479
447
  _isMounted
480
448
  } = this;
481
-
482
449
  if (!isFetchingOptions && APICall) {
483
450
  this.setState({
484
451
  isFetchingOptions: true
485
452
  });
486
-
487
453
  try {
488
454
  return APICall(searchStr).then(() => {
489
455
  _isMounted && this.setState({
@@ -501,7 +467,6 @@ export class SelectComponent extends Component {
501
467
  }
502
468
  }
503
469
  }
504
-
505
470
  handleGetNextOptions() {
506
471
  let {
507
472
  isNextOptions,
@@ -512,7 +477,6 @@ export class SelectComponent extends Component {
512
477
  } = this.state;
513
478
  isNextOptions && getNextOptions && this.handleFetchOptions(getNextOptions, searchStr);
514
479
  }
515
-
516
480
  togglePopup(e) {
517
481
  let {
518
482
  togglePopup,
@@ -524,7 +488,6 @@ export class SelectComponent extends Component {
524
488
  !isReadOnly && togglePopup(e, defaultDropBoxPosition ? `${defaultDropBoxPosition}` : null);
525
489
  !isPopupOpen && typeof onFocus === 'function' && onFocus(e);
526
490
  }
527
-
528
491
  handlePopupClose(e) {
529
492
  let {
530
493
  closePopupOnly
@@ -534,19 +497,15 @@ export class SelectComponent extends Component {
534
497
  });
535
498
  closePopupOnly(e);
536
499
  }
537
-
538
500
  suggestionContainerRef(el) {
539
501
  this.suggestionContainer = el;
540
502
  }
541
-
542
503
  suggestionItemRef(el, index, id) {
543
504
  this[`suggestion_${id}`] = el;
544
505
  }
545
-
546
506
  searchInputRef(el) {
547
507
  this.searchInput = el;
548
508
  }
549
-
550
509
  valueInputRef(el) {
551
510
  let {
552
511
  getRef
@@ -554,14 +513,12 @@ export class SelectComponent extends Component {
554
513
  this.valueInput = el;
555
514
  getRef && getRef(el);
556
515
  }
557
-
558
516
  handleSelectFocus() {
559
517
  let {
560
518
  valueInput
561
519
  } = this;
562
520
  valueInput && valueInput.setSelectionRange(valueInput, 0);
563
521
  }
564
-
565
522
  handleClearSearch() {
566
523
  this.handleSearch('');
567
524
  setTimeout(() => {
@@ -570,7 +527,6 @@ export class SelectComponent extends Component {
570
527
  });
571
528
  }, 1);
572
529
  }
573
-
574
530
  handleValueInputChange(e) {
575
531
  let {
576
532
  which
@@ -580,13 +536,11 @@ export class SelectComponent extends Component {
580
536
  isPopupOpen,
581
537
  autoSelectOnType
582
538
  } = this.props;
583
-
584
539
  if (!isPopupOpen && autoSelectOnType) {
585
540
  this.valueInputTypeString += (typeString || '').trim();
586
541
  this.handleChangeOnType();
587
542
  }
588
543
  }
589
-
590
544
  handleChangeOnType() {
591
545
  let {
592
546
  excludeOptions = dummyArray
@@ -599,13 +553,11 @@ export class SelectComponent extends Component {
599
553
  } = this;
600
554
  let typeString = this.valueInputTypeString;
601
555
  this.valueInputTypeString = '';
602
-
603
556
  let changeValue = () => {
604
557
  let optionDetails = this.autoSelectSuggestions[this.autoSelectIndex];
605
558
  let {
606
559
  id
607
560
  } = optionDetails || {};
608
-
609
561
  if (!getIsEmptyValue(id)) {
610
562
  this.handleChange(id);
611
563
  let hoverIndex = optionsOrder.indexOf(id);
@@ -614,14 +566,12 @@ export class SelectComponent extends Component {
614
566
  });
615
567
  }
616
568
  };
617
-
618
569
  if (typeString && typeString === this.valueInputSearchString) {
619
570
  if (this.autoSelectIndex < this.autoSelectSuggestions.length - 1) {
620
571
  this.autoSelectIndex += 1;
621
572
  } else {
622
573
  this.autoSelectIndex = 0;
623
574
  }
624
-
625
575
  changeValue();
626
576
  } else if (typeString) {
627
577
  this.valueInputSearchString = typeString;
@@ -639,7 +589,6 @@ export class SelectComponent extends Component {
639
589
  changeValue();
640
590
  }
641
591
  }
642
-
643
592
  handleAddNewOption() {
644
593
  let {
645
594
  searchStr
@@ -648,7 +597,6 @@ export class SelectComponent extends Component {
648
597
  onAddNewOption,
649
598
  getCustomEmptyState
650
599
  } = this.props;
651
-
652
600
  if (getCustomEmptyState) {
653
601
  this.setState({
654
602
  searchStr: ''
@@ -656,7 +604,6 @@ export class SelectComponent extends Component {
656
604
  this.handleFetchOptions(onAddNewOption, searchStr);
657
605
  }
658
606
  }
659
-
660
607
  handleExposePopupHandlers() {
661
608
  let {
662
609
  removeClose,
@@ -673,7 +620,6 @@ export class SelectComponent extends Component {
673
620
  };
674
621
  getPopupHandlers && getPopupHandlers(methods);
675
622
  }
676
-
677
623
  handleGetAddNewOptionText() {
678
624
  let {
679
625
  searchStr
@@ -686,7 +632,6 @@ export class SelectComponent extends Component {
686
632
  onAddNewOption: this.handleAddNewOption
687
633
  });
688
634
  }
689
-
690
635
  render() {
691
636
  let {
692
637
  needSearch,
@@ -730,7 +675,9 @@ export class SelectComponent extends Component {
730
675
  children,
731
676
  iconOnHover,
732
677
  customProps,
733
- autoComplete
678
+ autoComplete,
679
+ ariaLabelledby,
680
+ isLoading
734
681
  } = this.props;
735
682
  let {
736
683
  TextBoxIcon_i18n,
@@ -766,14 +713,15 @@ export class SelectComponent extends Component {
766
713
  "data-id": `${isDisabled ? `${dataId}_disabled` : isReadOnly ? `${dataId}_readOnly` : dataId}`
767
714
  }, needSelectDownIcon ? /*#__PURE__*/React.createElement(TextBoxIcon, {
768
715
  a11y: {
769
- role: 'combobox',
716
+ role: 'Menuitem',
770
717
  ariaLabel: TextBox_ally_label,
771
718
  ariaControls: setAriaId,
772
719
  ariaExpanded: !isReadOnly && !isDisabled && isPopupOpen ? true : false,
773
720
  ariaHaspopup: true,
774
721
  ariaReadonly: true,
775
722
  ariaActivedescendant: selectedId,
776
- ariaOwns: setAriaId
723
+ ariaOwns: setAriaId,
724
+ ariaLabelledby: ariaLabelledby
777
725
  },
778
726
  isDisabled: isDisabled,
779
727
  iconRotated: isPopupOpen,
@@ -818,14 +766,15 @@ export class SelectComponent extends Component {
818
766
  size: "7"
819
767
  })))) : /*#__PURE__*/React.createElement(Textbox, {
820
768
  a11y: {
821
- role: 'combobox',
769
+ role: 'Menuitem',
822
770
  ariaLabel: TextBox_ally_label,
823
771
  ariaControls: setAriaId,
824
772
  ariaExpanded: !isReadOnly && !isDisabled && isPopupOpen ? true : false,
825
773
  ariaHaspopup: true,
826
774
  ariaReadonly: true,
827
775
  ariaActivedescendant: selectedId,
828
- ariaOwns: setAriaId
776
+ ariaOwns: setAriaId,
777
+ ariaLabelledby: ariaLabelledby
829
778
  },
830
779
  isDisabled: isDisabled,
831
780
  inputRef: this.valueInputRef,
@@ -869,7 +818,10 @@ export class SelectComponent extends Component {
869
818
  isPadding: false,
870
819
  isResponsivePadding: getFooter ? false : true,
871
820
  alignBox: "row"
872
- }, !getChildren ? /*#__PURE__*/React.createElement(Box, {
821
+ }, isLoading ? /*#__PURE__*/React.createElement(Container, {
822
+ align: "both",
823
+ className: style.loader
824
+ }, /*#__PURE__*/React.createElement(Loader, null)) : /*#__PURE__*/React.createElement(React.Fragment, null, !getChildren ? /*#__PURE__*/React.createElement(Box, {
873
825
  flexible: true
874
826
  }, /*#__PURE__*/React.createElement(Card, {
875
827
  onScroll: this.handleScroll
@@ -926,12 +878,14 @@ export class SelectComponent extends Component {
926
878
  getCustomEmptyState: getCustomEmptyState ? this.handleGetAddNewOptionText : null,
927
879
  i18nKeys: i18nKeys,
928
880
  htmlId: ariaErrorId
929
- })), getFooter ? /*#__PURE__*/React.createElement(CardFooter, null, getFooter()) : null)) : /*#__PURE__*/React.createElement(Box, {
881
+ }), isFetchingOptions && /*#__PURE__*/React.createElement(Container, {
882
+ isCover: false,
883
+ align: "both"
884
+ }, /*#__PURE__*/React.createElement(Loader, null))), getFooter ? /*#__PURE__*/React.createElement(CardFooter, null, getFooter()) : null)) : /*#__PURE__*/React.createElement(Box, {
930
885
  flexible: true
931
- }, getChildren()));
886
+ }, getChildren())));
932
887
  }) : null);
933
888
  }
934
-
935
889
  }
936
890
  SelectComponent.propTypes = Select_propTypes;
937
891
  SelectComponent.defaultProps = Select_defaultProps;
@@ -939,14 +893,13 @@ SelectComponent.displayName = 'Select';
939
893
  let Select = Popup(SelectComponent);
940
894
  Select.defaultProps = SelectComponent.defaultProps;
941
895
  export default Select;
942
-
943
896
  if (false) {
944
897
  Select.docs = {
945
898
  componentGroup: 'Form Elements',
946
899
  folderName: 'Style Guide',
947
900
  external: true,
948
901
  description: ' '
949
- }; // eslint-disable-next-line react/forbid-foreign-prop-types
950
-
902
+ };
903
+ // eslint-disable-next-line react/forbid-foreign-prop-types
951
904
  Select.propTypes = SelectComponent.propTypes;
952
905
  }
@@ -104,3 +104,6 @@
104
104
  opacity: 1;
105
105
  visibility: visible;
106
106
  }
107
+ .loader {
108
+ padding: var(--zd_size10);
109
+ }