@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,39 +1,65 @@
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"] = void 0;
9
+
8
10
  var _react = _interopRequireDefault(require("react"));
11
+
9
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
+
10
14
  var _hoistNonReactStatics = _interopRequireDefault(require("hoist-non-react-statics"));
15
+
11
16
  var _Common = require("../utils/Common.js");
17
+
12
18
  var _viewPort = _interopRequireDefault(require("./viewPort"));
19
+
13
20
  var _PositionMapping = require("./PositionMapping.json");
21
+
14
22
  var _ResizeObserver = _interopRequireDefault(require("@zohodesk/virtualizer/lib/commons/ResizeObserver.js"));
23
+
15
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
25
+
16
26
  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); }
27
+
17
28
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
29
+
18
30
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
31
+
19
32
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
33
+
20
34
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
35
+
21
36
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
22
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
37
+
38
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
39
+
23
40
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
24
- 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); } }
41
+
42
+ 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); } }
43
+
25
44
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
26
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
27
- 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); }
45
+
28
46
  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); }
47
+
29
48
  function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
49
+
30
50
  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); }; }
51
+
31
52
  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); }
53
+
32
54
  function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
55
+
33
56
  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; } }
57
+
34
58
  function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
59
+
35
60
  var lastOpenedGroup = [];
36
61
  var popups = {};
62
+
37
63
  global.closeGroupPopups = function (groupName) {
38
64
  var groupPopups = popups[groupName] || [];
39
65
  groupPopups.forEach(function (popup) {
@@ -43,6 +69,7 @@ global.closeGroupPopups = function (groupName) {
43
69
  });
44
70
  });
45
71
  };
72
+
46
73
  var defaultState = {
47
74
  position: 'bottomCenter',
48
75
  height: '0px',
@@ -56,30 +83,36 @@ var defaultState = {
56
83
  //{height: ‘’, width: ‘’,}
57
84
  isAbsolutePositioningNeeded: true
58
85
  };
59
-
60
86
  /* eslint-disable react/no-deprecated */
87
+
61
88
  /* eslint-disable react/prop-types */
62
89
 
63
90
  var Popup = function Popup(Component) {
64
91
  var group = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'global';
65
92
  var needResizeHandling = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
93
+
66
94
  var _ref = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {},
67
- _ref$isAbsolutePositi = _ref.isAbsolutePositioningNeeded,
68
- isAbsolutePopup = _ref$isAbsolutePositi === void 0 ? true : _ref$isAbsolutePositi,
69
- _ref$isArrow = _ref.isArrow,
70
- needPopupArrow = _ref$isArrow === void 0 ? false : _ref$isArrow,
71
- _ref$customOrder = _ref.customOrder,
72
- customPositionOrder = _ref$customOrder === void 0 ? [] : _ref$customOrder,
73
- _ref$scrollDebounceTi = _ref.scrollDebounceTime,
74
- popupScrollDebounceTime = _ref$scrollDebounceTi === void 0 ? 0 : _ref$scrollDebounceTi,
75
- _ref$closeOnScroll = _ref.closeOnScroll,
76
- closeOnScrollPopup = _ref$closeOnScroll === void 0 ? false : _ref$closeOnScroll;
95
+ _ref$isAbsolutePositi = _ref.isAbsolutePositioningNeeded,
96
+ isAbsolutePopup = _ref$isAbsolutePositi === void 0 ? true : _ref$isAbsolutePositi,
97
+ _ref$isArrow = _ref.isArrow,
98
+ needPopupArrow = _ref$isArrow === void 0 ? false : _ref$isArrow,
99
+ _ref$customOrder = _ref.customOrder,
100
+ customPositionOrder = _ref$customOrder === void 0 ? [] : _ref$customOrder,
101
+ _ref$scrollDebounceTi = _ref.scrollDebounceTime,
102
+ popupScrollDebounceTime = _ref$scrollDebounceTi === void 0 ? 0 : _ref$scrollDebounceTi,
103
+ _ref$closeOnScroll = _ref.closeOnScroll,
104
+ closeOnScrollPopup = _ref$closeOnScroll === void 0 ? false : _ref$closeOnScroll;
105
+
77
106
  var Popup = /*#__PURE__*/function (_React$Component) {
78
107
  _inherits(Popup, _React$Component);
108
+
79
109
  var _super = _createSuper(Popup);
110
+
80
111
  function Popup(props) {
81
112
  var _this;
113
+
82
114
  _classCallCheck(this, Popup);
115
+
83
116
  _this = _super.call(this, props);
84
117
  _this.state = {
85
118
  isPopupOpen: props.isPopupOpen || false,
@@ -118,20 +151,22 @@ var Popup = function Popup(Component) {
118
151
  _this.handleDocumentMouseDown = _this.handleDocumentMouseDown.bind(_assertThisInitialized(_this));
119
152
  _this.handleDocumentFocus = _this.handleDocumentFocus.bind(_assertThisInitialized(_this));
120
153
  _this.handleGetNeedPrevent = _this.handleGetNeedPrevent.bind(_assertThisInitialized(_this));
121
- _this.popupObserver = new _ResizeObserver["default"](_this.handlePopupResize);
154
+ _this.popupObserver = new _ResizeObserver["default"](_this.handlePopupResize); //dropBoxSize
122
155
 
123
- //dropBoxSize
124
156
  _this.size = null;
125
157
  _this.isAbsolutePopup = isAbsolutePopup;
126
158
  _this.needPopupArrow = needPopupArrow;
127
159
  _this.customPositionOrder = customPositionOrder;
128
160
  _this.scrollDebounceTime = popupScrollDebounceTime;
129
161
  _this.closeOnScroll = closeOnScrollPopup;
162
+
130
163
  var _this$getScrollDeboun = _this.getScrollDebounceTime(_assertThisInitialized(_this)),
131
- scrollDebounceTime = _this$getScrollDeboun.scrollDebounceTime;
164
+ scrollDebounceTime = _this$getScrollDeboun.scrollDebounceTime;
165
+
132
166
  _this.handleScroll = (0, _Common.debounce)(_this.handleScroll.bind(_assertThisInitialized(_this)), scrollDebounceTime);
133
167
  return _this;
134
168
  }
169
+
135
170
  _createClass(Popup, [{
136
171
  key: "componentDidMount",
137
172
  value: function componentDidMount() {
@@ -139,10 +174,11 @@ var Popup = function Popup(Component) {
139
174
  var groupPopups = popups[group] || [];
140
175
  groupPopups.push(this);
141
176
  popups[group] = groupPopups;
177
+
142
178
  if (Object.keys(popups).length === 1 && groupPopups.length === 1) {
143
179
  document.addEventListener('click', this.documentClickHandler, false);
144
- document.addEventListener('keyup', this.documentKeyupHandler, false);
145
- // document.addEventListener('scroll', this.handleScroll, true);
180
+ document.addEventListener('keyup', this.documentKeyupHandler, false); // document.addEventListener('scroll', this.handleScroll, true);
181
+
146
182
  window.addEventListener('resize', this.handleResize);
147
183
  document.addEventListener('click', this.documentClickHandler1, true);
148
184
  document.addEventListener('mousedown', this.handleDocumentMouseDown, true);
@@ -153,6 +189,7 @@ var Popup = function Popup(Component) {
153
189
  key: "componentWillReceiveProps",
154
190
  value: function componentWillReceiveProps(nextProps) {
155
191
  var isPopupOpen = this.state.isPopupOpen;
192
+
156
193
  if (typeof nextProps.isPopupOpen !== 'undefined' && nextProps.isPopupOpen !== isPopupOpen) {
157
194
  this.setState({
158
195
  isPopupOpen: nextProps.isPopupOpen,
@@ -164,11 +201,14 @@ var Popup = function Popup(Component) {
164
201
  key: "componentDidUpdate",
165
202
  value: function componentDidUpdate(prevProps, prevState) {
166
203
  var isPopupReady = this.state.isPopupReady;
204
+
167
205
  var _ref2 = prevState || {},
168
- _ref2$isPopupReady = _ref2.isPopupReady,
169
- oldStateOpen = _ref2$isPopupReady === void 0 ? false : _ref2$isPopupReady;
206
+ _ref2$isPopupReady = _ref2.isPopupReady,
207
+ oldStateOpen = _ref2$isPopupReady === void 0 ? false : _ref2$isPopupReady;
208
+
170
209
  var dropElement = this.dropElement;
171
210
  var propResizeHandling = this.props.needResizeHandling;
211
+
172
212
  if (oldStateOpen !== isPopupReady) {
173
213
  if (isPopupReady && dropElement && (propResizeHandling !== undefined ? propResizeHandling : needResizeHandling)) {
174
214
  this.popupObserver.replaceObservationElement(dropElement);
@@ -182,6 +222,7 @@ var Popup = function Popup(Component) {
182
222
  key: "componentWillUnmount",
183
223
  value: function componentWillUnmount() {
184
224
  var _this2 = this;
225
+
185
226
  var group = this.getGroup();
186
227
  popups = Object.keys(popups).reduce(function (res, groupName) {
187
228
  if (groupName === group) {
@@ -192,22 +233,26 @@ var Popup = function Popup(Component) {
192
233
  newGroupPopups.length === 0 && lastOpenedGroup.indexOf(group) >= 0 && lastOpenedGroup.splice(lastOpenedGroup.indexOf(group), 1);
193
234
  res[group] = newGroupPopups;
194
235
  }
236
+
195
237
  return res;
196
238
  }, popups);
197
239
  var noPopups = true;
240
+
198
241
  for (var i in popups) {
199
242
  if (popups[i].length >= 1) {
200
243
  noPopups = false;
201
244
  break;
202
245
  }
203
246
  }
247
+
204
248
  if (this.popupObserver) {
205
249
  this.popupObserver.disconnect();
206
250
  }
251
+
207
252
  if (noPopups) {
208
253
  document.removeEventListener('click', this.documentClickHandler);
209
- document.removeEventListener('keyup', this.documentKeyupHandler);
210
- // document.removeEventListener('scroll', this.handleScroll);
254
+ document.removeEventListener('keyup', this.documentKeyupHandler); // document.removeEventListener('scroll', this.handleScroll);
255
+
211
256
  window.removeEventListener('resize', this.handleResize);
212
257
  document.removeEventListener('click', this.documentClickHandler1, true);
213
258
  document.removeEventListener('mousedown', this.handleDocumentMouseDown, true);
@@ -252,7 +297,7 @@ var Popup = function Popup(Component) {
252
297
  key: "getCustomPositionOrder",
253
298
  value: function getCustomPositionOrder(popup) {
254
299
  var _popup$props$customOr = popup.props.customOrder,
255
- customOrder = _popup$props$customOr === void 0 ? [] : _popup$props$customOr;
300
+ customOrder = _popup$props$customOr === void 0 ? [] : _popup$props$customOr;
256
301
  var customPositionOrder = popup.customPositionOrder;
257
302
  return customOrder.length !== 0 ? customOrder : customPositionOrder;
258
303
  }
@@ -260,6 +305,7 @@ var Popup = function Popup(Component) {
260
305
  key: "togglePopup",
261
306
  value: function togglePopup(e, defaultPosition) {
262
307
  var _this3 = this;
308
+
263
309
  var group = this.getGroup();
264
310
  this.removeClose(e);
265
311
  var isPopupOpen = this.state.isPopupOpen;
@@ -274,6 +320,7 @@ var Popup = function Popup(Component) {
274
320
  });
275
321
  }
276
322
  });
323
+
277
324
  if (isPopupOpen) {
278
325
  this.setState({
279
326
  isPopupOpen: false,
@@ -297,6 +344,7 @@ var Popup = function Popup(Component) {
297
344
  this.removeClose(e);
298
345
  lastOpenedGroup.splice(0, 1);
299
346
  var isPopupOpen = this.state.isPopupOpen;
347
+
300
348
  if (isPopupOpen) {
301
349
  this.setState({
302
350
  isPopupOpen: false,
@@ -320,6 +368,7 @@ var Popup = function Popup(Component) {
320
368
  key: "handleDocumentMouseDown",
321
369
  value: function handleDocumentMouseDown(e) {
322
370
  var needPrevent = this.handleGetNeedPrevent(e);
371
+
323
372
  if (needPrevent) {
324
373
  this.removeClose(e);
325
374
  }
@@ -328,6 +377,7 @@ var Popup = function Popup(Component) {
328
377
  key: "handleDocumentFocus",
329
378
  value: function handleDocumentFocus(e) {
330
379
  var needPrevent = this.handleGetNeedPrevent(e);
380
+
331
381
  if (needPrevent) {
332
382
  this.removeClose(e);
333
383
  }
@@ -336,25 +386,27 @@ var Popup = function Popup(Component) {
336
386
  key: "handleGetNeedPrevent",
337
387
  value: function handleGetNeedPrevent(e) {
338
388
  var needPrevent = false;
389
+
339
390
  if (lastOpenedGroup.length > 1) {
340
391
  var target = e.target;
341
392
  var groupPopups = lastOpenedGroup.length ? popups[lastOpenedGroup[0]] : [];
342
- var openedPopup = null;
343
- // eslint-disable-next-line guard-for-in
393
+ var openedPopup = null; // eslint-disable-next-line guard-for-in
394
+
344
395
  for (var i in groupPopups) {
345
396
  var isPopupOpen = groupPopups[i].state.isPopupOpen;
397
+
346
398
  if (isPopupOpen) {
347
399
  openedPopup = groupPopups[i];
348
400
  break;
349
401
  }
350
402
  }
403
+
351
404
  if (openedPopup) {
352
405
  var _openedPopup = openedPopup,
353
- dropElement = _openedPopup.dropElement,
354
- placeHolderElement = _openedPopup.placeHolderElement;
406
+ dropElement = _openedPopup.dropElement,
407
+ placeHolderElement = _openedPopup.placeHolderElement;
355
408
  var isDropBoxChild = (0, _Common.isDescendant)(dropElement, target);
356
- var isTargetChild = (0, _Common.isDescendant)(placeHolderElement, target);
357
- // const massUpdateParent = document.querySelector(
409
+ var isTargetChild = (0, _Common.isDescendant)(placeHolderElement, target); // const massUpdateParent = document.querySelector(
358
410
  // '[data-id=massUpdatePopup]'
359
411
  // );
360
412
  // const isPopupMassUpdateChild = isDescendant(
@@ -362,19 +414,20 @@ var Popup = function Popup(Component) {
362
414
  // dropElement
363
415
  // );
364
416
 
365
- if (!isDropBoxChild && !isTargetChild
366
- // && isPopupMassUpdateChild
417
+ if (!isDropBoxChild && !isTargetChild // && isPopupMassUpdateChild
367
418
  ) {
368
419
  needPrevent = true;
369
420
  }
370
421
  }
371
422
  }
423
+
372
424
  return needPrevent;
373
425
  }
374
426
  }, {
375
427
  key: "documentClickHandler1",
376
428
  value: function documentClickHandler1(e) {
377
429
  var needPrevent = this.handleGetNeedPrevent(e);
430
+
378
431
  if (needPrevent) {
379
432
  this.removeClose(e);
380
433
  this.handleCloseLastOpenedGroup();
@@ -394,8 +447,7 @@ var Popup = function Popup(Component) {
394
447
  });
395
448
  });
396
449
  lastOpenedGroup = [];
397
- } catch (e) {
398
- // eslint-disable-next-line no-console
450
+ } catch (e) {// eslint-disable-next-line no-console
399
451
  //console.error('popup component not unmounted properly', e);
400
452
  }
401
453
  }
@@ -406,8 +458,7 @@ var Popup = function Popup(Component) {
406
458
  if (e.keyCode === 27) {
407
459
  this.handleCloseLastOpenedGroup();
408
460
  }
409
- } catch (e) {
410
- // eslint-disable-next-line no-console
461
+ } catch (e) {// eslint-disable-next-line no-console
411
462
  //console.log('error', e);
412
463
  }
413
464
  }
@@ -421,21 +472,26 @@ var Popup = function Popup(Component) {
421
472
  key: "handlePopupPosition",
422
473
  value: function handlePopupPosition() {
423
474
  var _this4 = this;
475
+
424
476
  var defaultPosition = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'bottomCenter';
425
477
  var isResizeHandling = arguments.length > 1 ? arguments[1] : undefined;
478
+
426
479
  // isResizeHandling --->>> Window resize and dropBox resize
427
480
  var _ref3 = this.context || {},
428
- direction = _ref3.direction;
481
+ direction = _ref3.direction;
482
+
429
483
  var placeHolderElement = this.placeHolderElement,
430
- dropElement = this.dropElement;
484
+ dropElement = this.dropElement;
431
485
  var needArrow = this.getNeedArrow(this);
432
486
  var isAbsolute = this.getIsAbsolutePopup(this);
433
487
  var customOrder = this.getCustomPositionOrder(this);
488
+
434
489
  if (direction === 'rtl') {
435
490
  defaultPosition = isAbsolute ? _PositionMapping.rtlAbsolutePositionMapping[defaultPosition] : _PositionMapping.rtlFixedPositionMapping[defaultPosition];
436
491
  } else {
437
492
  defaultPosition = isAbsolute ? _PositionMapping.absolutePositionMapping[defaultPosition] : defaultPosition;
438
493
  }
494
+
439
495
  if (!placeHolderElement && !dropElement) {
440
496
  this.setState({
441
497
  isPopupOpen: true,
@@ -443,25 +499,29 @@ var Popup = function Popup(Component) {
443
499
  });
444
500
  return;
445
501
  }
502
+
446
503
  var setPosition = function setPosition() {
447
504
  requestAnimationFrame(function () {
448
505
  var placeHolderElement = _this4.placeHolderElement,
449
- dropElement = _this4.dropElement;
506
+ dropElement = _this4.dropElement;
450
507
  var _this4$state = _this4.state,
451
- position = _this4$state.position,
452
- isPopupReady = _this4$state.isPopupReady;
508
+ position = _this4$state.position,
509
+ isPopupReady = _this4$state.isPopupReady;
453
510
  var scrollContainer = placeHolderElement.closest('[data-scroll=true]') || document.body;
511
+
454
512
  var betterPosition = _viewPort["default"].betterView(dropElement, placeHolderElement, defaultPosition, scrollContainer, {
455
513
  needArrow: needArrow,
456
514
  isAbsolute: isAbsolute,
457
515
  customOrder: customOrder
458
516
  });
517
+
459
518
  var _ref4 = betterPosition || {},
460
- view = _ref4.view,
461
- views = _ref4.views,
462
- viewsOffset = _ref4.viewsOffset,
463
- targetOffset = _ref4.targetOffset,
464
- popupOffset = _ref4.popupOffset;
519
+ view = _ref4.view,
520
+ views = _ref4.views,
521
+ viewsOffset = _ref4.viewsOffset,
522
+ targetOffset = _ref4.targetOffset,
523
+ popupOffset = _ref4.popupOffset;
524
+
465
525
  if (position !== view || !isPopupReady) {
466
526
  _this4.setState({
467
527
  isPopupReady: true,
@@ -475,6 +535,7 @@ var Popup = function Popup(Component) {
475
535
  }
476
536
  });
477
537
  };
538
+
478
539
  if (isResizeHandling) {
479
540
  setPosition();
480
541
  } else {
@@ -489,48 +550,55 @@ var Popup = function Popup(Component) {
489
550
  key: "handleOpenPopupPositionChange",
490
551
  value: function handleOpenPopupPositionChange() {
491
552
  var _this5 = this;
553
+
492
554
  Object.keys(popups).forEach(function (groupName) {
493
555
  var groupPopups = popups[groupName] || [];
494
556
  groupPopups.forEach(function (popup) {
495
557
  if (popup.state.isPopupOpen) {
496
558
  var placeHolderElement = popup.placeHolderElement,
497
- dropElement = popup.dropElement,
498
- defaultPosition = popup.defaultPosition;
559
+ dropElement = popup.dropElement,
560
+ defaultPosition = popup.defaultPosition;
499
561
  var _popup$state = popup.state,
500
- position = _popup$state.position,
501
- _popup$state$position = _popup$state.positionsOffset,
502
- positionsOffset = _popup$state$position === void 0 ? {} : _popup$state$position;
562
+ position = _popup$state.position,
563
+ _popup$state$position = _popup$state.positionsOffset,
564
+ positionsOffset = _popup$state$position === void 0 ? {} : _popup$state$position;
565
+
503
566
  if (placeHolderElement && dropElement) {
504
567
  var scrollContainer = placeHolderElement.closest('[data-scroll=true]') || document.body;
505
568
  requestAnimationFrame(function () {
506
569
  var needArrow = _this5.getNeedArrow(popup);
570
+
507
571
  var isAbsolute = _this5.getIsAbsolutePopup(popup);
572
+
508
573
  var customOrder = _this5.getCustomPositionOrder(popup);
574
+
509
575
  var betterPosition = _viewPort["default"].betterView(dropElement, placeHolderElement, defaultPosition, scrollContainer, {
510
576
  needArrow: needArrow,
511
577
  isAbsolute: isAbsolute,
512
578
  customOrder: customOrder
513
579
  });
580
+
514
581
  var _ref5 = betterPosition || {},
515
- view = _ref5.view,
516
- views = _ref5.views,
517
- _ref5$viewsOffset = _ref5.viewsOffset,
518
- viewsOffset = _ref5$viewsOffset === void 0 ? {} : _ref5$viewsOffset,
519
- targetOffset = _ref5.targetOffset,
520
- popupOffset = _ref5.popupOffset;
582
+ view = _ref5.view,
583
+ views = _ref5.views,
584
+ _ref5$viewsOffset = _ref5.viewsOffset,
585
+ viewsOffset = _ref5$viewsOffset === void 0 ? {} : _ref5$viewsOffset,
586
+ targetOffset = _ref5.targetOffset,
587
+ popupOffset = _ref5.popupOffset;
588
+
521
589
  var _ref6 = positionsOffset[position] || {},
522
- _ref6$left = _ref6.left,
523
- oldLeft = _ref6$left === void 0 ? '' : _ref6$left,
524
- _ref6$top = _ref6.top,
525
- oldTop = _ref6$top === void 0 ? '' : _ref6$top;
590
+ _ref6$left = _ref6.left,
591
+ oldLeft = _ref6$left === void 0 ? '' : _ref6$left,
592
+ _ref6$top = _ref6.top,
593
+ oldTop = _ref6$top === void 0 ? '' : _ref6$top;
594
+
526
595
  var _ref7 = viewsOffset[view] || {},
527
- _ref7$left = _ref7.left,
528
- left = _ref7$left === void 0 ? '' : _ref7$left,
529
- _ref7$top = _ref7.top,
530
- top = _ref7$top === void 0 ? '' : _ref7$top;
531
- var changeState = isAbsolute ? position !== view : oldLeft !== left || oldTop !== top;
596
+ _ref7$left = _ref7.left,
597
+ left = _ref7$left === void 0 ? '' : _ref7$left,
598
+ _ref7$top = _ref7.top,
599
+ top = _ref7$top === void 0 ? '' : _ref7$top;
532
600
 
533
- // let isInViewPort = viewPort.isInViewPort(
601
+ var changeState = isAbsolute ? position !== view : oldLeft !== left || oldTop !== top; // let isInViewPort = viewPort.isInViewPort(
534
602
  // placeHolderElement,
535
603
  // scrollContainer
536
604
  // );
@@ -544,9 +612,7 @@ var Popup = function Popup(Component) {
544
612
  popupOffset: popupOffset,
545
613
  isAbsolutePositioningNeeded: isAbsolute
546
614
  });
547
- }
548
-
549
- // if (!isInViewPort && !isAbsolute) {
615
+ } // if (!isInViewPort && !isAbsolute) {
550
616
  // popup.setState({ isPopupOpen: false, isPopupReady: false });
551
617
  // } else if (view && changeState) {
552
618
  // popup.setState({
@@ -558,6 +624,7 @@ var Popup = function Popup(Component) {
558
624
  // isAbsolutePositioningNeeded: isAbsolute
559
625
  // });
560
626
  // }
627
+
561
628
  });
562
629
  }
563
630
  }
@@ -574,11 +641,14 @@ var Popup = function Popup(Component) {
574
641
  value: function handleScroll(e) {
575
642
  // this.handleOpenPopupPositionChange();
576
643
  var _this$getCloseOnScrol = this.getCloseOnScrollPopup(this),
577
- closeOnScroll = _this$getCloseOnScrol.closeOnScroll;
644
+ closeOnScroll = _this$getCloseOnScrol.closeOnScroll;
645
+
578
646
  var isPopupReady = this.state.isPopupReady;
647
+
579
648
  if (isPopupReady) {
580
649
  console.log('onscrollPopupREady');
581
650
  }
651
+
582
652
  if (isPopupReady && closeOnScroll) {
583
653
  console.log(this, 'handle Scroll');
584
654
  this.togglePopup(e);
@@ -588,18 +658,22 @@ var Popup = function Popup(Component) {
588
658
  key: "handlePopupResize",
589
659
  value: function handlePopupResize(popupSize) {
590
660
  var height = popupSize.height,
591
- width = popupSize.width;
661
+ width = popupSize.width;
662
+
592
663
  var _ref8 = this.size || {},
593
- _ref8$height = _ref8.height,
594
- oldHeight = _ref8$height === void 0 ? 0 : _ref8$height,
595
- _ref8$width = _ref8.width,
596
- oldWidth = _ref8$width === void 0 ? 0 : _ref8$width;
664
+ _ref8$height = _ref8.height,
665
+ oldHeight = _ref8$height === void 0 ? 0 : _ref8$height,
666
+ _ref8$width = _ref8.width,
667
+ oldWidth = _ref8$width === void 0 ? 0 : _ref8$width;
668
+
597
669
  var _this$state = this.state,
598
- isPopupReady = _this$state.isPopupReady,
599
- position = _this$state.position;
670
+ isPopupReady = _this$state.isPopupReady,
671
+ position = _this$state.position;
672
+
600
673
  if (isPopupReady && this.size && (oldHeight !== height || width !== oldWidth)) {
601
674
  this.handlePopupPosition(position, true);
602
675
  }
676
+
603
677
  this.size = popupSize;
604
678
  }
605
679
  }, {
@@ -616,8 +690,8 @@ var Popup = function Popup(Component) {
616
690
  key: "render",
617
691
  value: function render() {
618
692
  var _this$state2 = this.state,
619
- isPopupReady = _this$state2.isPopupReady,
620
- isPopupOpen = _this$state2.isPopupOpen;
693
+ isPopupReady = _this$state2.isPopupReady,
694
+ isPopupOpen = _this$state2.isPopupOpen;
621
695
  var localState = isPopupReady ? this.state : {};
622
696
  return /*#__PURE__*/_react["default"].createElement(Component, _extends({}, this.props, this.state, {
623
697
  openPopupOnly: this.openPopupOnly,
@@ -629,13 +703,16 @@ var Popup = function Popup(Component) {
629
703
  }));
630
704
  }
631
705
  }]);
706
+
632
707
  return Popup;
633
708
  }(_react["default"].Component);
709
+
634
710
  Popup.displayName = Component.displayName || Component.name || Popup.name;
635
711
  Popup.contextTypes = {
636
712
  direction: _propTypes["default"].string
637
713
  };
638
714
  return (0, _hoistNonReactStatics["default"])(Popup, Component);
639
715
  };
716
+
640
717
  var _default = Popup;
641
718
  exports["default"] = _default;