@zohodesk/components 1.2.23 → 1.2.24

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 (627) 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 +7 -89
  5. package/es/Animation/utils.js +83 -0
  6. package/es/AppContainer/AppContainer.js +14 -3
  7. package/es/AppContainer/AppContainer.module.css +2 -2
  8. package/es/Avatar/Avatar.js +23 -11
  9. package/es/Avatar/Avatar.module.css +18 -18
  10. package/es/AvatarTeam/AvatarTeam.js +3 -3
  11. package/es/AvatarTeam/AvatarTeam.module.css +35 -35
  12. package/es/AvatarTeam/__tests__/AvatarTeam.spec.js +1 -2
  13. package/es/Button/Button.js +4 -3
  14. package/es/Button/css/Button.module.css +70 -70
  15. package/es/Buttongroup/Buttongroup.js +3 -3
  16. package/es/Buttongroup/Buttongroup.module.css +13 -15
  17. package/es/Card/Card.js +21 -10
  18. package/es/CheckBox/CheckBox.js +5 -3
  19. package/es/CheckBox/CheckBox.module.css +15 -15
  20. package/es/DateTime/CalendarView.js +32 -20
  21. package/es/DateTime/DateTime.js +69 -6
  22. package/es/DateTime/DateTime.module.css +40 -40
  23. package/es/DateTime/DateTimePopupFooter.js +4 -1
  24. package/es/DateTime/DateTimePopupHeader.js +8 -2
  25. package/es/DateTime/DateWidget.js +98 -35
  26. package/es/DateTime/DateWidget.module.css +5 -5
  27. package/es/DateTime/DaysRow.js +4 -1
  28. package/es/DateTime/Time.js +10 -1
  29. package/es/DateTime/YearView.js +28 -4
  30. package/es/DateTime/YearView.module.css +15 -15
  31. package/es/DateTime/common.js +3 -0
  32. package/es/DateTime/constants.js +1 -0
  33. package/es/DateTime/dateFormatUtils/dateFormat.js +65 -30
  34. package/es/DateTime/dateFormatUtils/dateFormats.js +0 -1
  35. package/es/DateTime/dateFormatUtils/dayChange.js +13 -4
  36. package/es/DateTime/dateFormatUtils/index.js +31 -1
  37. package/es/DateTime/dateFormatUtils/monthChange.js +8 -0
  38. package/es/DateTime/dateFormatUtils/timeChange.js +22 -6
  39. package/es/DateTime/dateFormatUtils/yearChange.js +11 -2
  40. package/es/DateTime/objectUtils.js +14 -20
  41. package/es/DateTime/typeChecker.js +3 -0
  42. package/es/DateTime/validator.js +58 -6
  43. package/es/DropBox/DropBox.js +6 -2
  44. package/es/DropBox/DropBoxElement/DropBoxElement.js +7 -0
  45. package/es/DropBox/DropBoxElement/css/DropBoxElement.module.css +73 -76
  46. package/es/DropBox/DropBoxElement/css/cssJSLogic.js +5 -3
  47. package/es/DropBox/DropBoxElement/useDropboxPosCalc.js +3 -0
  48. package/es/DropBox/css/DropBox.module.css +6 -6
  49. package/es/DropBox/props/defaultProps.js +1 -2
  50. package/es/DropBox/props/propTypes.js +1 -2
  51. package/es/DropDown/DropDown.js +7 -1
  52. package/es/DropDown/DropDown.module.css +2 -2
  53. package/es/DropDown/DropDownHeading.js +4 -5
  54. package/es/DropDown/DropDownHeading.module.css +6 -6
  55. package/es/DropDown/DropDownItem.js +6 -0
  56. package/es/DropDown/DropDownItem.module.css +12 -12
  57. package/es/DropDown/DropDownSearch.js +4 -0
  58. package/es/DropDown/DropDownSearch.module.css +3 -3
  59. package/es/DropDown/DropDownSeparator.js +1 -0
  60. package/es/DropDown/DropDownSeparator.module.css +2 -2
  61. package/es/DropDown/props/propTypes.js +1 -2
  62. package/es/Heading/Heading.js +2 -3
  63. package/es/Heading/Heading.module.css +2 -2
  64. package/es/Label/Label.js +2 -3
  65. package/es/Label/Label.module.css +5 -5
  66. package/es/Label/__tests__/Label.spec.js +1 -2
  67. package/es/Layout/Box.js +15 -2
  68. package/es/Layout/Container.js +14 -3
  69. package/es/Layout/Layout.module.css +15 -15
  70. package/es/Layout/index.js +1 -2
  71. package/es/Layout/utils.js +1 -0
  72. package/es/ListItem/ListContainer.js +8 -3
  73. package/es/ListItem/ListItem.js +9 -3
  74. package/es/ListItem/ListItem.module.css +27 -38
  75. package/es/ListItem/ListItemWithAvatar.js +9 -3
  76. package/es/ListItem/ListItemWithCheckBox.js +7 -2
  77. package/es/ListItem/ListItemWithIcon.js +8 -3
  78. package/es/ListItem/ListItemWithRadio.js +7 -3
  79. package/es/Modal/Modal.js +28 -11
  80. package/es/MultiSelect/AdvancedGroupMultiSelect.js +89 -13
  81. package/es/MultiSelect/AdvancedMultiSelect.js +32 -9
  82. package/es/MultiSelect/EmptyState.js +2 -0
  83. package/es/MultiSelect/MobileHeader/MobileHeader.module.css +5 -5
  84. package/es/MultiSelect/MultiSelect.js +99 -30
  85. package/es/MultiSelect/MultiSelect.module.css +31 -31
  86. package/es/MultiSelect/MultiSelectHeader.js +3 -0
  87. package/es/MultiSelect/MultiSelectWithAvatar.js +10 -3
  88. package/es/MultiSelect/SelectedOptions.js +6 -3
  89. package/es/MultiSelect/SelectedOptions.module.css +5 -5
  90. package/es/MultiSelect/Suggestions.js +7 -3
  91. package/es/MultiSelect/props/propTypes.js +2 -2
  92. package/es/PopOver/PopOver.js +16 -0
  93. package/es/Popup/Popup.js +77 -24
  94. package/es/Popup/viewPort.js +16 -4
  95. package/es/Provider/IdProvider.js +10 -5
  96. package/es/Provider/LibraryContext.js +6 -4
  97. package/es/Provider/NumberGenerator/NumberGenerator.js +21 -7
  98. package/es/Provider/ZindexProvider.js +9 -2
  99. package/es/Radio/Radio.js +3 -0
  100. package/es/Radio/Radio.module.css +9 -9
  101. package/es/Responsive/CustomResponsive.js +30 -18
  102. package/es/Responsive/RefWrapper.js +6 -7
  103. package/es/Responsive/ResizeComponent.js +35 -25
  104. package/es/Responsive/ResizeObserver.js +26 -6
  105. package/es/Responsive/Responsive.js +34 -20
  106. package/es/Responsive/index.js +1 -3
  107. package/es/Responsive/sizeObservers.js +28 -7
  108. package/es/Responsive/utils/index.js +7 -5
  109. package/es/Responsive/utils/shallowCompare.js +7 -2
  110. package/es/Responsive/windowResizeObserver.js +7 -0
  111. package/es/ResponsiveDropBox/ResponsiveDropBox.js +4 -0
  112. package/es/ResponsiveDropBox/ResponsiveDropBox.module.css +2 -2
  113. package/es/ResponsiveDropBox/props/propTypes.js +1 -2
  114. package/es/Ribbon/Ribbon.js +3 -2
  115. package/es/Ribbon/Ribbon.module.css +45 -48
  116. package/es/RippleEffect/RippleEffect.js +1 -3
  117. package/es/Select/GroupSelect.js +58 -14
  118. package/es/Select/Select.js +79 -33
  119. package/es/Select/Select.module.css +23 -23
  120. package/es/Select/SelectWithAvatar.js +17 -4
  121. package/es/Select/SelectWithIcon.js +46 -5
  122. package/es/Select/props/propTypes.js +2 -2
  123. package/es/Stencils/Stencils.js +3 -3
  124. package/es/Stencils/Stencils.module.css +11 -11
  125. package/es/Switch/Switch.js +5 -3
  126. package/es/Switch/Switch.module.css +23 -23
  127. package/es/Tab/Tab.js +4 -4
  128. package/es/Tab/Tab.module.css +14 -14
  129. package/es/Tab/TabContent.js +1 -0
  130. package/es/Tab/TabContentWrapper.js +3 -0
  131. package/es/Tab/TabWrapper.js +5 -2
  132. package/es/Tab/Tabs.js +54 -7
  133. package/es/Tab/Tabs.module.css +22 -22
  134. package/es/Tag/Tag.js +6 -3
  135. package/es/Tag/Tag.module.css +24 -25
  136. package/es/TextBox/TextBox.js +16 -3
  137. package/es/TextBox/TextBox.module.css +9 -9
  138. package/es/TextBoxIcon/TextBoxIcon.js +9 -2
  139. package/es/TextBoxIcon/TextBoxIcon.module.css +7 -7
  140. package/es/TextBoxIcon/props/propTypes.js +1 -2
  141. package/es/Textarea/Textarea.js +12 -3
  142. package/es/Textarea/Textarea.module.css +21 -21
  143. package/es/Tooltip/Tooltip.js +58 -14
  144. package/es/Tooltip/Tooltip.module.css +5 -5
  145. package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +3 -2
  146. package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +7 -5
  147. package/es/common/animation.module.css +8 -8
  148. package/es/common/avatarsizes.module.css +16 -16
  149. package/es/common/basicReset.module.css +3 -3
  150. package/es/common/common.module.css +24 -24
  151. package/es/common/customscroll.module.css +2 -2
  152. package/es/deprecated/PortalLayer/PortalLayer.js +25 -20
  153. package/es/semantic/Button/Button.js +3 -2
  154. package/es/semantic/Button/semanticButton.module.css +1 -1
  155. package/es/utils/Common.js +54 -9
  156. package/es/utils/ContextOptimizer.js +4 -5
  157. package/es/utils/constructFullName.js +2 -0
  158. package/es/utils/datetime/common.js +16 -5
  159. package/es/utils/debounce.js +5 -1
  160. package/es/utils/dropDownUtils.js +68 -11
  161. package/es/utils/getInitial.js +4 -0
  162. package/es/utils/shallowEqual.js +6 -0
  163. package/es/v1/Accordion/Accordion.js +4 -3
  164. package/es/v1/Accordion/AccordionItem.js +4 -2
  165. package/es/v1/Animation/Animation.js +5 -89
  166. package/es/v1/Animation/utils.js +83 -0
  167. package/es/v1/AppContainer/AppContainer.js +9 -3
  168. package/es/v1/Avatar/Avatar.js +18 -6
  169. package/es/v1/AvatarTeam/AvatarTeam.js +1 -0
  170. package/es/v1/Button/Button.js +3 -3
  171. package/es/v1/Card/Card.js +16 -8
  172. package/es/v1/CheckBox/CheckBox.js +6 -3
  173. package/es/v1/DateTime/CalendarView.js +32 -20
  174. package/es/v1/DateTime/DateTime.js +69 -6
  175. package/es/v1/DateTime/DateTimePopupFooter.js +4 -1
  176. package/es/v1/DateTime/DateTimePopupHeader.js +8 -2
  177. package/es/v1/DateTime/DateWidget.js +98 -35
  178. package/es/v1/DateTime/DaysRow.js +4 -1
  179. package/es/v1/DateTime/Time.js +10 -1
  180. package/es/v1/DateTime/YearView.js +28 -4
  181. package/es/v1/DropBox/DropBox.js +6 -2
  182. package/es/v1/DropBox/DropBoxElement/DropBoxElement.js +7 -0
  183. package/es/v1/DropBox/props/defaultProps.js +1 -2
  184. package/es/v1/DropBox/props/propTypes.js +1 -2
  185. package/es/v1/DropDown/DropDown.js +3 -0
  186. package/es/v1/DropDown/DropDownHeading.js +2 -2
  187. package/es/v1/DropDown/DropDownItem.js +5 -0
  188. package/es/v1/DropDown/DropDownSearch.js +3 -2
  189. package/es/v1/DropDown/props/propTypes.js +1 -2
  190. package/es/v1/Heading/Heading.js +1 -3
  191. package/es/v1/Layout/Box.js +15 -2
  192. package/es/v1/Layout/Container.js +14 -3
  193. package/es/v1/ListItem/ListContainer.js +8 -3
  194. package/es/v1/ListItem/ListItem.js +10 -3
  195. package/es/v1/ListItem/ListItemWithAvatar.js +9 -1
  196. package/es/v1/ListItem/ListItemWithCheckBox.js +8 -2
  197. package/es/v1/ListItem/ListItemWithIcon.js +9 -3
  198. package/es/v1/ListItem/ListItemWithRadio.js +8 -3
  199. package/es/v1/Modal/Modal.js +17 -1
  200. package/es/v1/MultiSelect/AdvancedGroupMultiSelect.js +90 -15
  201. package/es/v1/MultiSelect/AdvancedMultiSelect.js +32 -9
  202. package/es/v1/MultiSelect/EmptyState.js +2 -0
  203. package/es/v1/MultiSelect/MultiSelect.js +100 -31
  204. package/es/v1/MultiSelect/MultiSelectHeader.js +3 -0
  205. package/es/v1/MultiSelect/MultiSelectWithAvatar.js +11 -3
  206. package/es/v1/MultiSelect/SelectedOptions.js +6 -3
  207. package/es/v1/MultiSelect/Suggestions.js +7 -3
  208. package/es/v1/MultiSelect/props/propTypes.js +2 -2
  209. package/es/v1/PopOver/PopOver.js +11 -0
  210. package/es/v1/Popup/Popup.js +77 -24
  211. package/es/v1/Provider/IdProvider.js +10 -5
  212. package/es/v1/Provider/LibraryContext.js +6 -4
  213. package/es/v1/Provider/NumberGenerator/NumberGenerator.js +21 -7
  214. package/es/v1/Provider/ZindexProvider.js +9 -2
  215. package/es/v1/Radio/Radio.js +5 -2
  216. package/es/v1/Responsive/CustomResponsive.js +30 -18
  217. package/es/v1/Responsive/RefWrapper.js +6 -7
  218. package/es/v1/Responsive/ResizeComponent.js +35 -25
  219. package/es/v1/Responsive/ResizeObserver.js +26 -6
  220. package/es/v1/Responsive/Responsive.js +34 -20
  221. package/es/v1/Responsive/index.js +1 -3
  222. package/es/v1/ResponsiveDropBox/ResponsiveDropBox.js +1 -0
  223. package/es/v1/ResponsiveDropBox/props/propTypes.js +1 -2
  224. package/es/v1/Select/GroupSelect.js +58 -14
  225. package/es/v1/Select/Select.js +81 -37
  226. package/es/v1/Select/SelectWithAvatar.js +17 -4
  227. package/es/v1/Select/SelectWithIcon.js +46 -5
  228. package/es/v1/Select/props/propTypes.js +2 -2
  229. package/es/v1/Stencils/Stencils.js +2 -0
  230. package/es/v1/Switch/Switch.js +6 -3
  231. package/es/v1/Tab/Tab.js +3 -3
  232. package/es/v1/Tab/TabContent.js +1 -0
  233. package/es/v1/Tab/TabContentWrapper.js +3 -0
  234. package/es/v1/Tab/TabWrapper.js +5 -2
  235. package/es/v1/Tab/Tabs.js +54 -9
  236. package/es/v1/Tab/v1Tab.module.css +14 -14
  237. package/es/v1/Tab/v1Tabs.module.css +22 -22
  238. package/es/v1/Tag/Tag.js +5 -1
  239. package/es/v1/TextBox/TextBox.js +14 -0
  240. package/es/v1/TextBoxIcon/TextBoxIcon.js +6 -2
  241. package/es/v1/TextBoxIcon/props/propTypes.js +1 -2
  242. package/es/v1/Textarea/Textarea.js +10 -3
  243. package/es/v1/Tooltip/Tooltip.js +58 -14
  244. package/es/v1/Typography/Typography.js +2 -0
  245. package/es/v1/Typography/css/Typography.module.css +31 -31
  246. package/es/v1/Typography/css/cssJSLogic.js +3 -0
  247. package/es/v1/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +1 -2
  248. package/es/v1/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +5 -4
  249. package/es/v1/semantic/Button/Button.js +1 -2
  250. package/lib/Accordion/Accordion.js +42 -18
  251. package/lib/Accordion/AccordionItem.js +40 -18
  252. package/lib/Accordion/index.js +3 -0
  253. package/lib/Accordion/props/propTypes.js +3 -0
  254. package/lib/Animation/Animation.js +42 -104
  255. package/lib/Animation/props/propTypes.js +3 -0
  256. package/lib/Animation/utils.js +94 -0
  257. package/lib/AppContainer/AppContainer.js +58 -20
  258. package/lib/AppContainer/AppContainer.module.css +2 -2
  259. package/lib/AppContainer/props/propTypes.js +3 -0
  260. package/lib/Avatar/Avatar.js +78 -38
  261. package/lib/Avatar/Avatar.module.css +18 -18
  262. package/lib/Avatar/__tests__/Avatar.spec.js +95 -71
  263. package/lib/Avatar/props/propTypes.js +3 -0
  264. package/lib/AvatarTeam/AvatarTeam.js +52 -30
  265. package/lib/AvatarTeam/AvatarTeam.module.css +35 -35
  266. package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +77 -61
  267. package/lib/AvatarTeam/props/propTypes.js +3 -0
  268. package/lib/Button/Button.js +33 -22
  269. package/lib/Button/__tests__/Button.spec.js +65 -48
  270. package/lib/Button/css/Button.module.css +70 -70
  271. package/lib/Button/css/cssJSLogic.js +18 -17
  272. package/lib/Button/index.js +3 -0
  273. package/lib/Button/props/defaultProps.js +2 -0
  274. package/lib/Button/props/propTypes.js +3 -0
  275. package/lib/Buttongroup/Buttongroup.js +32 -12
  276. package/lib/Buttongroup/Buttongroup.module.css +13 -15
  277. package/lib/Buttongroup/__tests__/Buttongroup.spec.js +18 -10
  278. package/lib/Buttongroup/props/propTypes.js +3 -0
  279. package/lib/Card/Card.js +102 -46
  280. package/lib/Card/index.js +4 -0
  281. package/lib/Card/props/propTypes.js +3 -0
  282. package/lib/CheckBox/CheckBox.js +71 -47
  283. package/lib/CheckBox/CheckBox.module.css +15 -15
  284. package/lib/CheckBox/props/propTypes.js +3 -0
  285. package/lib/DateTime/CalendarView.js +82 -42
  286. package/lib/DateTime/DateTime.js +244 -156
  287. package/lib/DateTime/DateTime.module.css +40 -40
  288. package/lib/DateTime/DateTimePopupFooter.js +33 -8
  289. package/lib/DateTime/DateTimePopupHeader.js +49 -17
  290. package/lib/DateTime/DateWidget.js +350 -249
  291. package/lib/DateTime/DateWidget.module.css +5 -5
  292. package/lib/DateTime/DaysRow.js +28 -5
  293. package/lib/DateTime/Time.js +75 -32
  294. package/lib/DateTime/YearView.js +76 -27
  295. package/lib/DateTime/YearView.module.css +15 -15
  296. package/lib/DateTime/common.js +6 -0
  297. package/lib/DateTime/constants.js +1 -0
  298. package/lib/DateTime/dateFormatUtils/dateFormat.js +187 -122
  299. package/lib/DateTime/dateFormatUtils/dateFormats.js +0 -1
  300. package/lib/DateTime/dateFormatUtils/dayChange.js +15 -7
  301. package/lib/DateTime/dateFormatUtils/index.js +73 -16
  302. package/lib/DateTime/dateFormatUtils/monthChange.js +20 -9
  303. package/lib/DateTime/dateFormatUtils/timeChange.js +54 -22
  304. package/lib/DateTime/dateFormatUtils/yearChange.js +23 -11
  305. package/lib/DateTime/index.js +2 -0
  306. package/lib/DateTime/objectUtils.js +24 -20
  307. package/lib/DateTime/props/propTypes.js +11 -1
  308. package/lib/DateTime/typeChecker.js +4 -0
  309. package/lib/DateTime/validator.js +73 -10
  310. package/lib/DropBox/DropBox.js +45 -21
  311. package/lib/DropBox/DropBoxElement/DropBoxElement.js +59 -38
  312. package/lib/DropBox/DropBoxElement/css/DropBoxElement.module.css +73 -76
  313. package/lib/DropBox/DropBoxElement/css/cssJSLogic.js +42 -34
  314. package/lib/DropBox/DropBoxElement/props/propTypes.js +3 -0
  315. package/lib/DropBox/DropBoxElement/useDropboxPosCalc.js +14 -9
  316. package/lib/DropBox/css/DropBox.module.css +6 -6
  317. package/lib/DropBox/css/cssJSLogic.js +3 -1
  318. package/lib/DropBox/props/defaultProps.js +8 -4
  319. package/lib/DropBox/props/propTypes.js +10 -4
  320. package/lib/DropDown/DropDown.js +51 -5
  321. package/lib/DropDown/DropDown.module.css +2 -2
  322. package/lib/DropDown/DropDownHeading.js +39 -20
  323. package/lib/DropDown/DropDownHeading.module.css +6 -6
  324. package/lib/DropDown/DropDownItem.js +42 -20
  325. package/lib/DropDown/DropDownItem.module.css +12 -12
  326. package/lib/DropDown/DropDownSearch.js +40 -17
  327. package/lib/DropDown/DropDownSearch.module.css +3 -3
  328. package/lib/DropDown/DropDownSeparator.js +24 -4
  329. package/lib/DropDown/DropDownSeparator.module.css +2 -2
  330. package/lib/DropDown/index.js +9 -0
  331. package/lib/DropDown/props/propTypes.js +10 -4
  332. package/lib/Heading/Heading.js +37 -15
  333. package/lib/Heading/Heading.module.css +2 -2
  334. package/lib/Heading/props/propTypes.js +3 -0
  335. package/lib/Label/Label.js +41 -21
  336. package/lib/Label/Label.module.css +5 -5
  337. package/lib/Label/__tests__/Label.spec.js +48 -34
  338. package/lib/Label/props/propTypes.js +3 -0
  339. package/lib/Layout/Box.js +35 -15
  340. package/lib/Layout/Container.js +33 -14
  341. package/lib/Layout/Layout.module.css +15 -15
  342. package/lib/Layout/index.js +3 -0
  343. package/lib/Layout/props/propTypes.js +3 -0
  344. package/lib/Layout/utils.js +11 -0
  345. package/lib/ListItem/ListContainer.js +55 -30
  346. package/lib/ListItem/ListItem.js +74 -45
  347. package/lib/ListItem/ListItem.module.css +27 -38
  348. package/lib/ListItem/ListItemWithAvatar.js +80 -48
  349. package/lib/ListItem/ListItemWithCheckBox.js +70 -40
  350. package/lib/ListItem/ListItemWithIcon.js +73 -44
  351. package/lib/ListItem/ListItemWithRadio.js +71 -42
  352. package/lib/ListItem/index.js +7 -0
  353. package/lib/ListItem/props/propTypes.js +6 -4
  354. package/lib/Modal/Modal.js +45 -10
  355. package/lib/Modal/props/propTypes.js +3 -0
  356. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +293 -166
  357. package/lib/MultiSelect/AdvancedMultiSelect.js +202 -125
  358. package/lib/MultiSelect/EmptyState.js +45 -24
  359. package/lib/MultiSelect/MobileHeader/MobileHeader.js +14 -5
  360. package/lib/MultiSelect/MobileHeader/MobileHeader.module.css +5 -5
  361. package/lib/MultiSelect/MobileHeader/props/propTypes.js +3 -0
  362. package/lib/MultiSelect/MultiSelect.js +333 -214
  363. package/lib/MultiSelect/MultiSelect.module.css +31 -31
  364. package/lib/MultiSelect/MultiSelectHeader.js +29 -7
  365. package/lib/MultiSelect/MultiSelectWithAvatar.js +85 -43
  366. package/lib/MultiSelect/SelectedOptions.js +43 -17
  367. package/lib/MultiSelect/SelectedOptions.module.css +5 -5
  368. package/lib/MultiSelect/Suggestions.js +64 -32
  369. package/lib/MultiSelect/index.js +5 -0
  370. package/lib/MultiSelect/props/defaultProps.js +2 -0
  371. package/lib/MultiSelect/props/propTypes.js +14 -4
  372. package/lib/PopOver/PopOver.js +94 -47
  373. package/lib/PopOver/index.js +4 -0
  374. package/lib/PopOver/props/propTypes.js +3 -0
  375. package/lib/Popup/Popup.js +158 -81
  376. package/lib/Popup/viewPort.js +28 -14
  377. package/lib/Provider/AvatarSize.js +4 -0
  378. package/lib/Provider/Config.js +2 -0
  379. package/lib/Provider/CssProvider.js +4 -0
  380. package/lib/Provider/IdProvider.js +17 -6
  381. package/lib/Provider/LibraryContext.js +35 -15
  382. package/lib/Provider/LibraryContextInit.js +4 -0
  383. package/lib/Provider/NumberGenerator/NumberGenerator.js +44 -15
  384. package/lib/Provider/ZindexProvider.js +15 -3
  385. package/lib/Provider/index.js +5 -0
  386. package/lib/Radio/Radio.js +60 -36
  387. package/lib/Radio/Radio.module.css +9 -9
  388. package/lib/Radio/__tests__/Radio.spec.js +134 -103
  389. package/lib/Radio/props/propTypes.js +3 -0
  390. package/lib/Responsive/CustomResponsive.js +73 -29
  391. package/lib/Responsive/RefWrapper.js +17 -11
  392. package/lib/Responsive/ResizeComponent.js +62 -36
  393. package/lib/Responsive/ResizeObserver.js +24 -10
  394. package/lib/Responsive/Responsive.js +80 -30
  395. package/lib/Responsive/index.js +4 -0
  396. package/lib/Responsive/props/propTypes.js +3 -0
  397. package/lib/Responsive/sizeObservers.js +53 -17
  398. package/lib/Responsive/utils/index.js +11 -3
  399. package/lib/Responsive/utils/shallowCompare.js +11 -2
  400. package/lib/Responsive/windowResizeObserver.js +8 -0
  401. package/lib/ResponsiveDropBox/ResponsiveDropBox.js +45 -17
  402. package/lib/ResponsiveDropBox/ResponsiveDropBox.module.css +2 -2
  403. package/lib/ResponsiveDropBox/props/propTypes.js +9 -4
  404. package/lib/Ribbon/Ribbon.js +33 -13
  405. package/lib/Ribbon/Ribbon.module.css +45 -48
  406. package/lib/Ribbon/__tests__/Ribbon.spec.js +24 -14
  407. package/lib/Ribbon/props/propTypes.js +3 -0
  408. package/lib/RippleEffect/RippleEffect.js +18 -10
  409. package/lib/RippleEffect/__tests__/RippleEffect.spec.js +34 -22
  410. package/lib/RippleEffect/props/propTypes.js +3 -0
  411. package/lib/Select/GroupSelect.js +229 -130
  412. package/lib/Select/Select.js +295 -211
  413. package/lib/Select/Select.module.css +23 -23
  414. package/lib/Select/SelectWithAvatar.js +102 -56
  415. package/lib/Select/SelectWithIcon.js +131 -76
  416. package/lib/Select/index.js +5 -0
  417. package/lib/Select/props/defaultProps.js +5 -4
  418. package/lib/Select/props/propTypes.js +10 -4
  419. package/lib/Stencils/Stencils.js +29 -10
  420. package/lib/Stencils/Stencils.module.css +11 -11
  421. package/lib/Stencils/__tests__/Stencils.spec.js +22 -13
  422. package/lib/Stencils/props/propTypes.js +3 -0
  423. package/lib/Switch/Switch.js +57 -34
  424. package/lib/Switch/Switch.module.css +23 -23
  425. package/lib/Switch/__tests__/Switch.spec.js +91 -72
  426. package/lib/Switch/props/propTypes.js +3 -0
  427. package/lib/Tab/Tab.js +40 -27
  428. package/lib/Tab/Tab.module.css +14 -14
  429. package/lib/Tab/TabContent.js +12 -5
  430. package/lib/Tab/TabContentWrapper.js +16 -8
  431. package/lib/Tab/TabWrapper.js +37 -19
  432. package/lib/Tab/Tabs.js +171 -91
  433. package/lib/Tab/Tabs.module.css +22 -22
  434. package/lib/Tab/index.js +6 -0
  435. package/lib/Tab/props/propTypes.js +3 -0
  436. package/lib/Tag/Tag.js +72 -43
  437. package/lib/Tag/Tag.module.css +24 -25
  438. package/lib/Tag/props/propTypes.js +3 -0
  439. package/lib/TextBox/TextBox.js +86 -60
  440. package/lib/TextBox/TextBox.module.css +9 -9
  441. package/lib/TextBox/props/propTypes.js +6 -4
  442. package/lib/TextBoxIcon/TextBoxIcon.js +80 -53
  443. package/lib/TextBoxIcon/TextBoxIcon.module.css +7 -7
  444. package/lib/TextBoxIcon/props/propTypes.js +9 -4
  445. package/lib/Textarea/Textarea.js +54 -29
  446. package/lib/Textarea/Textarea.module.css +21 -21
  447. package/lib/Textarea/props/propTypes.js +3 -0
  448. package/lib/Tooltip/Tooltip.js +94 -31
  449. package/lib/Tooltip/Tooltip.module.css +5 -5
  450. package/lib/Tooltip/props/propTypes.js +3 -0
  451. package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +40 -16
  452. package/lib/VelocityAnimation/VelocityAnimation/props/propTypes.js +3 -0
  453. package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +53 -25
  454. package/lib/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +3 -0
  455. package/lib/VelocityAnimation/index.js +3 -0
  456. package/lib/common/animation.module.css +8 -8
  457. package/lib/common/avatarsizes.module.css +16 -16
  458. package/lib/common/basicReset.module.css +3 -3
  459. package/lib/common/common.module.css +24 -24
  460. package/lib/common/customscroll.module.css +2 -2
  461. package/lib/css.js +40 -0
  462. package/lib/deprecated/PortalLayer/PortalLayer.js +46 -23
  463. package/lib/deprecated/PortalLayer/props/propTypes.js +3 -0
  464. package/lib/index.js +58 -0
  465. package/lib/semantic/Button/Button.js +42 -22
  466. package/lib/semantic/Button/props/propTypes.js +3 -0
  467. package/lib/semantic/Button/semanticButton.module.css +1 -1
  468. package/lib/semantic/index.js +2 -0
  469. package/lib/utils/Common.js +111 -18
  470. package/lib/utils/ContextOptimizer.js +16 -10
  471. package/lib/utils/constructFullName.js +13 -4
  472. package/lib/utils/datetime/common.js +34 -5
  473. package/lib/utils/debounce.js +6 -1
  474. package/lib/utils/dropDownUtils.js +175 -59
  475. package/lib/utils/dummyFunction.js +2 -0
  476. package/lib/utils/getHTMLFontSize.js +1 -0
  477. package/lib/utils/getInitial.js +6 -0
  478. package/lib/utils/index.js +1 -0
  479. package/lib/utils/scrollTo.js +2 -0
  480. package/lib/utils/shallowEqual.js +8 -0
  481. package/lib/v1/Accordion/Accordion.js +38 -19
  482. package/lib/v1/Accordion/AccordionItem.js +23 -13
  483. package/lib/v1/Accordion/index.js +3 -0
  484. package/lib/v1/Accordion/props/propTypes.js +3 -0
  485. package/lib/v1/Animation/Animation.js +24 -100
  486. package/lib/v1/Animation/props/propTypes.js +3 -0
  487. package/lib/v1/Animation/utils.js +94 -0
  488. package/lib/v1/AppContainer/AppContainer.js +46 -17
  489. package/lib/v1/AppContainer/props/propTypes.js +3 -0
  490. package/lib/v1/Avatar/Avatar.js +68 -32
  491. package/lib/v1/Avatar/props/propTypes.js +3 -0
  492. package/lib/v1/AvatarTeam/AvatarTeam.js +32 -24
  493. package/lib/v1/AvatarTeam/props/propTypes.js +3 -0
  494. package/lib/v1/Button/Button.js +32 -22
  495. package/lib/v1/Button/props/defaultProps.js +2 -0
  496. package/lib/v1/Button/props/propTypes.js +3 -0
  497. package/lib/v1/Buttongroup/Buttongroup.js +13 -5
  498. package/lib/v1/Buttongroup/props/propTypes.js +3 -0
  499. package/lib/v1/Card/Card.js +78 -44
  500. package/lib/v1/Card/index.js +4 -0
  501. package/lib/v1/Card/props/propTypes.js +3 -0
  502. package/lib/v1/CheckBox/CheckBox.js +52 -41
  503. package/lib/v1/CheckBox/props/propTypes.js +3 -0
  504. package/lib/v1/DateTime/CalendarView.js +89 -48
  505. package/lib/v1/DateTime/DateTime.js +246 -158
  506. package/lib/v1/DateTime/DateTimePopupFooter.js +33 -8
  507. package/lib/v1/DateTime/DateTimePopupHeader.js +49 -17
  508. package/lib/v1/DateTime/DateWidget.js +352 -251
  509. package/lib/v1/DateTime/DaysRow.js +28 -5
  510. package/lib/v1/DateTime/Time.js +75 -32
  511. package/lib/v1/DateTime/YearView.js +76 -27
  512. package/lib/v1/DateTime/index.js +2 -0
  513. package/lib/v1/DateTime/props/propTypes.js +11 -1
  514. package/lib/v1/DropBox/DropBox.js +45 -21
  515. package/lib/v1/DropBox/DropBoxElement/DropBoxElement.js +59 -38
  516. package/lib/v1/DropBox/DropBoxElement/props/propTypes.js +3 -0
  517. package/lib/v1/DropBox/props/defaultProps.js +8 -4
  518. package/lib/v1/DropBox/props/propTypes.js +10 -4
  519. package/lib/v1/DropDown/DropDown.js +23 -3
  520. package/lib/v1/DropDown/DropDownHeading.js +20 -13
  521. package/lib/v1/DropDown/DropDownItem.js +26 -11
  522. package/lib/v1/DropDown/DropDownSearch.js +28 -16
  523. package/lib/v1/DropDown/DropDownSeparator.js +7 -1
  524. package/lib/v1/DropDown/props/propTypes.js +10 -4
  525. package/lib/v1/Heading/Heading.js +19 -14
  526. package/lib/v1/Heading/props/propTypes.js +3 -0
  527. package/lib/v1/Label/Label.js +22 -14
  528. package/lib/v1/Label/props/propTypes.js +3 -0
  529. package/lib/v1/Layout/Box.js +35 -15
  530. package/lib/v1/Layout/Container.js +33 -14
  531. package/lib/v1/Layout/index.js +3 -0
  532. package/lib/v1/Layout/props/propTypes.js +3 -0
  533. package/lib/v1/ListItem/ListContainer.js +55 -30
  534. package/lib/v1/ListItem/ListItem.js +53 -38
  535. package/lib/v1/ListItem/ListItemWithAvatar.js +62 -39
  536. package/lib/v1/ListItem/ListItemWithCheckBox.js +49 -34
  537. package/lib/v1/ListItem/ListItemWithIcon.js +52 -37
  538. package/lib/v1/ListItem/ListItemWithRadio.js +49 -35
  539. package/lib/v1/ListItem/index.js +7 -0
  540. package/lib/v1/ListItem/props/propTypes.js +6 -4
  541. package/lib/v1/Modal/Modal.js +46 -9
  542. package/lib/v1/Modal/props/propTypes.js +3 -0
  543. package/lib/v1/MultiSelect/AdvancedGroupMultiSelect.js +294 -168
  544. package/lib/v1/MultiSelect/AdvancedMultiSelect.js +202 -125
  545. package/lib/v1/MultiSelect/EmptyState.js +45 -24
  546. package/lib/v1/MultiSelect/MobileHeader/MobileHeader.js +14 -5
  547. package/lib/v1/MultiSelect/MobileHeader/props/propTypes.js +3 -0
  548. package/lib/v1/MultiSelect/MultiSelect.js +335 -216
  549. package/lib/v1/MultiSelect/MultiSelectHeader.js +29 -7
  550. package/lib/v1/MultiSelect/MultiSelectWithAvatar.js +86 -43
  551. package/lib/v1/MultiSelect/SelectedOptions.js +43 -17
  552. package/lib/v1/MultiSelect/Suggestions.js +64 -32
  553. package/lib/v1/MultiSelect/index.js +5 -0
  554. package/lib/v1/MultiSelect/props/defaultProps.js +2 -0
  555. package/lib/v1/MultiSelect/props/propTypes.js +14 -4
  556. package/lib/v1/PopOver/PopOver.js +71 -40
  557. package/lib/v1/PopOver/props/propTypes.js +3 -0
  558. package/lib/v1/Popup/Popup.js +158 -81
  559. package/lib/v1/Provider/AvatarSize.js +4 -0
  560. package/lib/v1/Provider/Config.js +2 -0
  561. package/lib/v1/Provider/CssProvider.js +4 -0
  562. package/lib/v1/Provider/IdProvider.js +17 -6
  563. package/lib/v1/Provider/LibraryContext.js +35 -15
  564. package/lib/v1/Provider/LibraryContextInit.js +4 -0
  565. package/lib/v1/Provider/NumberGenerator/NumberGenerator.js +44 -15
  566. package/lib/v1/Provider/ZindexProvider.js +15 -3
  567. package/lib/v1/Provider/index.js +5 -0
  568. package/lib/v1/Radio/Radio.js +42 -32
  569. package/lib/v1/Radio/props/propTypes.js +3 -0
  570. package/lib/v1/Responsive/CustomResponsive.js +73 -29
  571. package/lib/v1/Responsive/RefWrapper.js +17 -11
  572. package/lib/v1/Responsive/ResizeComponent.js +62 -36
  573. package/lib/v1/Responsive/ResizeObserver.js +24 -10
  574. package/lib/v1/Responsive/Responsive.js +80 -30
  575. package/lib/v1/Responsive/index.js +4 -0
  576. package/lib/v1/Responsive/props/propTypes.js +3 -0
  577. package/lib/v1/ResponsiveDropBox/ResponsiveDropBox.js +27 -13
  578. package/lib/v1/ResponsiveDropBox/props/propTypes.js +9 -4
  579. package/lib/v1/Ribbon/Ribbon.js +14 -7
  580. package/lib/v1/Ribbon/props/propTypes.js +3 -0
  581. package/lib/v1/RippleEffect/RippleEffect.js +17 -7
  582. package/lib/v1/RippleEffect/props/propTypes.js +3 -0
  583. package/lib/v1/Select/GroupSelect.js +229 -130
  584. package/lib/v1/Select/Select.js +297 -214
  585. package/lib/v1/Select/SelectWithAvatar.js +102 -56
  586. package/lib/v1/Select/SelectWithIcon.js +131 -76
  587. package/lib/v1/Select/index.js +5 -0
  588. package/lib/v1/Select/props/defaultProps.js +5 -4
  589. package/lib/v1/Select/props/propTypes.js +10 -4
  590. package/lib/v1/Stencils/Stencils.js +13 -3
  591. package/lib/v1/Stencils/props/propTypes.js +3 -0
  592. package/lib/v1/Switch/Switch.js +38 -25
  593. package/lib/v1/Switch/props/propTypes.js +3 -0
  594. package/lib/v1/Tab/Tab.js +40 -27
  595. package/lib/v1/Tab/TabContent.js +12 -5
  596. package/lib/v1/Tab/TabContentWrapper.js +16 -8
  597. package/lib/v1/Tab/TabWrapper.js +37 -19
  598. package/lib/v1/Tab/Tabs.js +170 -83
  599. package/lib/v1/Tab/index.js +6 -0
  600. package/lib/v1/Tab/props/propTypes.js +3 -0
  601. package/lib/v1/Tab/v1Tab.module.css +14 -14
  602. package/lib/v1/Tab/v1Tabs.module.css +22 -22
  603. package/lib/v1/Tag/Tag.js +50 -32
  604. package/lib/v1/Tag/props/propTypes.js +3 -0
  605. package/lib/v1/TextBox/TextBox.js +70 -47
  606. package/lib/v1/TextBox/props/propTypes.js +6 -4
  607. package/lib/v1/TextBoxIcon/TextBoxIcon.js +80 -55
  608. package/lib/v1/TextBoxIcon/props/propTypes.js +9 -4
  609. package/lib/v1/Textarea/Textarea.js +45 -28
  610. package/lib/v1/Textarea/props/propTypes.js +3 -0
  611. package/lib/v1/Tooltip/Tooltip.js +94 -31
  612. package/lib/v1/Tooltip/props/propTypes.js +3 -0
  613. package/lib/v1/Typography/Typography.js +26 -15
  614. package/lib/v1/Typography/css/Typography.module.css +31 -31
  615. package/lib/v1/Typography/css/cssJSLogic.js +25 -20
  616. package/lib/v1/Typography/props/propTypes.js +3 -0
  617. package/lib/v1/Typography/utils/index.js +1 -0
  618. package/lib/v1/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +25 -12
  619. package/lib/v1/VelocityAnimation/VelocityAnimation/props/propTypes.js +3 -0
  620. package/lib/v1/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +38 -22
  621. package/lib/v1/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +3 -0
  622. package/lib/v1/semantic/Button/Button.js +24 -18
  623. package/lib/v1/semantic/Button/props/propTypes.js +3 -0
  624. package/lib/v1/semantic/index.js +2 -0
  625. package/package.json +2 -2
  626. package/result.json +1 -1
  627. package/.DS_Store +0 -0
@@ -1,16 +1,16 @@
1
1
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+
2
3
  /**** Libraries ****/
3
4
  import React from 'react';
4
5
  import { SelectedOptions_propTypes } from './props/propTypes';
5
6
  import { SelectedOptions_defaultProps } from './props/defaultProps';
6
-
7
7
  /**** Components ****/
8
+
8
9
  import Tag from '../Tag/Tag';
9
10
  import { Box } from '../Layout';
10
-
11
11
  /**** Style ****/
12
- import style from '../../MultiSelect/SelectedOptions.module.css';
13
12
 
13
+ import style from '../../MultiSelect/SelectedOptions.module.css';
14
14
  /* eslint-disable react/forbid-component-props */
15
15
 
16
16
  export default class SelectedOptions extends React.PureComponent {
@@ -47,6 +47,7 @@ export default class SelectedOptions extends React.PureComponent {
47
47
  id: id,
48
48
  isReadOnly: isReadOnly
49
49
  };
50
+
50
51
  if (optionType === 'avatar') {
51
52
  return /*#__PURE__*/React.createElement(Box, {
52
53
  className: `${style.tag} ${style[size]}`,
@@ -66,6 +67,7 @@ export default class SelectedOptions extends React.PureComponent {
66
67
  iconSize: iconSize
67
68
  })));
68
69
  }
70
+
69
71
  return /*#__PURE__*/React.createElement(Box, {
70
72
  className: `${style.tag} ${style[size]}`,
71
73
  key: `${id}tag`
@@ -74,6 +76,7 @@ export default class SelectedOptions extends React.PureComponent {
74
76
  })));
75
77
  }));
76
78
  }
79
+
77
80
  }
78
81
  SelectedOptions.propTypes = SelectedOptions_propTypes;
79
82
  SelectedOptions.defaultProps = SelectedOptions_defaultProps;
@@ -1,10 +1,11 @@
1
1
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+
2
3
  /**** Libraries ****/
3
4
  import React from 'react';
4
5
  import { Suggestions_propTypes } from './props/propTypes';
5
6
  import { Suggestions_defaultProps } from './props/defaultProps';
6
-
7
7
  /**** Components ****/
8
+
8
9
  import ListItem from '../ListItem/ListItem';
9
10
  import ListItemWithAvatar from '../ListItem/ListItemWithAvatar';
10
11
  import ListItemWithIcon from '../ListItem/ListItemWithIcon';
@@ -66,13 +67,14 @@ export default class Suggestions extends React.PureComponent {
66
67
  isDisabled,
67
68
  ...listItemCustomProps
68
69
  };
70
+
69
71
  if (listItemProps) {
70
72
  commonProps.customProps = {
71
- ListItemProps: {
72
- ...listItemProps
73
+ ListItemProps: { ...listItemProps
73
74
  }
74
75
  };
75
76
  }
77
+
76
78
  if (optionType === 'avatar') {
77
79
  return /*#__PURE__*/React.createElement(ListItemWithAvatar, _extends({}, commonProps, {
78
80
  autoHover: false,
@@ -115,6 +117,7 @@ export default class Suggestions extends React.PureComponent {
115
117
  a11y: list_a11y
116
118
  }));
117
119
  }
120
+
118
121
  return /*#__PURE__*/React.createElement(ListItem, _extends({}, commonProps, {
119
122
  autoHover: false,
120
123
  getRef: getRef,
@@ -134,6 +137,7 @@ export default class Suggestions extends React.PureComponent {
134
137
  }));
135
138
  })));
136
139
  }
140
+
137
141
  }
138
142
  Suggestions.propTypes = Suggestions_propTypes;
139
143
  Suggestions.defaultProps = Suggestions_defaultProps;
@@ -236,8 +236,7 @@ export const AdvancedGroupMultiSelect_propTypes = {
236
236
  children: PropTypes.node,
237
237
  dataSelectorId: PropTypes.string
238
238
  };
239
- export const AdvancedMultiSelect_propTypes = {
240
- ...MultiSelect_propTypes,
239
+ export const AdvancedMultiSelect_propTypes = { ...MultiSelect_propTypes,
241
240
  selectedOptionDetails: PropTypes.string,
242
241
  iconSize: PropTypes.string,
243
242
  id: PropTypes.string.isRequired,
@@ -278,6 +277,7 @@ export const AdvancedMultiSelect_propTypes = {
278
277
  dataIdLoading: PropTypes.string,
279
278
  dataIdMultiSelectComp: PropTypes.string,
280
279
  dataIdSelectAllEle: PropTypes.string,
280
+
281
281
  /**** Popup Props ****/
282
282
  isPopupOpen: PropTypes.bool,
283
283
  isPopupReady: PropTypes.bool,
@@ -6,6 +6,7 @@ import Popup from '../Popup/Popup';
6
6
  import { Box } from '../Layout';
7
7
  import ResponsiveDropBox from '../ResponsiveDropBox/ResponsiveDropBox';
8
8
  import style from '../../PopOver/PopOver.module.css';
9
+
9
10
  function PopOver(props) {
10
11
  let {
11
12
  children,
@@ -34,20 +35,24 @@ function PopOver(props) {
34
35
  } = props;
35
36
  const popOverTarget = useRef(null);
36
37
  const popOverContainer = useRef(null);
38
+
37
39
  const popOverTargetRef = el => {
38
40
  popOverTarget.current = el;
39
41
  getTargetRef(el);
40
42
  };
43
+
41
44
  const popOverContainerRef = el => {
42
45
  popOverContainer.current = el;
43
46
  getContainerRef(el);
44
47
  };
48
+
45
49
  const togglePopup = e => {
46
50
  let {
47
51
  togglePopup
48
52
  } = props;
49
53
  togglePopup(e, boxPosition);
50
54
  };
55
+
51
56
  useEffectCallOnlyAfterState(() => {
52
57
  isPopupOpen && onPopupOpen && onPopupOpen();
53
58
  !isPopupOpen && onPopupClose && onPopupClose();
@@ -85,6 +90,7 @@ function PopOver(props) {
85
90
  className: style.popup
86
91
  }, childrens);
87
92
  }
93
+
88
94
  PopOver.defaultProps = PopOver_defaultProps;
89
95
  PopOver.propTypes = PopOver_propTypes;
90
96
  export default Popup(PopOver);
@@ -93,12 +99,14 @@ export function PopOverTarget(props) {
93
99
  children,
94
100
  togglePopup
95
101
  } = props;
102
+
96
103
  const getRef = el => {
97
104
  let {
98
105
  getRef
99
106
  } = props;
100
107
  getRef(el);
101
108
  };
109
+
102
110
  return /*#__PURE__*/React.createElement("div", {
103
111
  className: style.target,
104
112
  onClick: togglePopup,
@@ -127,16 +135,19 @@ export function PopOverContainer(props) {
127
135
  onClick,
128
136
  removeClose
129
137
  } = props;
138
+
130
139
  const getRef = el => {
131
140
  let {
132
141
  getRef
133
142
  } = props;
134
143
  getRef && getRef(el);
135
144
  };
145
+
136
146
  const handleClick = e => {
137
147
  removeClose && removeClose(e);
138
148
  onClick && onClick();
139
149
  };
150
+
140
151
  return /*#__PURE__*/React.createElement(ResponsiveDropBox, {
141
152
  animationStyle: animationStyle,
142
153
  arrowBottom: arrowBottom,
@@ -1,16 +1,18 @@
1
1
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+
2
3
  /**** Libraries ****/
3
4
  import React from 'react';
4
5
  import PropTypes from 'prop-types';
5
6
  import hoistStatics from 'hoist-non-react-statics';
6
-
7
7
  /**** Methods ****/
8
+
8
9
  import { debounce, isDescendant, isTextSelected, cancelBubblingEffect } from '../../utils/Common.js';
9
10
  import viewPort from '../../Popup/viewPort';
10
11
  import { absolutePositionMapping, rtlAbsolutePositionMapping, rtlFixedPositionMapping } from '../../Popup/PositionMapping.json';
11
12
  import ResizeObserver from '@zohodesk/virtualizer/lib/commons/ResizeObserver.js';
12
13
  let lastOpenedGroup = [];
13
14
  let popups = {};
15
+
14
16
  global.closeGroupPopups = function (groupName) {
15
17
  const groupPopups = popups[groupName] || [];
16
18
  groupPopups.forEach(popup => {
@@ -20,6 +22,7 @@ global.closeGroupPopups = function (groupName) {
20
22
  });
21
23
  });
22
24
  };
25
+
23
26
  const defaultState = {
24
27
  position: 'bottomCenter',
25
28
  height: '0px',
@@ -33,8 +36,8 @@ const defaultState = {
33
36
  //{height: ‘’, width: ‘’,}
34
37
  isAbsolutePositioningNeeded: true
35
38
  };
36
-
37
39
  /* eslint-disable react/no-deprecated */
40
+
38
41
  /* eslint-disable react/prop-types */
39
42
 
40
43
  const Popup = function (Component) {
@@ -47,6 +50,7 @@ const Popup = function (Component) {
47
50
  scrollDebounceTime: popupScrollDebounceTime = 0,
48
51
  closeOnScroll: closeOnScrollPopup = false
49
52
  } = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
53
+
50
54
  class Popup extends React.Component {
51
55
  constructor(props) {
52
56
  super(props);
@@ -87,9 +91,8 @@ const Popup = function (Component) {
87
91
  this.handleDocumentMouseDown = this.handleDocumentMouseDown.bind(this);
88
92
  this.handleDocumentFocus = this.handleDocumentFocus.bind(this);
89
93
  this.handleGetNeedPrevent = this.handleGetNeedPrevent.bind(this);
90
- this.popupObserver = new ResizeObserver(this.handlePopupResize);
94
+ this.popupObserver = new ResizeObserver(this.handlePopupResize); //dropBoxSize
91
95
 
92
- //dropBoxSize
93
96
  this.size = null;
94
97
  this.isAbsolutePopup = isAbsolutePopup;
95
98
  this.needPopupArrow = needPopupArrow;
@@ -101,25 +104,29 @@ const Popup = function (Component) {
101
104
  } = this.getScrollDebounceTime(this);
102
105
  this.handleScroll = debounce(this.handleScroll.bind(this), scrollDebounceTime);
103
106
  }
107
+
104
108
  componentDidMount() {
105
109
  const group = this.getGroup();
106
110
  const groupPopups = popups[group] || [];
107
111
  groupPopups.push(this);
108
112
  popups[group] = groupPopups;
113
+
109
114
  if (Object.keys(popups).length === 1 && groupPopups.length === 1) {
110
115
  document.addEventListener('click', this.documentClickHandler, false);
111
- document.addEventListener('keyup', this.documentKeyupHandler, false);
112
- // document.addEventListener('scroll', this.handleScroll, true);
116
+ document.addEventListener('keyup', this.documentKeyupHandler, false); // document.addEventListener('scroll', this.handleScroll, true);
117
+
113
118
  window.addEventListener('resize', this.handleResize);
114
119
  document.addEventListener('click', this.documentClickHandler1, true);
115
120
  document.addEventListener('mousedown', this.handleDocumentMouseDown, true);
116
121
  document.addEventListener('focus', this.handleDocumentFocus, true);
117
122
  }
118
123
  }
124
+
119
125
  componentWillReceiveProps(nextProps) {
120
126
  const {
121
127
  isPopupOpen
122
128
  } = this.state;
129
+
123
130
  if (typeof nextProps.isPopupOpen !== 'undefined' && nextProps.isPopupOpen !== isPopupOpen) {
124
131
  this.setState({
125
132
  isPopupOpen: nextProps.isPopupOpen,
@@ -127,6 +134,7 @@ const Popup = function (Component) {
127
134
  });
128
135
  }
129
136
  }
137
+
130
138
  componentDidUpdate(prevProps, prevState) {
131
139
  const {
132
140
  isPopupReady
@@ -140,6 +148,7 @@ const Popup = function (Component) {
140
148
  const {
141
149
  needResizeHandling: propResizeHandling
142
150
  } = this.props;
151
+
143
152
  if (oldStateOpen !== isPopupReady) {
144
153
  if (isPopupReady && dropElement && (propResizeHandling !== undefined ? propResizeHandling : needResizeHandling)) {
145
154
  this.popupObserver.replaceObservationElement(dropElement);
@@ -149,6 +158,7 @@ const Popup = function (Component) {
149
158
  }
150
159
  }
151
160
  }
161
+
152
162
  componentWillUnmount() {
153
163
  const group = this.getGroup();
154
164
  popups = Object.keys(popups).reduce((res, groupName) => {
@@ -158,34 +168,40 @@ const Popup = function (Component) {
158
168
  newGroupPopups.length === 0 && lastOpenedGroup.indexOf(group) >= 0 && lastOpenedGroup.splice(lastOpenedGroup.indexOf(group), 1);
159
169
  res[group] = newGroupPopups;
160
170
  }
171
+
161
172
  return res;
162
173
  }, popups);
163
174
  let noPopups = true;
175
+
164
176
  for (const i in popups) {
165
177
  if (popups[i].length >= 1) {
166
178
  noPopups = false;
167
179
  break;
168
180
  }
169
181
  }
182
+
170
183
  if (this.popupObserver) {
171
184
  this.popupObserver.disconnect();
172
185
  }
186
+
173
187
  if (noPopups) {
174
188
  document.removeEventListener('click', this.documentClickHandler);
175
- document.removeEventListener('keyup', this.documentKeyupHandler);
176
- // document.removeEventListener('scroll', this.handleScroll);
189
+ document.removeEventListener('keyup', this.documentKeyupHandler); // document.removeEventListener('scroll', this.handleScroll);
190
+
177
191
  window.removeEventListener('resize', this.handleResize);
178
192
  document.removeEventListener('click', this.documentClickHandler1, true);
179
193
  document.removeEventListener('mousedown', this.handleDocumentMouseDown, true);
180
194
  document.removeEventListener('focus', this.handleDocumentFocus, true);
181
195
  }
182
196
  }
197
+
183
198
  getGroup() {
184
199
  const {
185
200
  popupGroup
186
201
  } = this.props;
187
202
  return popupGroup || group;
188
203
  }
204
+
189
205
  getNeedArrow(popup) {
190
206
  const {
191
207
  isArrow
@@ -195,6 +211,7 @@ const Popup = function (Component) {
195
211
  } = popup;
196
212
  return isArrow !== undefined ? isArrow : needPopupArrow;
197
213
  }
214
+
198
215
  getScrollDebounceTime(popup) {
199
216
  const {
200
217
  scrollDebounceTime
@@ -204,6 +221,7 @@ const Popup = function (Component) {
204
221
  } = popup;
205
222
  return scrollDebounceTime !== undefined ? scrollDebounceTime : popupScrollDebounceTime;
206
223
  }
224
+
207
225
  getCloseOnScrollPopup(popup) {
208
226
  const {
209
227
  closeOnScroll
@@ -213,6 +231,7 @@ const Popup = function (Component) {
213
231
  } = popup;
214
232
  return closeOnScroll !== undefined ? closeOnScroll : closeOnScrollPopup;
215
233
  }
234
+
216
235
  getIsAbsolutePopup(popup) {
217
236
  const {
218
237
  isAbsolutePositioningNeeded
@@ -222,6 +241,7 @@ const Popup = function (Component) {
222
241
  } = popup;
223
242
  return isAbsolutePositioningNeeded !== undefined ? isAbsolutePositioningNeeded : isAbsolutePopup;
224
243
  }
244
+
225
245
  getCustomPositionOrder(popup) {
226
246
  const {
227
247
  customOrder = []
@@ -231,6 +251,7 @@ const Popup = function (Component) {
231
251
  } = popup;
232
252
  return customOrder.length !== 0 ? customOrder : customPositionOrder;
233
253
  }
254
+
234
255
  togglePopup(e, defaultPosition) {
235
256
  const group = this.getGroup();
236
257
  this.removeClose(e);
@@ -248,6 +269,7 @@ const Popup = function (Component) {
248
269
  });
249
270
  }
250
271
  });
272
+
251
273
  if (isPopupOpen) {
252
274
  this.setState({
253
275
  isPopupOpen: false,
@@ -257,18 +279,21 @@ const Popup = function (Component) {
257
279
  this.handlePopupPosition(defaultPosition);
258
280
  }
259
281
  }
282
+
260
283
  openPopupOnly(e, defaultPosition) {
261
284
  const group = this.getGroup();
262
285
  this.removeClose(e);
263
286
  lastOpenedGroup = lastOpenedGroup.indexOf(group) === -1 ? [group, ...lastOpenedGroup] : lastOpenedGroup;
264
287
  this.handlePopupPosition(defaultPosition);
265
288
  }
289
+
266
290
  closePopupOnly(e) {
267
291
  this.removeClose(e);
268
292
  lastOpenedGroup.splice(0, 1);
269
293
  const {
270
294
  isPopupOpen
271
295
  } = this.state;
296
+
272
297
  if (isPopupOpen) {
273
298
  this.setState({
274
299
  isPopupOpen: false,
@@ -276,6 +301,7 @@ const Popup = function (Component) {
276
301
  });
277
302
  }
278
303
  }
304
+
279
305
  handleCloseLastOpenedGroup() {
280
306
  const groupPopups = lastOpenedGroup.length ? popups[lastOpenedGroup[0]] || [] : [];
281
307
  lastOpenedGroup.splice(0, 1);
@@ -286,64 +312,74 @@ const Popup = function (Component) {
286
312
  });
287
313
  });
288
314
  }
315
+
289
316
  handleDocumentMouseDown(e) {
290
317
  const needPrevent = this.handleGetNeedPrevent(e);
318
+
291
319
  if (needPrevent) {
292
320
  this.removeClose(e);
293
321
  }
294
322
  }
323
+
295
324
  handleDocumentFocus(e) {
296
325
  const needPrevent = this.handleGetNeedPrevent(e);
326
+
297
327
  if (needPrevent) {
298
328
  this.removeClose(e);
299
329
  }
300
330
  }
331
+
301
332
  handleGetNeedPrevent(e) {
302
333
  let needPrevent = false;
334
+
303
335
  if (lastOpenedGroup.length > 1) {
304
336
  const {
305
337
  target
306
338
  } = e;
307
339
  const groupPopups = lastOpenedGroup.length ? popups[lastOpenedGroup[0]] : [];
308
- let openedPopup = null;
309
- // eslint-disable-next-line guard-for-in
340
+ let openedPopup = null; // eslint-disable-next-line guard-for-in
341
+
310
342
  for (const i in groupPopups) {
311
343
  const {
312
344
  isPopupOpen
313
345
  } = groupPopups[i].state;
346
+
314
347
  if (isPopupOpen) {
315
348
  openedPopup = groupPopups[i];
316
349
  break;
317
350
  }
318
351
  }
352
+
319
353
  if (openedPopup) {
320
354
  const {
321
355
  dropElement,
322
356
  placeHolderElement
323
357
  } = openedPopup;
324
358
  const isDropBoxChild = isDescendant(dropElement, target);
325
- const isTargetChild = isDescendant(placeHolderElement, target);
326
- // const isPopupMassUpdateChild = isDescendant(
359
+ const isTargetChild = isDescendant(placeHolderElement, target); // const isPopupMassUpdateChild = isDescendant(
327
360
  // massUpdateParent,
328
361
  // dropElement
329
362
  // );
330
363
 
331
- if (!isDropBoxChild && !isTargetChild
332
- // && isPopupMassUpdateChild
364
+ if (!isDropBoxChild && !isTargetChild // && isPopupMassUpdateChild
333
365
  ) {
334
366
  needPrevent = true;
335
367
  }
336
368
  }
337
369
  }
370
+
338
371
  return needPrevent;
339
372
  }
373
+
340
374
  documentClickHandler1(e) {
341
375
  const needPrevent = this.handleGetNeedPrevent(e);
376
+
342
377
  if (needPrevent) {
343
378
  this.removeClose(e);
344
379
  this.handleCloseLastOpenedGroup();
345
380
  }
346
381
  }
382
+
347
383
  documentClickHandler() {
348
384
  try {
349
385
  Object.keys(popups).forEach(groupName => {
@@ -356,25 +392,26 @@ const Popup = function (Component) {
356
392
  });
357
393
  });
358
394
  lastOpenedGroup = [];
359
- } catch (e) {
360
- // eslint-disable-next-line no-console
395
+ } catch (e) {// eslint-disable-next-line no-console
361
396
  //console.error('popup component not unmounted properly', e);
362
397
  }
363
398
  }
399
+
364
400
  documentKeyupHandler(e) {
365
401
  try {
366
402
  if (e.keyCode === 27) {
367
403
  this.handleCloseLastOpenedGroup();
368
404
  }
369
- } catch (e) {
370
- // eslint-disable-next-line no-console
405
+ } catch (e) {// eslint-disable-next-line no-console
371
406
  //console.log('error', e);
372
407
  }
373
408
  }
409
+
374
410
  removeClose(e) {
375
411
  // e && e.preventDefault && e.preventDefault();
376
412
  cancelBubblingEffect(e);
377
413
  }
414
+
378
415
  handlePopupPosition() {
379
416
  let defaultPosition = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'bottomCenter';
380
417
  let isResizeHandling = arguments.length > 1 ? arguments[1] : undefined;
@@ -389,11 +426,13 @@ const Popup = function (Component) {
389
426
  const needArrow = this.getNeedArrow(this);
390
427
  const isAbsolute = this.getIsAbsolutePopup(this);
391
428
  const customOrder = this.getCustomPositionOrder(this);
429
+
392
430
  if (direction === 'rtl') {
393
431
  defaultPosition = isAbsolute ? rtlAbsolutePositionMapping[defaultPosition] : rtlFixedPositionMapping[defaultPosition];
394
432
  } else {
395
433
  defaultPosition = isAbsolute ? absolutePositionMapping[defaultPosition] : defaultPosition;
396
434
  }
435
+
397
436
  if (!placeHolderElement && !dropElement) {
398
437
  this.setState({
399
438
  isPopupOpen: true,
@@ -401,6 +440,7 @@ const Popup = function (Component) {
401
440
  });
402
441
  return;
403
442
  }
443
+
404
444
  const setPosition = () => {
405
445
  requestAnimationFrame(() => {
406
446
  const {
@@ -424,6 +464,7 @@ const Popup = function (Component) {
424
464
  targetOffset,
425
465
  popupOffset
426
466
  } = betterPosition || {};
467
+
427
468
  if (position !== view || !isPopupReady) {
428
469
  this.setState({
429
470
  isPopupReady: true,
@@ -437,6 +478,7 @@ const Popup = function (Component) {
437
478
  }
438
479
  });
439
480
  };
481
+
440
482
  if (isResizeHandling) {
441
483
  setPosition();
442
484
  } else {
@@ -447,6 +489,7 @@ const Popup = function (Component) {
447
489
  }, setPosition);
448
490
  }
449
491
  }
492
+
450
493
  handleOpenPopupPositionChange() {
451
494
  Object.keys(popups).forEach(groupName => {
452
495
  const groupPopups = popups[groupName] || [];
@@ -461,6 +504,7 @@ const Popup = function (Component) {
461
504
  position,
462
505
  positionsOffset = {}
463
506
  } = popup.state;
507
+
464
508
  if (placeHolderElement && dropElement) {
465
509
  const scrollContainer = placeHolderElement.closest('[data-scroll=true]') || document.body;
466
510
  requestAnimationFrame(() => {
@@ -487,9 +531,7 @@ const Popup = function (Component) {
487
531
  left = '',
488
532
  top = ''
489
533
  } = viewsOffset[view] || {};
490
- const changeState = isAbsolute ? position !== view : oldLeft !== left || oldTop !== top;
491
-
492
- // let isInViewPort = viewPort.isInViewPort(
534
+ const changeState = isAbsolute ? position !== view : oldLeft !== left || oldTop !== top; // let isInViewPort = viewPort.isInViewPort(
493
535
  // placeHolderElement,
494
536
  // scrollContainer
495
537
  // );
@@ -503,9 +545,7 @@ const Popup = function (Component) {
503
545
  popupOffset,
504
546
  isAbsolutePositioningNeeded: isAbsolute
505
547
  });
506
- }
507
-
508
- // if (!isInViewPort && !isAbsolute) {
548
+ } // if (!isInViewPort && !isAbsolute) {
509
549
  // popup.setState({ isPopupOpen: false, isPopupReady: false });
510
550
  // } else if (view && changeState) {
511
551
  // popup.setState({
@@ -517,6 +557,7 @@ const Popup = function (Component) {
517
557
  // isAbsolutePositioningNeeded: isAbsolute
518
558
  // });
519
559
  // }
560
+
520
561
  });
521
562
  }
522
563
  }
@@ -527,6 +568,7 @@ const Popup = function (Component) {
527
568
  handleResize() {
528
569
  this.handleOpenPopupPositionChange();
529
570
  }
571
+
530
572
  handleScroll(e) {
531
573
  // this.handleOpenPopupPositionChange();
532
574
  const {
@@ -535,14 +577,17 @@ const Popup = function (Component) {
535
577
  const {
536
578
  isPopupReady
537
579
  } = this.state;
580
+
538
581
  if (isPopupReady) {
539
582
  console.log('onscrollPopupREady');
540
583
  }
584
+
541
585
  if (isPopupReady && closeOnScroll) {
542
586
  console.log(this, 'handle Scroll');
543
587
  this.togglePopup(e);
544
588
  }
545
589
  }
590
+
546
591
  handlePopupResize(popupSize) {
547
592
  const {
548
593
  height,
@@ -556,17 +601,22 @@ const Popup = function (Component) {
556
601
  isPopupReady,
557
602
  position
558
603
  } = this.state;
604
+
559
605
  if (isPopupReady && this.size && (oldHeight !== height || width !== oldWidth)) {
560
606
  this.handlePopupPosition(position, true);
561
607
  }
608
+
562
609
  this.size = popupSize;
563
610
  }
611
+
564
612
  getTargetRef(el) {
565
613
  this.placeHolderElement = el;
566
614
  }
615
+
567
616
  getContainerRef(el) {
568
617
  this.dropElement = el;
569
618
  }
619
+
570
620
  render() {
571
621
  const {
572
622
  isPopupReady,
@@ -582,11 +632,14 @@ const Popup = function (Component) {
582
632
  getContainerRef: this.getContainerRef
583
633
  }));
584
634
  }
635
+
585
636
  }
637
+
586
638
  Popup.displayName = Component.displayName || Component.name || Popup.name;
587
639
  Popup.contextTypes = {
588
640
  direction: PropTypes.string
589
641
  };
590
642
  return hoistStatics(Popup, Component);
591
643
  };
644
+
592
645
  export default Popup;