@zohodesk/components 1.0.0-alpha-271 → 1.0.0-alpha-272

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 (352) hide show
  1. package/README.md +4 -0
  2. package/es/Accordion/Accordion.js +7 -3
  3. package/es/Accordion/AccordionItem.js +4 -2
  4. package/es/Animation/Animation.js +3 -3
  5. package/es/AppContainer/AppContainer.js +13 -5
  6. package/es/Avatar/Avatar.js +23 -11
  7. package/es/AvatarTeam/AvatarTeam.js +3 -3
  8. package/es/Button/Button.js +4 -3
  9. package/es/Buttongroup/Buttongroup.js +3 -3
  10. package/es/Card/Card.js +21 -10
  11. package/es/CheckBox/CheckBox.js +5 -3
  12. package/es/DateTime/CalendarView.js +32 -20
  13. package/es/DateTime/DateTime.js +75 -10
  14. package/es/DateTime/DateTimePopupFooter.js +4 -2
  15. package/es/DateTime/DateTimePopupHeader.js +8 -2
  16. package/es/DateTime/DateWidget.js +98 -35
  17. package/es/DateTime/DaysRow.js +4 -2
  18. package/es/DateTime/Time.js +10 -2
  19. package/es/DateTime/YearView.js +28 -4
  20. package/es/DateTime/__tests__/CalendarView.spec.js +1 -0
  21. package/es/DateTime/__tests__/DateTime.spec.js +1 -0
  22. package/es/DateTime/__tests__/DateWidget.spec.js +2 -3
  23. package/es/DateTime/common.js +3 -0
  24. package/es/DateTime/constants.js +1 -0
  25. package/es/DateTime/dateFormatUtils/dateFormat.js +63 -30
  26. package/es/DateTime/dateFormatUtils/dateFormats.js +0 -1
  27. package/es/DateTime/dateFormatUtils/dayChange.js +13 -4
  28. package/es/DateTime/dateFormatUtils/index.js +32 -2
  29. package/es/DateTime/dateFormatUtils/monthChange.js +8 -0
  30. package/es/DateTime/dateFormatUtils/timeChange.js +22 -6
  31. package/es/DateTime/dateFormatUtils/yearChange.js +11 -2
  32. package/es/DateTime/objectUtils.js +14 -20
  33. package/es/DateTime/props/defaultProps.js +2 -1
  34. package/es/DateTime/typeChecker.js +3 -0
  35. package/es/DateTime/validator.js +58 -6
  36. package/es/DropBox/DropBox.js +6 -2
  37. package/es/DropBox/DropBoxElement/DropBoxElement.js +7 -0
  38. package/es/DropBox/DropBoxElement/css/cssJSLogic.js +5 -3
  39. package/es/DropBox/DropBoxElement/useDropboxPosCalc.js +3 -0
  40. package/es/DropBox/props/defaultProps.js +1 -2
  41. package/es/DropBox/props/propTypes.js +1 -2
  42. package/es/DropDown/DropDown.js +8 -4
  43. package/es/DropDown/DropDownHeading.js +4 -5
  44. package/es/DropDown/DropDownItem.js +6 -0
  45. package/es/DropDown/DropDownSearch.js +4 -0
  46. package/es/DropDown/DropDownSeparator.js +1 -0
  47. package/es/DropDown/__tests__/DropDown.spec.js +1 -2
  48. package/es/Heading/Heading.js +2 -3
  49. package/es/Label/Label.js +2 -3
  50. package/es/Layout/Box.js +13 -0
  51. package/es/Layout/Container.js +12 -1
  52. package/es/Layout/index.js +1 -2
  53. package/es/ListItem/ListContainer.js +8 -3
  54. package/es/ListItem/ListItem.js +9 -3
  55. package/es/ListItem/ListItemWithAvatar.js +9 -3
  56. package/es/ListItem/ListItemWithCheckBox.js +7 -2
  57. package/es/ListItem/ListItemWithIcon.js +8 -3
  58. package/es/ListItem/ListItemWithRadio.js +7 -3
  59. package/es/Modal/Modal.js +28 -11
  60. package/es/MultiSelect/AdvancedGroupMultiSelect.js +89 -13
  61. package/es/MultiSelect/AdvancedMultiSelect.js +32 -9
  62. package/es/MultiSelect/EmptyState.js +2 -0
  63. package/es/MultiSelect/MultiSelect.js +99 -32
  64. package/es/MultiSelect/MultiSelectHeader.js +3 -0
  65. package/es/MultiSelect/MultiSelectWithAvatar.js +12 -6
  66. package/es/MultiSelect/SelectedOptions.js +6 -3
  67. package/es/MultiSelect/Suggestions.js +7 -3
  68. package/es/MultiSelect/__tests__/MultiSelect.spec.js +4 -6
  69. package/es/MultiSelect/props/propTypes.js +2 -0
  70. package/es/PopOver/PopOver.js +18 -2
  71. package/es/PopOver/__tests__/PopOver.spec.js +2 -1
  72. package/es/Popup/Popup.js +77 -24
  73. package/es/Popup/__tests__/Popup.spec.js +17 -5
  74. package/es/Popup/viewPort.js +16 -4
  75. package/es/Provider/IdProvider.js +10 -5
  76. package/es/Provider/LibraryContext.js +6 -4
  77. package/es/Provider/NumberGenerator/NumberGenerator.js +21 -7
  78. package/es/Provider/ZindexProvider.js +9 -2
  79. package/es/Radio/Radio.js +4 -2
  80. package/es/Responsive/CustomResponsive.js +30 -18
  81. package/es/Responsive/RefWrapper.js +6 -7
  82. package/es/Responsive/ResizeComponent.js +35 -25
  83. package/es/Responsive/ResizeObserver.js +26 -6
  84. package/es/Responsive/Responsive.js +34 -20
  85. package/es/Responsive/index.js +1 -3
  86. package/es/Responsive/sizeObservers.js +28 -7
  87. package/es/Responsive/utils/index.js +7 -5
  88. package/es/Responsive/utils/shallowCompare.js +7 -2
  89. package/es/Responsive/windowResizeObserver.js +7 -0
  90. package/es/ResponsiveDropBox/ResponsiveDropBox.js +4 -0
  91. package/es/Ribbon/Ribbon.js +3 -2
  92. package/es/RippleEffect/RippleEffect.js +1 -3
  93. package/es/Select/GroupSelect.js +58 -14
  94. package/es/Select/Select.js +79 -33
  95. package/es/Select/SelectWithAvatar.js +17 -4
  96. package/es/Select/SelectWithIcon.js +46 -5
  97. package/es/Select/__tests__/Select.spec.js +6 -8
  98. package/es/Select/props/propTypes.js +1 -0
  99. package/es/Stencils/Stencils.js +3 -3
  100. package/es/Switch/Switch.js +5 -3
  101. package/es/Tab/Tab.js +4 -4
  102. package/es/Tab/TabContent.js +1 -0
  103. package/es/Tab/TabContentWrapper.js +2 -0
  104. package/es/Tab/TabWrapper.js +5 -2
  105. package/es/Tab/Tabs.js +54 -7
  106. package/es/Tab/__tests__/Tab.spec.js +1 -3
  107. package/es/Tab/__tests__/TabWrapper.spec.js +1 -0
  108. package/es/Tag/Tag.js +6 -3
  109. package/es/TextBox/TextBox.js +15 -3
  110. package/es/TextBox/__tests__/TextBox.spec.js +1 -4
  111. package/es/TextBoxIcon/TextBoxIcon.js +9 -2
  112. package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +2 -7
  113. package/es/Textarea/Textarea.js +12 -3
  114. package/es/Textarea/__tests__/Textarea.spec.js +2 -2
  115. package/es/Tooltip/Tooltip.js +58 -14
  116. package/es/Tooltip/__tests__/Tooltip.spec.js +5 -0
  117. package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +3 -2
  118. package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +7 -5
  119. package/es/deprecated/PortalLayer/PortalLayer.js +25 -20
  120. package/es/semantic/Button/Button.js +3 -2
  121. package/es/utils/Common.js +54 -9
  122. package/es/utils/ContextOptimizer.js +4 -5
  123. package/es/utils/__tests__/debounce.spec.js +2 -2
  124. package/es/utils/constructFullName.js +2 -0
  125. package/es/utils/css/compileClassNames.js +5 -0
  126. package/es/utils/css/mergeStyle.js +7 -6
  127. package/es/utils/css/utils.js +1 -0
  128. package/es/utils/datetime/GMTZones.js +48 -0
  129. package/es/utils/datetime/common.js +31 -7
  130. package/es/utils/debounce.js +5 -1
  131. package/es/utils/dropDownUtils.js +68 -11
  132. package/es/utils/getInitial.js +4 -0
  133. package/es/utils/shallowEqual.js +6 -0
  134. package/lib/Accordion/Accordion.js +42 -18
  135. package/lib/Accordion/AccordionItem.js +40 -18
  136. package/lib/Accordion/__tests__/Accordion.spec.js +3 -0
  137. package/lib/Accordion/index.js +3 -0
  138. package/lib/Accordion/props/propTypes.js +3 -0
  139. package/lib/Animation/Animation.js +38 -18
  140. package/lib/Animation/__tests__/Animation.spec.js +11 -7
  141. package/lib/Animation/props/propTypes.js +3 -0
  142. package/lib/AppContainer/AppContainer.js +56 -21
  143. package/lib/AppContainer/props/propTypes.js +3 -0
  144. package/lib/Avatar/Avatar.js +78 -38
  145. package/lib/Avatar/__tests__/Avatar.spec.js +44 -0
  146. package/lib/Avatar/props/propTypes.js +3 -0
  147. package/lib/AvatarTeam/AvatarTeam.js +52 -30
  148. package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +13 -0
  149. package/lib/AvatarTeam/props/propTypes.js +3 -0
  150. package/lib/Button/Button.js +31 -20
  151. package/lib/Button/css/cssJSLogic.js +18 -17
  152. package/lib/Button/index.js +3 -0
  153. package/lib/Button/props/defaultProps.js +2 -0
  154. package/lib/Button/props/propTypes.js +3 -0
  155. package/lib/Buttongroup/Buttongroup.js +32 -12
  156. package/lib/Buttongroup/__test__/Buttongroup.spec.js +10 -0
  157. package/lib/Buttongroup/props/propTypes.js +3 -0
  158. package/lib/Card/Card.js +102 -46
  159. package/lib/Card/__tests__/Card.spec.js +10 -1
  160. package/lib/Card/index.js +4 -0
  161. package/lib/Card/props/propTypes.js +3 -0
  162. package/lib/CheckBox/CheckBox.js +71 -47
  163. package/lib/CheckBox/__tests__/CheckBox.spec.js +3 -0
  164. package/lib/CheckBox/props/propTypes.js +3 -0
  165. package/lib/DateTime/CalendarView.js +82 -42
  166. package/lib/DateTime/DateTime.js +246 -158
  167. package/lib/DateTime/DateTimePopupFooter.js +31 -8
  168. package/lib/DateTime/DateTimePopupHeader.js +48 -17
  169. package/lib/DateTime/DateWidget.js +352 -250
  170. package/lib/DateTime/DaysRow.js +27 -5
  171. package/lib/DateTime/Time.js +73 -32
  172. package/lib/DateTime/YearView.js +77 -28
  173. package/lib/DateTime/__tests__/CalendarView.spec.js +13 -5
  174. package/lib/DateTime/__tests__/DateTime.spec.js +51 -37
  175. package/lib/DateTime/__tests__/DateWidget.spec.js +10 -8
  176. package/lib/DateTime/common.js +6 -0
  177. package/lib/DateTime/constants.js +1 -0
  178. package/lib/DateTime/dateFormatUtils/dateFormat.js +184 -122
  179. package/lib/DateTime/dateFormatUtils/dateFormats.js +0 -1
  180. package/lib/DateTime/dateFormatUtils/dayChange.js +14 -7
  181. package/lib/DateTime/dateFormatUtils/index.js +74 -16
  182. package/lib/DateTime/dateFormatUtils/monthChange.js +19 -9
  183. package/lib/DateTime/dateFormatUtils/timeChange.js +54 -22
  184. package/lib/DateTime/dateFormatUtils/yearChange.js +22 -11
  185. package/lib/DateTime/index.js +2 -0
  186. package/lib/DateTime/objectUtils.js +24 -20
  187. package/lib/DateTime/props/defaultProps.js +2 -1
  188. package/lib/DateTime/props/propTypes.js +11 -1
  189. package/lib/DateTime/typeChecker.js +4 -0
  190. package/lib/DateTime/validator.js +73 -10
  191. package/lib/DropBox/DropBox.js +34 -10
  192. package/lib/DropBox/DropBoxElement/DropBoxElement.js +59 -38
  193. package/lib/DropBox/DropBoxElement/css/cssJSLogic.js +42 -34
  194. package/lib/DropBox/DropBoxElement/props/propTypes.js +3 -0
  195. package/lib/DropBox/DropBoxElement/useDropboxPosCalc.js +14 -9
  196. package/lib/DropBox/__tests__/DropBox.spec.js +6 -2
  197. package/lib/DropBox/css/cssJSLogic.js +3 -1
  198. package/lib/DropBox/props/defaultProps.js +8 -4
  199. package/lib/DropBox/props/propTypes.js +10 -4
  200. package/lib/DropDown/DropDown.js +52 -8
  201. package/lib/DropDown/DropDownHeading.js +39 -20
  202. package/lib/DropDown/DropDownItem.js +42 -20
  203. package/lib/DropDown/DropDownSearch.js +40 -17
  204. package/lib/DropDown/DropDownSeparator.js +24 -4
  205. package/lib/DropDown/__tests__/DropDown.spec.js +15 -9
  206. package/lib/DropDown/__tests__/DropDownItem.spec.js +9 -4
  207. package/lib/DropDown/__tests__/DropDownSearch.spec.js +3 -0
  208. package/lib/DropDown/index.js +9 -0
  209. package/lib/DropDown/props/propTypes.js +6 -4
  210. package/lib/Heading/Heading.js +37 -15
  211. package/lib/Heading/props/propTypes.js +3 -0
  212. package/lib/Label/Label.js +39 -19
  213. package/lib/Label/__tests__/Label.spec.js +14 -1
  214. package/lib/Label/props/propTypes.js +3 -0
  215. package/lib/Layout/Box.js +31 -11
  216. package/lib/Layout/Container.js +29 -10
  217. package/lib/Layout/__tests__/Box.spec.js +65 -49
  218. package/lib/Layout/__tests__/Container.spec.js +67 -50
  219. package/lib/Layout/index.js +3 -0
  220. package/lib/Layout/props/propTypes.js +3 -0
  221. package/lib/Layout/utils.js +10 -0
  222. package/lib/ListItem/ListContainer.js +48 -27
  223. package/lib/ListItem/ListItem.js +69 -45
  224. package/lib/ListItem/ListItemWithAvatar.js +75 -48
  225. package/lib/ListItem/ListItemWithCheckBox.js +64 -39
  226. package/lib/ListItem/ListItemWithIcon.js +68 -44
  227. package/lib/ListItem/ListItemWithRadio.js +65 -41
  228. package/lib/ListItem/index.js +7 -0
  229. package/lib/ListItem/props/propTypes.js +6 -4
  230. package/lib/Modal/Modal.js +45 -10
  231. package/lib/Modal/props/propTypes.js +3 -0
  232. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +294 -166
  233. package/lib/MultiSelect/AdvancedMultiSelect.js +202 -125
  234. package/lib/MultiSelect/EmptyState.js +45 -24
  235. package/lib/MultiSelect/MultiSelect.js +323 -206
  236. package/lib/MultiSelect/MultiSelectHeader.js +30 -8
  237. package/lib/MultiSelect/MultiSelectWithAvatar.js +105 -63
  238. package/lib/MultiSelect/SelectedOptions.js +43 -17
  239. package/lib/MultiSelect/Suggestions.js +64 -32
  240. package/lib/MultiSelect/__tests__/MultiSelect.spec.js +86 -75
  241. package/lib/MultiSelect/index.js +5 -0
  242. package/lib/MultiSelect/props/defaultProps.js +2 -0
  243. package/lib/MultiSelect/props/propTypes.js +5 -0
  244. package/lib/PopOver/PopOver.js +95 -49
  245. package/lib/PopOver/__tests__/PopOver.spec.js +4 -1
  246. package/lib/PopOver/index.js +4 -0
  247. package/lib/PopOver/props/propTypes.js +3 -0
  248. package/lib/Popup/Popup.js +158 -81
  249. package/lib/Popup/__tests__/Popup.spec.js +43 -8
  250. package/lib/Popup/viewPort.js +28 -14
  251. package/lib/Provider/AvatarSize.js +4 -0
  252. package/lib/Provider/Config.js +2 -0
  253. package/lib/Provider/CssProvider.js +4 -0
  254. package/lib/Provider/IdProvider.js +17 -6
  255. package/lib/Provider/LibraryContext.js +35 -15
  256. package/lib/Provider/LibraryContextInit.js +4 -0
  257. package/lib/Provider/NumberGenerator/NumberGenerator.js +44 -15
  258. package/lib/Provider/ZindexProvider.js +15 -3
  259. package/lib/Provider/index.js +5 -0
  260. package/lib/Radio/Radio.js +61 -38
  261. package/lib/Radio/__tests__/Radiospec.js +9 -5
  262. package/lib/Radio/props/propTypes.js +3 -0
  263. package/lib/Responsive/CustomResponsive.js +73 -29
  264. package/lib/Responsive/RefWrapper.js +17 -11
  265. package/lib/Responsive/ResizeComponent.js +62 -36
  266. package/lib/Responsive/ResizeObserver.js +24 -10
  267. package/lib/Responsive/Responsive.js +80 -30
  268. package/lib/Responsive/index.js +4 -0
  269. package/lib/Responsive/props/propTypes.js +3 -0
  270. package/lib/Responsive/sizeObservers.js +53 -17
  271. package/lib/Responsive/utils/index.js +11 -3
  272. package/lib/Responsive/utils/shallowCompare.js +11 -2
  273. package/lib/Responsive/windowResizeObserver.js +8 -0
  274. package/lib/ResponsiveDropBox/ResponsiveDropBox.js +45 -17
  275. package/lib/ResponsiveDropBox/props/propTypes.js +3 -0
  276. package/lib/Ribbon/Ribbon.js +33 -13
  277. package/lib/Ribbon/__tests__/Ribbon.spec.js +22 -0
  278. package/lib/Ribbon/props/propTypes.js +3 -0
  279. package/lib/RippleEffect/RippleEffect.js +18 -10
  280. package/lib/RippleEffect/props/propTypes.js +3 -0
  281. package/lib/Select/GroupSelect.js +229 -130
  282. package/lib/Select/Select.js +290 -209
  283. package/lib/Select/SelectWithAvatar.js +102 -56
  284. package/lib/Select/SelectWithIcon.js +132 -76
  285. package/lib/Select/__tests__/Select.spec.js +133 -91
  286. package/lib/Select/index.js +5 -0
  287. package/lib/Select/props/defaultProps.js +5 -4
  288. package/lib/Select/props/propTypes.js +4 -0
  289. package/lib/Stencils/Stencils.js +29 -10
  290. package/lib/Stencils/__tests__/Stencils.spec.js +12 -0
  291. package/lib/Stencils/props/propTypes.js +3 -0
  292. package/lib/Switch/Switch.js +57 -34
  293. package/lib/Switch/props/propTypes.js +3 -0
  294. package/lib/Tab/Tab.js +40 -27
  295. package/lib/Tab/TabContent.js +12 -5
  296. package/lib/Tab/TabContentWrapper.js +13 -6
  297. package/lib/Tab/TabWrapper.js +37 -19
  298. package/lib/Tab/Tabs.js +171 -91
  299. package/lib/Tab/__tests__/Tab.spec.js +67 -58
  300. package/lib/Tab/__tests__/TabContent.spec.js +10 -6
  301. package/lib/Tab/__tests__/TabContentWrapper.spec.js +28 -20
  302. package/lib/Tab/__tests__/TabWrapper.spec.js +12 -0
  303. package/lib/Tab/__tests__/Tabs.spec.js +53 -39
  304. package/lib/Tab/index.js +6 -0
  305. package/lib/Tab/props/propTypes.js +3 -0
  306. package/lib/Tag/Tag.js +72 -43
  307. package/lib/Tag/__tests__/Tag.spec.js +14 -8
  308. package/lib/Tag/props/propTypes.js +3 -0
  309. package/lib/TextBox/TextBox.js +85 -59
  310. package/lib/TextBox/__tests__/TextBox.spec.js +14 -4
  311. package/lib/TextBox/props/propTypes.js +6 -4
  312. package/lib/TextBoxIcon/TextBoxIcon.js +79 -52
  313. package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +14 -5
  314. package/lib/TextBoxIcon/props/propTypes.js +3 -0
  315. package/lib/Textarea/Textarea.js +54 -29
  316. package/lib/Textarea/__tests__/Textarea.spec.js +14 -2
  317. package/lib/Textarea/props/propTypes.js +3 -0
  318. package/lib/Tooltip/Tooltip.js +94 -31
  319. package/lib/Tooltip/__tests__/Tooltip.spec.js +24 -3
  320. package/lib/Tooltip/props/propTypes.js +3 -0
  321. package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +40 -16
  322. package/lib/VelocityAnimation/VelocityAnimation/props/propTypes.js +3 -0
  323. package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +53 -25
  324. package/lib/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +3 -0
  325. package/lib/VelocityAnimation/index.js +3 -0
  326. package/lib/css.js +40 -0
  327. package/lib/deprecated/PortalLayer/PortalLayer.js +46 -23
  328. package/lib/deprecated/PortalLayer/props/propTypes.js +3 -0
  329. package/lib/index.js +57 -0
  330. package/lib/semantic/Button/Button.js +42 -22
  331. package/lib/semantic/Button/props/propTypes.js +3 -0
  332. package/lib/semantic/index.js +2 -0
  333. package/lib/utils/Common.js +110 -18
  334. package/lib/utils/ContextOptimizer.js +16 -10
  335. package/lib/utils/__tests__/constructFullName.spec.js +1 -0
  336. package/lib/utils/__tests__/debounce.spec.js +3 -2
  337. package/lib/utils/__tests__/getInitial.spec.js +1 -0
  338. package/lib/utils/constructFullName.js +13 -4
  339. package/lib/utils/css/compileClassNames.js +6 -0
  340. package/lib/utils/css/mergeStyle.js +10 -7
  341. package/lib/utils/css/utils.js +8 -0
  342. package/lib/utils/datetime/GMTZones.js +55 -0
  343. package/lib/utils/datetime/common.js +52 -7
  344. package/lib/utils/debounce.js +6 -1
  345. package/lib/utils/dropDownUtils.js +175 -59
  346. package/lib/utils/dummyFunction.js +2 -0
  347. package/lib/utils/getHTMLFontSize.js +1 -0
  348. package/lib/utils/getInitial.js +6 -0
  349. package/lib/utils/index.js +4 -0
  350. package/lib/utils/scrollTo.js +2 -0
  351. package/lib/utils/shallowEqual.js +8 -0
  352. package/package.json +1 -1
@@ -1,55 +1,93 @@
1
1
  "use strict";
2
2
 
3
3
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports["default"] = exports.SelectComponent = void 0;
9
+
8
10
  var _react = _interopRequireWildcard(require("react"));
11
+
9
12
  var _defaultProps = require("./props/defaultProps");
13
+
10
14
  var _propTypes = require("./props/propTypes");
15
+
11
16
  var _Popup = _interopRequireDefault(require("../Popup/Popup"));
17
+
12
18
  var _TextBoxIcon = _interopRequireDefault(require("../TextBoxIcon/TextBoxIcon"));
19
+
13
20
  var _Layout = require("../Layout");
21
+
14
22
  var _TextBox = _interopRequireDefault(require("../TextBox/TextBox"));
23
+
15
24
  var _Card = _interopRequireWildcard(require("../Card/Card"));
25
+
16
26
  var _Suggestions = _interopRequireDefault(require("../MultiSelect/Suggestions"));
27
+
17
28
  var _EmptyState = _interopRequireDefault(require("../MultiSelect/EmptyState"));
29
+
18
30
  var _IdProvider = require("../Provider/IdProvider");
31
+
19
32
  var _icons = require("@zohodesk/icons");
33
+
20
34
  var _ResponsiveDropBox = _interopRequireDefault(require("../ResponsiveDropBox/ResponsiveDropBox"));
35
+
21
36
  var _CustomResponsive = require("../Responsive/CustomResponsive");
37
+
22
38
  var _Loader = _interopRequireDefault(require("@zohodesk/svg/lib/Loader/Loader"));
39
+
23
40
  var _dropDownUtils = require("../utils/dropDownUtils");
41
+
24
42
  var _Common = require("../utils/Common.js");
43
+
25
44
  var _SelectModule = _interopRequireDefault(require("./Select.module.css"));
45
+
26
46
  var _Config = require("../Provider/Config");
47
+
27
48
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
49
+
28
50
  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); }
51
+
29
52
  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; }
53
+
30
54
  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); }
55
+
31
56
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
32
- 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, _toPropertyKey(descriptor.key), descriptor); } }
57
+
58
+ 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); } }
59
+
33
60
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
34
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
35
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
61
+
36
62
  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); }
63
+
37
64
  function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
65
+
38
66
  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); }; }
67
+
39
68
  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); }
69
+
40
70
  function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
71
+
41
72
  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; } }
73
+
42
74
  function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
75
+
43
76
  /* eslint-disable react/no-deprecated */
44
- /* eslint-disable react/no-unused-prop-types */
45
77
 
78
+ /* eslint-disable react/no-unused-prop-types */
46
79
  var dummyArray = [];
80
+
47
81
  var SelectComponent = /*#__PURE__*/function (_Component) {
48
82
  _inherits(SelectComponent, _Component);
83
+
49
84
  var _super = _createSuper(SelectComponent);
85
+
50
86
  function SelectComponent(props) {
51
87
  var _this;
88
+
52
89
  _classCallCheck(this, SelectComponent);
90
+
53
91
  _this = _super.call(this, props);
54
92
  _this.getNextAriaId = (0, _IdProvider.getUniqueId)(_assertThisInitialized(_this));
55
93
  _this.getFilterSuggestions = (0, _dropDownUtils.makeGetMultiSelectFilterSuggestions)();
@@ -57,35 +95,38 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
57
95
  _this.getSelectedValue = (0, _dropDownUtils.makeGetSelectedValueText)();
58
96
  _this.selectedFormatOptions = {};
59
97
  var selectedValue = props.selectedValue,
60
- _props$searchDebounce = props.searchDebounceTime,
61
- searchDebounceTime = _props$searchDebounce === void 0 ? 500 : _props$searchDebounce,
62
- isDefaultSelectValue = props.isDefaultSelectValue,
63
- _props$autoSelectDebo = props.autoSelectDebouneTime,
64
- autoSelectDebouneTime = _props$autoSelectDebo === void 0 ? 350 : _props$autoSelectDebo,
65
- valueField = props.valueField,
66
- textField = props.textField;
98
+ _props$searchDebounce = props.searchDebounceTime,
99
+ searchDebounceTime = _props$searchDebounce === void 0 ? 500 : _props$searchDebounce,
100
+ isDefaultSelectValue = props.isDefaultSelectValue,
101
+ _props$autoSelectDebo = props.autoSelectDebouneTime,
102
+ autoSelectDebouneTime = _props$autoSelectDebo === void 0 ? 350 : _props$autoSelectDebo,
103
+ valueField = props.valueField,
104
+ textField = props.textField;
105
+
67
106
  var _this$handleFormatOpt = _this.handleFormatOptions(_this.props),
68
- allOptions = _this$handleFormatOpt.allOptions,
69
- normalizedAllOptions = _this$handleFormatOpt.normalizedAllOptions,
70
- optionsOrder = _this$handleFormatOpt.optionsOrder,
71
- normalizedFormatOptions = _this$handleFormatOpt.normalizedFormatOptions;
107
+ allOptions = _this$handleFormatOpt.allOptions,
108
+ normalizedAllOptions = _this$handleFormatOpt.normalizedAllOptions,
109
+ optionsOrder = _this$handleFormatOpt.optionsOrder,
110
+ normalizedFormatOptions = _this$handleFormatOpt.normalizedFormatOptions;
111
+
72
112
  var _this$getSelectedValu = _this.getSelectedValue({
73
- optionsOrder: optionsOrder,
74
- selectedValue: selectedValue,
75
- normalizedFormatOptions: normalizedFormatOptions,
76
- selectedFormatOptions: _this.selectedFormatOptions,
77
- isDefaultSelectValue: isDefaultSelectValue,
78
- valueField: valueField,
79
- textField: textField
80
- }),
81
- selected = _this$getSelectedValu.selected,
82
- hoverIndex = _this$getSelectedValu.hoverIndex,
83
- selectedValueDetails = _this$getSelectedValu.selectedValueDetails,
84
- selectedId = _this$getSelectedValu.selectedId,
85
- isSelfValueChanged = _this$getSelectedValu.isSelfValueChanged;
86
- if (isSelfValueChanged) {
87
- // onChange && onChange(selectedId, normalizedAllOptions[selectedId]);
113
+ optionsOrder: optionsOrder,
114
+ selectedValue: selectedValue,
115
+ normalizedFormatOptions: normalizedFormatOptions,
116
+ selectedFormatOptions: _this.selectedFormatOptions,
117
+ isDefaultSelectValue: isDefaultSelectValue,
118
+ valueField: valueField,
119
+ textField: textField
120
+ }),
121
+ selected = _this$getSelectedValu.selected,
122
+ hoverIndex = _this$getSelectedValu.hoverIndex,
123
+ selectedValueDetails = _this$getSelectedValu.selectedValueDetails,
124
+ selectedId = _this$getSelectedValu.selectedId,
125
+ isSelfValueChanged = _this$getSelectedValu.isSelfValueChanged;
126
+
127
+ if (isSelfValueChanged) {// onChange && onChange(selectedId, normalizedAllOptions[selectedId]);
88
128
  }
129
+
89
130
  _this.state = {
90
131
  selected: selected,
91
132
  options: allOptions,
@@ -129,12 +170,12 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
129
170
  _this.autoSelectIndex = 0;
130
171
  return _this;
131
172
  }
173
+
132
174
  _createClass(SelectComponent, [{
133
175
  key: "componentDidMount",
134
176
  value: function componentDidMount() {
135
177
  this._isMounted = true;
136
- this.handleExposePopupHandlers();
137
- // let { suggestionContainer } = this;
178
+ this.handleExposePopupHandlers(); // let { suggestionContainer } = this;
138
179
  // suggestionContainer &&
139
180
  // suggestionContainer.addEventListener('scroll', this.handleScroll);
140
181
  }
@@ -142,34 +183,39 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
142
183
  key: "componentWillReceiveProps",
143
184
  value: function componentWillReceiveProps(nextProps) {
144
185
  var selectedValue = nextProps.selectedValue,
145
- isDefaultSelectValue = nextProps.isDefaultSelectValue,
146
- valueField = nextProps.valueField,
147
- textField = nextProps.textField;
186
+ isDefaultSelectValue = nextProps.isDefaultSelectValue,
187
+ valueField = nextProps.valueField,
188
+ textField = nextProps.textField;
148
189
  var oldHoverIndex = this.state.hoverIndex;
190
+
149
191
  var _this$handleFormatOpt2 = this.handleFormatOptions(nextProps),
150
- allOptions = _this$handleFormatOpt2.allOptions,
151
- normalizedAllOptions = _this$handleFormatOpt2.normalizedAllOptions,
152
- optionsOrder = _this$handleFormatOpt2.optionsOrder,
153
- normalizedFormatOptions = _this$handleFormatOpt2.normalizedFormatOptions;
192
+ allOptions = _this$handleFormatOpt2.allOptions,
193
+ normalizedAllOptions = _this$handleFormatOpt2.normalizedAllOptions,
194
+ optionsOrder = _this$handleFormatOpt2.optionsOrder,
195
+ normalizedFormatOptions = _this$handleFormatOpt2.normalizedFormatOptions;
196
+
154
197
  var oldSelectedFormatOptions = this.selectedFormatOptions;
198
+
155
199
  var _this$getSelectedValu2 = this.getSelectedValue({
156
- optionsOrder: optionsOrder,
157
- selectedValue: selectedValue,
158
- normalizedFormatOptions: normalizedFormatOptions,
159
- selectedFormatOptions: oldSelectedFormatOptions,
160
- isDefaultSelectValue: isDefaultSelectValue,
161
- valueField: valueField,
162
- textField: textField
163
- }),
164
- selected = _this$getSelectedValu2.selected,
165
- hoverIndex = _this$getSelectedValu2.hoverIndex,
166
- selectedValueDetails = _this$getSelectedValu2.selectedValueDetails,
167
- selectedId = _this$getSelectedValu2.selectedId,
168
- isSelfValueChanged = _this$getSelectedValu2.isSelfValueChanged;
200
+ optionsOrder: optionsOrder,
201
+ selectedValue: selectedValue,
202
+ normalizedFormatOptions: normalizedFormatOptions,
203
+ selectedFormatOptions: oldSelectedFormatOptions,
204
+ isDefaultSelectValue: isDefaultSelectValue,
205
+ valueField: valueField,
206
+ textField: textField
207
+ }),
208
+ selected = _this$getSelectedValu2.selected,
209
+ hoverIndex = _this$getSelectedValu2.hoverIndex,
210
+ selectedValueDetails = _this$getSelectedValu2.selectedValueDetails,
211
+ selectedId = _this$getSelectedValu2.selectedId,
212
+ isSelfValueChanged = _this$getSelectedValu2.isSelfValueChanged;
213
+
169
214
  var oldSelectedValue = this.props.selectedValue;
170
- if (isSelfValueChanged && oldSelectedValue !== selectedValue) {
171
- // onChange && onChange(selectedId, normalizedAllOptions[selectedId]);
215
+
216
+ if (isSelfValueChanged && oldSelectedValue !== selectedValue) {// onChange && onChange(selectedId, normalizedAllOptions[selectedId]);
172
217
  }
218
+
173
219
  this.selectedFormatOptions = Object.assign(oldSelectedFormatOptions, selectedValueDetails);
174
220
  this.normalizedFormatOptions = normalizedFormatOptions;
175
221
  this.optionsOrder = optionsOrder;
@@ -186,23 +232,25 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
186
232
  key: "componentDidUpdate",
187
233
  value: function componentDidUpdate(prevProps) {
188
234
  var _this2 = this;
235
+
189
236
  var suggestionContainer = this.suggestionContainer,
190
- optionsOrder = this.optionsOrder;
237
+ optionsOrder = this.optionsOrder;
191
238
  var _this$state = this.state,
192
- hoverIndex = _this$state.hoverIndex,
193
- searchStr = _this$state.searchStr,
194
- selectedValueIndex = _this$state.selectedValueIndex;
239
+ hoverIndex = _this$state.hoverIndex,
240
+ searchStr = _this$state.searchStr,
241
+ selectedValueIndex = _this$state.selectedValueIndex;
195
242
  var _this$props = this.props,
196
- needLocalSearch = _this$props.needLocalSearch,
197
- onDropBoxClose = _this$props.onDropBoxClose,
198
- onDropBoxOpen = _this$props.onDropBoxOpen,
199
- needSearch = _this$props.needSearch,
200
- onSearch = _this$props.onSearch,
201
- isPopupOpen = _this$props.isPopupOpen,
202
- isSearchClearOnClose = _this$props.isSearchClearOnClose;
243
+ needLocalSearch = _this$props.needLocalSearch,
244
+ onDropBoxClose = _this$props.onDropBoxClose,
245
+ onDropBoxOpen = _this$props.onDropBoxOpen,
246
+ needSearch = _this$props.needSearch,
247
+ onSearch = _this$props.onSearch,
248
+ isPopupOpen = _this$props.isPopupOpen,
249
+ isSearchClearOnClose = _this$props.isSearchClearOnClose;
203
250
  var hoverId = (0, _Common.getIsEmptyValue)(optionsOrder[hoverIndex]) ? '' : optionsOrder[hoverIndex];
204
251
  var selSuggestion = this["suggestion_".concat(hoverId)];
205
252
  isPopupOpen && (0, _Common.scrollTo)(suggestionContainer, selSuggestion);
253
+
206
254
  if (prevProps.isPopupOpen !== isPopupOpen) {
207
255
  if (isPopupOpen) {
208
256
  onDropBoxOpen && this.handleFetchOptions(onDropBoxOpen, searchStr);
@@ -220,15 +268,16 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
220
268
  hoverIndex: selectedValueIndex
221
269
  });
222
270
  }
223
- }
271
+ } //When suggestions length less than 5, getNextOptions function call
272
+
224
273
 
225
- //When suggestions length less than 5, getNextOptions function call
226
274
  var _this$props2 = this.props,
227
- isNextOptions = _this$props2.isNextOptions,
228
- getNextOptions = _this$props2.getNextOptions;
229
- // let { searchStr } = this.state;
275
+ isNextOptions = _this$props2.isNextOptions,
276
+ getNextOptions = _this$props2.getNextOptions; // let { searchStr } = this.state;
277
+
230
278
  var suggestions = isPopupOpen ? this.handleFilterSuggestions() : [];
231
279
  var suggestionsLen = suggestions.length;
280
+
232
281
  if (isPopupOpen && suggestionsLen <= 5 && isNextOptions && getNextOptions && !needLocalSearch) {
233
282
  this.handleFetchOptions(getNextOptions, searchStr);
234
283
  }
@@ -244,8 +293,7 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
244
293
  closePopup: null,
245
294
  togglePopup: null
246
295
  };
247
- getPopupHandlers && getPopupHandlers(methods);
248
- // let { suggestionContainer } = this;
296
+ getPopupHandlers && getPopupHandlers(methods); // let { suggestionContainer } = this;
249
297
  // suggestionContainer &&
250
298
  // suggestionContainer.removeEventListener('scroll', this.handleScroll);
251
299
  }
@@ -253,12 +301,12 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
253
301
  key: "handleFormatOptions",
254
302
  value: function handleFormatOptions(props) {
255
303
  var options = props.options,
256
- valueField = props.valueField,
257
- textField = props.textField,
258
- _props$customProps = props.customProps,
259
- customProps = _props$customProps === void 0 ? {} : _props$customProps;
304
+ valueField = props.valueField,
305
+ textField = props.textField,
306
+ _props$customProps = props.customProps,
307
+ customProps = _props$customProps === void 0 ? {} : _props$customProps;
260
308
  var _customProps$listItem = customProps.listItemProps,
261
- listItemProps = _customProps$listItem === void 0 ? {} : _customProps$listItem;
309
+ listItemProps = _customProps$listItem === void 0 ? {} : _customProps$listItem;
262
310
  return this.formatOptions({
263
311
  options: options,
264
312
  valueField: valueField,
@@ -271,12 +319,12 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
271
319
  value: function handleChange(id, value, index, e) {
272
320
  e && e.preventDefault && e.preventDefault();
273
321
  var _this$props3 = this.props,
274
- onChange = _this$props3.onChange,
275
- isReadOnly = _this$props3.isReadOnly,
276
- needCloseOnSelect = _this$props3.needCloseOnSelect;
322
+ onChange = _this$props3.onChange,
323
+ isReadOnly = _this$props3.isReadOnly,
324
+ needCloseOnSelect = _this$props3.needCloseOnSelect;
277
325
  var optionsNormalize = this.state.optionsNormalize;
278
- !isReadOnly && onChange && onChange(id, optionsNormalize[id]);
279
- // this.valueInput && this.valueInput.focus({preventScroll:true});
326
+ !isReadOnly && onChange && onChange(id, optionsNormalize[id]); // this.valueInput && this.valueInput.focus({preventScroll:true});
327
+
280
328
  needCloseOnSelect && this.handlePopupClose(e);
281
329
  }
282
330
  }, {
@@ -293,70 +341,80 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
293
341
  key: "handleKeyDown",
294
342
  value: function handleKeyDown(e) {
295
343
  var _this$props4 = this.props,
296
- onChange = _this$props4.onChange,
297
- isPopupOpen = _this$props4.isPopupOpen,
298
- onKeyDown = _this$props4.onKeyDown,
299
- isPopupOpenOnEnter = _this$props4.isPopupOpenOnEnter,
300
- needCloseOnSelect = _this$props4.needCloseOnSelect;
344
+ onChange = _this$props4.onChange,
345
+ isPopupOpen = _this$props4.isPopupOpen,
346
+ onKeyDown = _this$props4.onKeyDown,
347
+ isPopupOpenOnEnter = _this$props4.isPopupOpenOnEnter,
348
+ needCloseOnSelect = _this$props4.needCloseOnSelect;
301
349
  var _this$state2 = this.state,
302
- hoverIndex = _this$state2.hoverIndex,
303
- optionsNormalize = _this$state2.optionsNormalize;
350
+ hoverIndex = _this$state2.hoverIndex,
351
+ optionsNormalize = _this$state2.optionsNormalize;
304
352
  var options = this.handleFilterSuggestions();
305
353
  var keyCode = e.keyCode;
354
+
306
355
  if (!isPopupOpen && !isPopupOpenOnEnter) {
307
356
  onKeyDown && onKeyDown(e);
308
357
  }
358
+
309
359
  if (isPopupOpen && (keyCode === 38 || keyCode === 40 || keyCode === 13) && e.preventDefault) {
310
360
  e.preventDefault(); //prevent body scroll and enter key prevent
311
361
  } else if (!isPopupOpen && keyCode === 40) {
312
362
  e.preventDefault(); //prevent body scroll
363
+
313
364
  this.togglePopup(e);
314
365
  }
366
+
315
367
  if (keyCode === 38 && isPopupOpen && options.length) {
316
- if (hoverIndex === 0) {
317
- // hoverIndex = options.length - 1;
368
+ if (hoverIndex === 0) {// hoverIndex = options.length - 1;
318
369
  } else {
319
370
  hoverIndex -= 1;
320
371
  }
372
+
321
373
  this.setState({
322
374
  hoverIndex: hoverIndex
323
375
  });
324
376
  } else if (keyCode === 40 && isPopupOpen && options.length) {
325
- if (hoverIndex === options.length - 1) {
326
- // hoverIndex = 0;
377
+ if (hoverIndex === options.length - 1) {// hoverIndex = 0;
327
378
  } else {
328
379
  if (hoverIndex === options.length - 3) {
329
380
  this.handleGetNextOptions();
330
381
  }
382
+
331
383
  hoverIndex += 1;
332
384
  }
385
+
333
386
  this.setState({
334
387
  hoverIndex: hoverIndex
335
388
  });
336
389
  } else if (keyCode === 13) {
337
390
  var option = options[hoverIndex];
391
+
338
392
  var _ref2 = option || {},
339
- id = _ref2.id;
393
+ id = _ref2.id;
394
+
340
395
  if (isPopupOpen && !(0, _Common.getIsEmptyValue)(id) && onChange) {
341
396
  onChange(id, optionsNormalize[id]);
342
397
  needCloseOnSelect && this.handlePopupClose(e);
343
398
  }
399
+
344
400
  if (!isPopupOpen && isPopupOpenOnEnter) {
345
401
  this.togglePopup(e);
346
402
  }
347
403
  } else if (keyCode === 27) {
348
404
  this.valueInput && this.valueInput.focus({
349
405
  preventScroll: true
350
- });
351
- //this.handlePopupClose(e);
406
+ }); //this.handlePopupClose(e);
352
407
  } else if (keyCode === 9) {
353
408
  var _option = options[hoverIndex];
409
+
354
410
  var _ref3 = _option || {},
355
- _id = _ref3.id;
411
+ _id = _ref3.id;
412
+
356
413
  if (isPopupOpen && !(0, _Common.getIsEmptyValue)(_id)) {
357
414
  onChange && onChange(_id, optionsNormalize[_id]);
358
415
  needCloseOnSelect && this.handlePopupClose(e);
359
416
  }
417
+
360
418
  if (!isPopupOpen && isPopupOpenOnEnter) {
361
419
  this.togglePopup(e);
362
420
  }
@@ -373,9 +431,10 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
373
431
  key: "handleSearch",
374
432
  value: function handleSearch(value) {
375
433
  var _this3 = this;
434
+
376
435
  // let { value = '' } = e.target;
377
436
  var _this$state$searchStr = this.state.searchStr,
378
- searchStr = _this$state$searchStr === void 0 ? '' : _this$state$searchStr;
437
+ searchStr = _this$state$searchStr === void 0 ? '' : _this$state$searchStr;
379
438
  var onSearch = this.props.onSearch;
380
439
  var searchStrRegex = (0, _Common.getSearchString)(searchStr);
381
440
  var valueStrRegex = (0, _Common.getSearchString)(value);
@@ -393,7 +452,9 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
393
452
  }
394
453
  }, {
395
454
  key: "handleMouseEnter",
396
- value: function handleMouseEnter(id /*val, index*/) {
455
+ value: function handleMouseEnter(id
456
+ /*val, index*/
457
+ ) {
397
458
  var hoverIndex = this.state.hoverIndex;
398
459
  var optionsOrder = this.optionsOrder;
399
460
  var newHoverIndex = optionsOrder.indexOf(id);
@@ -405,31 +466,31 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
405
466
  key: "handleFilterSuggestions",
406
467
  value: function handleFilterSuggestions() {
407
468
  var _this$props5 = this.props,
408
- needLocalSearch = _this$props5.needLocalSearch,
409
- _this$props5$excludeO = _this$props5.excludeOptions,
410
- excludeOptions = _this$props5$excludeO === void 0 ? dummyArray : _this$props5$excludeO;
469
+ needLocalSearch = _this$props5.needLocalSearch,
470
+ _this$props5$excludeO = _this$props5.excludeOptions,
471
+ excludeOptions = _this$props5$excludeO === void 0 ? dummyArray : _this$props5$excludeO;
411
472
  var _this$state3 = this.state,
412
- _this$state3$options = _this$state3.options,
413
- options = _this$state3$options === void 0 ? dummyArray : _this$state3$options,
414
- _this$state3$searchSt = _this$state3.searchStr,
415
- searchStr = _this$state3$searchSt === void 0 ? '' : _this$state3$searchSt;
416
-
417
- // if (
473
+ _this$state3$options = _this$state3.options,
474
+ options = _this$state3$options === void 0 ? dummyArray : _this$state3$options,
475
+ _this$state3$searchSt = _this$state3.searchStr,
476
+ searchStr = _this$state3$searchSt === void 0 ? '' : _this$state3$searchSt; // if (
418
477
  // (needSearch && searchStr && searchStr.trim().length) ||
419
478
  // (excludeOptions && excludeOptions.length)
420
479
  // ) {
480
+
421
481
  searchStr = (0, _Common.getSearchString)(searchStr);
482
+
422
483
  var _this$getFilterSugges = this.getFilterSuggestions({
423
- options: options,
424
- selectedOptions: excludeOptions,
425
- searchStr: searchStr,
426
- needSearch: needLocalSearch
427
- }),
428
- suggestions = _this$getFilterSugges.suggestions,
429
- suggestionIds = _this$getFilterSugges.suggestionIds;
484
+ options: options,
485
+ selectedOptions: excludeOptions,
486
+ searchStr: searchStr,
487
+ needSearch: needLocalSearch
488
+ }),
489
+ suggestions = _this$getFilterSugges.suggestions,
490
+ suggestionIds = _this$getFilterSugges.suggestionIds;
491
+
430
492
  this.optionsOrder = suggestionIds;
431
- return suggestions;
432
- // }
493
+ return suggestions; // }
433
494
  // return options;
434
495
  }
435
496
  }, {
@@ -443,15 +504,18 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
443
504
  key: "handleFetchOptions",
444
505
  value: function handleFetchOptions(APICall) {
445
506
  var _this4 = this;
507
+
446
508
  var searchStr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
447
509
  // let funcArgs = args.slice(1, args.length);
448
510
  var _this$state$isFetchin = this.state.isFetchingOptions,
449
- isFetchingOptions = _this$state$isFetchin === void 0 ? false : _this$state$isFetchin;
511
+ isFetchingOptions = _this$state$isFetchin === void 0 ? false : _this$state$isFetchin;
450
512
  var _isMounted = this._isMounted;
513
+
451
514
  if (!isFetchingOptions && APICall) {
452
515
  this.setState({
453
516
  isFetchingOptions: true
454
517
  });
518
+
455
519
  try {
456
520
  return APICall(searchStr).then(function () {
457
521
  _isMounted && _this4.setState({
@@ -473,8 +537,8 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
473
537
  key: "handleGetNextOptions",
474
538
  value: function handleGetNextOptions() {
475
539
  var _this$props6 = this.props,
476
- isNextOptions = _this$props6.isNextOptions,
477
- getNextOptions = _this$props6.getNextOptions;
540
+ isNextOptions = _this$props6.isNextOptions,
541
+ getNextOptions = _this$props6.getNextOptions;
478
542
  var searchStr = this.state.searchStr;
479
543
  isNextOptions && getNextOptions && this.handleFetchOptions(getNextOptions, searchStr);
480
544
  }
@@ -482,11 +546,11 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
482
546
  key: "togglePopup",
483
547
  value: function togglePopup(e) {
484
548
  var _this$props7 = this.props,
485
- togglePopup = _this$props7.togglePopup,
486
- isReadOnly = _this$props7.isReadOnly,
487
- defaultDropBoxPosition = _this$props7.defaultDropBoxPosition,
488
- onFocus = _this$props7.onFocus,
489
- isPopupOpen = _this$props7.isPopupOpen;
549
+ togglePopup = _this$props7.togglePopup,
550
+ isReadOnly = _this$props7.isReadOnly,
551
+ defaultDropBoxPosition = _this$props7.defaultDropBoxPosition,
552
+ onFocus = _this$props7.onFocus,
553
+ isPopupOpen = _this$props7.isPopupOpen;
490
554
  !isReadOnly && togglePopup(e, defaultDropBoxPosition ? "".concat(defaultDropBoxPosition) : null);
491
555
  !isPopupOpen && typeof onFocus === 'function' && onFocus(e);
492
556
  }
@@ -531,6 +595,7 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
531
595
  key: "handleClearSearch",
532
596
  value: function handleClearSearch() {
533
597
  var _this5 = this;
598
+
534
599
  this.handleSearch('');
535
600
  setTimeout(function () {
536
601
  _this5.searchInput && _this5.searchInput.focus({
@@ -544,8 +609,9 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
544
609
  var which = e.which;
545
610
  var typeString = String.fromCharCode(which);
546
611
  var _this$props8 = this.props,
547
- isPopupOpen = _this$props8.isPopupOpen,
548
- autoSelectOnType = _this$props8.autoSelectOnType;
612
+ isPopupOpen = _this$props8.isPopupOpen,
613
+ autoSelectOnType = _this$props8.autoSelectOnType;
614
+
549
615
  if (!isPopupOpen && autoSelectOnType) {
550
616
  this.valueInputTypeString += (typeString || '').trim();
551
617
  this.handleChangeOnType();
@@ -555,43 +621,53 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
555
621
  key: "handleChangeOnType",
556
622
  value: function handleChangeOnType() {
557
623
  var _this6 = this;
624
+
558
625
  var _this$props$excludeOp = this.props.excludeOptions,
559
- excludeOptions = _this$props$excludeOp === void 0 ? dummyArray : _this$props$excludeOp;
626
+ excludeOptions = _this$props$excludeOp === void 0 ? dummyArray : _this$props$excludeOp;
560
627
  var _this$state$options = this.state.options,
561
- options = _this$state$options === void 0 ? dummyArray : _this$state$options;
628
+ options = _this$state$options === void 0 ? dummyArray : _this$state$options;
562
629
  var optionsOrder = this.optionsOrder;
563
630
  var typeString = this.valueInputTypeString;
564
631
  this.valueInputTypeString = '';
632
+
565
633
  var changeValue = function changeValue() {
566
634
  var optionDetails = _this6.autoSelectSuggestions[_this6.autoSelectIndex];
635
+
567
636
  var _ref4 = optionDetails || {},
568
- id = _ref4.id;
637
+ id = _ref4.id;
638
+
569
639
  if (!(0, _Common.getIsEmptyValue)(id)) {
570
640
  _this6.handleChange(id);
641
+
571
642
  var hoverIndex = optionsOrder.indexOf(id);
643
+
572
644
  _this6.setState({
573
645
  hoverIndex: hoverIndex
574
646
  });
575
647
  }
576
648
  };
649
+
577
650
  if (typeString && typeString === this.valueInputSearchString) {
578
651
  if (this.autoSelectIndex < this.autoSelectSuggestions.length - 1) {
579
652
  this.autoSelectIndex += 1;
580
653
  } else {
581
654
  this.autoSelectIndex = 0;
582
655
  }
656
+
583
657
  changeValue();
584
658
  } else if (typeString) {
585
659
  this.valueInputSearchString = typeString;
660
+
586
661
  var _this$getFilterSugges2 = this.getFilterSuggestions({
587
- options: options,
588
- selectedOptions: excludeOptions,
589
- searchStr: typeString,
590
- needSearch: true,
591
- isStartsWithSearch: true
592
- }),
593
- _this$getFilterSugges3 = _this$getFilterSugges2.suggestions,
594
- suggestions = _this$getFilterSugges3 === void 0 ? [] : _this$getFilterSugges3;
662
+ options: options,
663
+ selectedOptions: excludeOptions,
664
+ searchStr: typeString,
665
+ needSearch: true,
666
+ isStartsWithSearch: true
667
+ }),
668
+ _this$getFilterSugges3 = _this$getFilterSugges2.suggestions,
669
+ suggestions = _this$getFilterSugges3 === void 0 ? [] : _this$getFilterSugges3;
670
+
595
671
  this.autoSelectIndex = 0;
596
672
  this.autoSelectSuggestions = suggestions;
597
673
  changeValue();
@@ -602,8 +678,9 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
602
678
  value: function handleAddNewOption() {
603
679
  var searchStr = this.state.searchStr;
604
680
  var _this$props9 = this.props,
605
- onAddNewOption = _this$props9.onAddNewOption,
606
- getCustomEmptyState = _this$props9.getCustomEmptyState;
681
+ onAddNewOption = _this$props9.onAddNewOption,
682
+ getCustomEmptyState = _this$props9.getCustomEmptyState;
683
+
607
684
  if (getCustomEmptyState) {
608
685
  this.setState({
609
686
  searchStr: ''
@@ -615,11 +692,11 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
615
692
  key: "handleExposePopupHandlers",
616
693
  value: function handleExposePopupHandlers() {
617
694
  var _this$props10 = this.props,
618
- removeClose = _this$props10.removeClose,
619
- openPopupOnly = _this$props10.openPopupOnly,
620
- closePopupOnly = _this$props10.closePopupOnly,
621
- togglePopup = _this$props10.togglePopup,
622
- getPopupHandlers = _this$props10.getPopupHandlers;
695
+ removeClose = _this$props10.removeClose,
696
+ openPopupOnly = _this$props10.openPopupOnly,
697
+ closePopupOnly = _this$props10.closePopupOnly,
698
+ togglePopup = _this$props10.togglePopup,
699
+ getPopupHandlers = _this$props10.getPopupHandlers;
623
700
  var methods = {
624
701
  removeClose: removeClose,
625
702
  openPopup: openPopupOnly,
@@ -642,81 +719,82 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
642
719
  key: "render",
643
720
  value: function render() {
644
721
  var _this7 = this;
722
+
645
723
  var _this$props11 = this.props,
646
- needSearch = _this$props11.needSearch,
647
- dropBoxSize = _this$props11.dropBoxSize,
648
- emptyMessage = _this$props11.emptyMessage,
649
- searchEmptyMessage = _this$props11.searchEmptyMessage,
650
- needBorder = _this$props11.needBorder,
651
- needSelectDownIcon = _this$props11.needSelectDownIcon,
652
- position = _this$props11.position,
653
- defaultDropBoxPosition = _this$props11.defaultDropBoxPosition,
654
- getTargetRef = _this$props11.getTargetRef,
655
- getContainerRef = _this$props11.getContainerRef,
656
- removeClose = _this$props11.removeClose,
657
- isPopupOpen = _this$props11.isPopupOpen,
658
- isPopupReady = _this$props11.isPopupReady,
659
- animationStyle = _this$props11.animationStyle,
660
- textBoxSize = _this$props11.textBoxSize,
661
- textBoxVariant = _this$props11.textBoxVariant,
662
- searchBoxSize = _this$props11.searchBoxSize,
663
- searchBoxPlaceHolder = _this$props11.searchBoxPlaceHolder,
664
- maxLength = _this$props11.maxLength,
665
- isDisabled = _this$props11.isDisabled,
666
- title = _this$props11.title,
667
- size = _this$props11.size,
668
- placeHolder = _this$props11.placeHolder,
669
- className = _this$props11.className,
670
- isReadOnly = _this$props11.isReadOnly,
671
- dataId = _this$props11.dataId,
672
- needResponsive = _this$props11.needResponsive,
673
- borderColor = _this$props11.borderColor,
674
- needTick = _this$props11.needTick,
675
- listItemSize = _this$props11.listItemSize,
676
- boxSize = _this$props11.boxSize,
677
- needListBorder = _this$props11.needListBorder,
678
- getFooter = _this$props11.getFooter,
679
- getChildren = _this$props11.getChildren,
680
- getCustomEmptyState = _this$props11.getCustomEmptyState,
681
- isParentBased = _this$props11.isParentBased,
682
- i18nKeys = _this$props11.i18nKeys,
683
- htmlId = _this$props11.htmlId,
684
- children = _this$props11.children,
685
- iconOnHover = _this$props11.iconOnHover,
686
- customProps = _this$props11.customProps,
687
- autoComplete = _this$props11.autoComplete,
688
- ariaLabelledby = _this$props11.ariaLabelledby,
689
- isLoading = _this$props11.isLoading,
690
- dataSelectorId = _this$props11.dataSelectorId,
691
- isAbsolutePositioningNeeded = _this$props11.isAbsolutePositioningNeeded,
692
- positionsOffset = _this$props11.positionsOffset,
693
- targetOffset = _this$props11.targetOffset,
694
- isRestrictScroll = _this$props11.isRestrictScroll,
695
- dropBoxPortalId = _this$props11.dropBoxPortalId;
724
+ needSearch = _this$props11.needSearch,
725
+ dropBoxSize = _this$props11.dropBoxSize,
726
+ emptyMessage = _this$props11.emptyMessage,
727
+ searchEmptyMessage = _this$props11.searchEmptyMessage,
728
+ needBorder = _this$props11.needBorder,
729
+ needSelectDownIcon = _this$props11.needSelectDownIcon,
730
+ position = _this$props11.position,
731
+ defaultDropBoxPosition = _this$props11.defaultDropBoxPosition,
732
+ getTargetRef = _this$props11.getTargetRef,
733
+ getContainerRef = _this$props11.getContainerRef,
734
+ removeClose = _this$props11.removeClose,
735
+ isPopupOpen = _this$props11.isPopupOpen,
736
+ isPopupReady = _this$props11.isPopupReady,
737
+ animationStyle = _this$props11.animationStyle,
738
+ textBoxSize = _this$props11.textBoxSize,
739
+ textBoxVariant = _this$props11.textBoxVariant,
740
+ searchBoxSize = _this$props11.searchBoxSize,
741
+ searchBoxPlaceHolder = _this$props11.searchBoxPlaceHolder,
742
+ maxLength = _this$props11.maxLength,
743
+ isDisabled = _this$props11.isDisabled,
744
+ title = _this$props11.title,
745
+ size = _this$props11.size,
746
+ placeHolder = _this$props11.placeHolder,
747
+ className = _this$props11.className,
748
+ isReadOnly = _this$props11.isReadOnly,
749
+ dataId = _this$props11.dataId,
750
+ needResponsive = _this$props11.needResponsive,
751
+ borderColor = _this$props11.borderColor,
752
+ needTick = _this$props11.needTick,
753
+ listItemSize = _this$props11.listItemSize,
754
+ boxSize = _this$props11.boxSize,
755
+ needListBorder = _this$props11.needListBorder,
756
+ getFooter = _this$props11.getFooter,
757
+ getChildren = _this$props11.getChildren,
758
+ getCustomEmptyState = _this$props11.getCustomEmptyState,
759
+ isParentBased = _this$props11.isParentBased,
760
+ i18nKeys = _this$props11.i18nKeys,
761
+ htmlId = _this$props11.htmlId,
762
+ children = _this$props11.children,
763
+ iconOnHover = _this$props11.iconOnHover,
764
+ customProps = _this$props11.customProps,
765
+ autoComplete = _this$props11.autoComplete,
766
+ ariaLabelledby = _this$props11.ariaLabelledby,
767
+ isLoading = _this$props11.isLoading,
768
+ dataSelectorId = _this$props11.dataSelectorId,
769
+ isAbsolutePositioningNeeded = _this$props11.isAbsolutePositioningNeeded,
770
+ positionsOffset = _this$props11.positionsOffset,
771
+ targetOffset = _this$props11.targetOffset,
772
+ isRestrictScroll = _this$props11.isRestrictScroll,
773
+ dropBoxPortalId = _this$props11.dropBoxPortalId;
696
774
  var _i18nKeys = i18nKeys,
697
- TextBoxIcon_i18n = _i18nKeys.TextBoxIcon_i18n,
698
- _i18nKeys$TextBox_all = _i18nKeys.TextBox_ally_label,
699
- TextBox_ally_label = _i18nKeys$TextBox_all === void 0 ? 'click to select options' : _i18nKeys$TextBox_all;
775
+ TextBoxIcon_i18n = _i18nKeys.TextBoxIcon_i18n,
776
+ _i18nKeys$TextBox_all = _i18nKeys.TextBox_ally_label,
777
+ TextBox_ally_label = _i18nKeys$TextBox_all === void 0 ? 'click to select options' : _i18nKeys$TextBox_all;
700
778
  i18nKeys = Object.assign({}, i18nKeys, {
701
779
  emptyText: i18nKeys.emptyText || emptyMessage,
702
780
  searchEmptyText: i18nKeys.searchEmptyText || searchEmptyMessage
703
781
  });
704
782
  var _this$state4 = this.state,
705
- hoverIndex = _this$state4.hoverIndex,
706
- selected = _this$state4.selected,
707
- searchStr = _this$state4.searchStr,
708
- isFetchingOptions = _this$state4.isFetchingOptions,
709
- selectedId = _this$state4.selectedId,
710
- options = _this$state4.options;
783
+ hoverIndex = _this$state4.hoverIndex,
784
+ selected = _this$state4.selected,
785
+ searchStr = _this$state4.searchStr,
786
+ isFetchingOptions = _this$state4.isFetchingOptions,
787
+ selectedId = _this$state4.selectedId,
788
+ options = _this$state4.options;
711
789
  var suggestions = this.handleFilterSuggestions();
712
790
  var setAriaId = this.getNextAriaId();
713
791
  var ariaErrorId = this.getNextAriaId();
714
792
  var _customProps$TextBoxP = customProps.TextBoxProps,
715
- TextBoxProps = _customProps$TextBoxP === void 0 ? {} : _customProps$TextBoxP,
716
- _customProps$Dropdown = customProps.DropdownSearchTextBoxProps,
717
- DropdownSearchTextBoxProps = _customProps$Dropdown === void 0 ? {} : _customProps$Dropdown,
718
- _customProps$Suggesti = customProps.SuggestionsProps,
719
- SuggestionsProps = _customProps$Suggesti === void 0 ? {} : _customProps$Suggesti;
793
+ TextBoxProps = _customProps$TextBoxP === void 0 ? {} : _customProps$TextBoxP,
794
+ _customProps$Dropdown = customProps.DropdownSearchTextBoxProps,
795
+ DropdownSearchTextBoxProps = _customProps$Dropdown === void 0 ? {} : _customProps$Dropdown,
796
+ _customProps$Suggesti = customProps.SuggestionsProps,
797
+ SuggestionsProps = _customProps$Suggesti === void 0 ? {} : _customProps$Suggesti;
720
798
  return /*#__PURE__*/_react["default"].createElement("div", {
721
799
  className: "".concat(isParentBased || isReadOnly || isDisabled ? _SelectModule["default"].container : '', " ").concat(_SelectModule["default"]["box_".concat(size)], " ").concat(isReadOnly ? _SelectModule["default"].readonly : '', " ").concat(borderColor === 'transparent' ? _SelectModule["default"].transparentContainer : '', " ").concat(iconOnHover && (isReadOnly || isDisabled) ? _SelectModule["default"].iconOnHoverReadonly : iconOnHover && !(isReadOnly || isDisabled) ? _SelectModule["default"].iconOnHoverStyle : ''),
722
800
  "data-title": isDisabled ? title : null,
@@ -905,8 +983,10 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
905
983
  }) : null);
906
984
  }
907
985
  }]);
986
+
908
987
  return SelectComponent;
909
988
  }(_react.Component);
989
+
910
990
  exports.SelectComponent = SelectComponent;
911
991
  SelectComponent.propTypes = _propTypes.Select_propTypes;
912
992
  SelectComponent.defaultProps = _defaultProps.Select_defaultProps;
@@ -923,4 +1003,5 @@ var _default = Select; // if (__DOCS__) {
923
1003
  // // eslint-disable-next-line react/forbid-foreign-prop-types
924
1004
  // Select.propTypes = SelectComponent.propTypes;
925
1005
  // }
1006
+
926
1007
  exports["default"] = _default;