@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,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { propTypes, RefElement_propTypes } from './props/propTypes';
3
- import { defaultProps } from './props/defaultProps';
4
- //Components
3
+ import { defaultProps } from './props/defaultProps'; //Components
4
+
5
5
  import Modal from '../../Modal/Modal';
6
6
  let RefElement = /*#__PURE__*/React.forwardRef((props, ref) => {
7
7
  let {
@@ -29,20 +29,23 @@ export default class PortalLayer extends React.Component {
29
29
  this.updateState = this.updateState.bind(this);
30
30
  this.getState = this.getState.bind(this);
31
31
  }
32
+
32
33
  componentDidUpdate(prevProps) {
33
34
  let {
34
- isActive
35
- } = this.props,
36
- {
37
- isActive: prevActive
38
- } = prevProps;
35
+ isActive
36
+ } = this.props,
37
+ {
38
+ isActive: prevActive
39
+ } = prevProps;
39
40
  isActive = Boolean(isActive), prevActive = Boolean(prevActive);
41
+
40
42
  if (typeof isActive !== 'undefined' && isActive != prevActive && Boolean(this.state.isOpen) != isActive) {
41
43
  this.setState({
42
44
  isOpen: isActive
43
45
  });
44
46
  }
45
47
  }
48
+
46
49
  updateState(alertState) {
47
50
  if (typeof alertState === 'boolean') {
48
51
  this.setState({
@@ -52,9 +55,11 @@ export default class PortalLayer extends React.Component {
52
55
  this.setState(alertState);
53
56
  }
54
57
  }
58
+
55
59
  getState() {
56
60
  return Object.keys(this.state).length == 1 ? this.state.isOpen : this.state;
57
61
  }
62
+
58
63
  componentDidMount() {
59
64
  let {
60
65
  saveUpdateFunction,
@@ -64,19 +69,20 @@ export default class PortalLayer extends React.Component {
64
69
  saveUpdateFunction && saveUpdateFunction(this.updateState, name);
65
70
  saveGetFunction && saveGetFunction(this.getState, name);
66
71
  }
72
+
67
73
  render() {
68
74
  let {
69
- children,
70
- renderChildren,
71
- portalId,
72
- autoZIndexNeeded,
73
- isChildrenRestrictionNeeded
74
- } = this.props,
75
- {
76
- isOpen = false
77
- } = this.state;
75
+ children,
76
+ renderChildren,
77
+ portalId,
78
+ autoZIndexNeeded,
79
+ isChildrenRestrictionNeeded
80
+ } = this.props,
81
+ {
82
+ isOpen = false
83
+ } = this.state;
78
84
  let Element = children && children.type,
79
- elementProps = children && children.props;
85
+ elementProps = children && children.props;
80
86
  return /*#__PURE__*/React.createElement(Modal, {
81
87
  autoZIndexNeeded: autoZIndexNeeded,
82
88
  portalId: portalId,
@@ -89,11 +95,10 @@ export default class PortalLayer extends React.Component {
89
95
  isActive: isOpen
90
96
  }));
91
97
  }
98
+
92
99
  }
93
100
  PortalLayer.defaultProps = defaultProps;
94
- PortalLayer.propTypes = propTypes;
95
-
96
- // if (__DOCS__) {
101
+ PortalLayer.propTypes = propTypes; // if (__DOCS__) {
97
102
  // PortalLayer.docs = {
98
103
  // componentGroup: 'Atom',
99
104
  // folderName: 'Style Guide'
@@ -6,6 +6,7 @@ export default class Button extends React.Component {
6
6
  constructor(props) {
7
7
  super(props);
8
8
  }
9
+
9
10
  render() {
10
11
  const {
11
12
  value,
@@ -48,10 +49,10 @@ export default class Button extends React.Component {
48
49
  "data-title": title
49
50
  }, children ? children : text);
50
51
  }
52
+
51
53
  }
52
54
  Button.defaultProps = defaultProps;
53
- Button.propTypes = propTypes;
54
- // if (__DOCS__) {
55
+ Button.propTypes = propTypes; // if (__DOCS__) {
55
56
  // Button.docs = {
56
57
  // componentGroup: 'semantic',
57
58
  // folderName: 'DefaultComponents'
@@ -4,6 +4,6 @@
4
4
  color: inherit;
5
5
  border: inherit;
6
6
  background-color: inherit;
7
- padding: 0;
7
+ padding: 0 ;
8
8
  text-align: inherit;
9
9
  }
@@ -23,9 +23,7 @@ export function cancelBubblingEffect(e) {
23
23
  }
24
24
  export function getKeyValue(event) {
25
25
  return event && event.key && event.key;
26
- }
27
-
28
- // export function getCommentsDetails(
26
+ } // export function getCommentsDetails(
29
27
  // commentIds = [],
30
28
  // comments = {},
31
29
  // agents = {}
@@ -48,6 +46,7 @@ export function encodeForHtml(str) {
48
46
  str = str.replace(/\\/g, '\');
49
47
  str = str.replace(/'/g, ''');
50
48
  }
49
+
51
50
  return str;
52
51
  }
53
52
  export function getListOfDetails() {
@@ -59,6 +58,7 @@ export function getListOfDetails() {
59
58
  export function capitalize() {
60
59
  let value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
61
60
  let newValue = '';
61
+
62
62
  for (let i = 0; i < value.length; i++) {
63
63
  if (i == 0) {
64
64
  newValue += value[i].toUpperCase();
@@ -66,12 +66,14 @@ export function capitalize() {
66
66
  newValue += value[i].toLowerCase();
67
67
  }
68
68
  }
69
+
69
70
  return newValue;
70
71
  }
71
72
  export function bind() {
72
73
  for (var _len = arguments.length, handlers = new Array(_len), _key = 0; _key < _len; _key++) {
73
74
  handlers[_key] = arguments[_key];
74
75
  }
76
+
75
77
  handlers.forEach(handler => {
76
78
  this[handler] = this[handler].bind(this);
77
79
  });
@@ -80,12 +82,15 @@ export function getFullName() {
80
82
  let firstName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
81
83
  let lastName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
82
84
  let fullName = '';
85
+
83
86
  if (firstName !== null && firstName !== '') {
84
87
  fullName = firstName;
85
88
  }
89
+
86
90
  if (lastName !== null && lastName !== '') {
87
91
  fullName = `${fullName}${lastName}`;
88
92
  }
93
+
89
94
  return fullName;
90
95
  }
91
96
  export function getStringifiedOutputForJson() {
@@ -93,6 +98,7 @@ export function getStringifiedOutputForJson() {
93
98
  const keys = Object.keys(input);
94
99
  const modifiedInput = keys.reduce((curr, next) => {
95
100
  const values = input[next] || [];
101
+
96
102
  if (values.length) {
97
103
  const valueList = values.reduce((curr, next) => {
98
104
  curr.push(next.id);
@@ -101,6 +107,7 @@ export function getStringifiedOutputForJson() {
101
107
  curr[next] = valueList;
102
108
  return curr;
103
109
  }
110
+
104
111
  return curr;
105
112
  }, {});
106
113
  return JSON.stringify(modifiedInput);
@@ -116,6 +123,7 @@ export function filterValue(obj, val) {
116
123
  const ids = obj ? Object.keys(obj) : [];
117
124
  ids.forEach(key => {
118
125
  const value = obj[key] || {};
126
+
119
127
  if (value.name === val && !value.isCustomField) {
120
128
  result = value.id;
121
129
  }
@@ -137,34 +145,42 @@ export function formatValue() {
137
145
  let textField = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'name';
138
146
  return values && values.map(value => {
139
147
  let formattedValue = value;
148
+
140
149
  if (typeof value === 'string' || typeof value === 'number') {
141
150
  formattedValue = {};
142
151
  formattedValue[valueField] = value;
143
152
  formattedValue[textField] = value;
144
153
  }
154
+
145
155
  return formattedValue;
146
156
  }) || [];
147
157
  }
148
158
  export function bytesToSize(bytes) {
149
159
  bytes = parseInt(bytes, 10);
150
160
  const sizes = ['B', 'KB', 'MB', 'GB', 'TB'];
161
+
151
162
  if (bytes === 0) {
152
163
  return '0 Byte';
153
164
  }
165
+
154
166
  const i = parseInt(Math.floor(Math.log(bytes) / Math.log(1024)), 10);
155
167
  return `${Math.round(bytes / Math.pow(1024, i), 2)} ${sizes[i]}`;
156
168
  }
157
169
  export function getMemSize(bytes) {
158
170
  let size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !0;
159
171
  const thresh = size ? 1000 : 1024;
172
+
160
173
  if (Math.abs(bytes) < thresh) {
161
174
  return `${bytes} B`;
162
175
  }
176
+
163
177
  let units = size ? ['kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'] : ['KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB'],
164
- i = -1;
178
+ i = -1;
179
+
165
180
  do {
166
181
  bytes /= thresh, ++i;
167
182
  } while (Math.abs(bytes) >= thresh && i < units.length - 1);
183
+
168
184
  {
169
185
  return `${bytes.toFixed(1)} ${units[i]}`;
170
186
  }
@@ -173,18 +189,24 @@ export function checkIsImageFile(fileName) {
173
189
  fileName = fileName || '';
174
190
  return /jpeg|jpg|png|gif|bmp|tiff|tif|ico/gi.test(fileName.substr(fileName.lastIndexOf('.') + 1));
175
191
  }
192
+
176
193
  function getI18NValue(key, values) {
177
194
  if (typeof i18n === 'undefined' || key === '' || typeof key === 'undefined') {
178
195
  return key;
179
196
  }
197
+
180
198
  let i18nStr = i18n[key];
199
+
181
200
  if (i18nStr === undefined) {
182
201
  return key;
183
202
  }
203
+
184
204
  i18nStr = replaceI18NValuesWithRegex(i18nStr, values);
185
205
  return unescapeUnicode(i18nStr);
186
206
  }
207
+
187
208
  global.getI18NValue = getI18NValue;
209
+
188
210
  function replaceI18NValuesWithRegex(i18nStr, values) {
189
211
  if (typeof values !== 'undefined') {
190
212
  if (Array.isArray(values)) {
@@ -195,22 +217,27 @@ function replaceI18NValuesWithRegex(i18nStr, values) {
195
217
  i18nStr = i18nStr.replace(new RegExp('\\{0\\}', 'g'), values);
196
218
  }
197
219
  }
220
+
198
221
  return i18nStr;
199
222
  }
223
+
200
224
  function unescapeUnicode(str) {
201
225
  return str.replace(/\\u([a-fA-F0-9]{4})/g, (g, m1) => String.fromCharCode(parseInt(m1, 16)));
202
226
  }
227
+
203
228
  export function getPortalName(portalList, portalId) {
204
229
  return portalList && portalList.reduce((res, portal) => {
205
230
  if (portal.orgId === portalId) {
206
231
  return portal.orgName;
207
232
  }
233
+
208
234
  return res;
209
235
  }, null);
210
236
  }
211
237
  export function getFullDateString(fullDateObj) {
212
238
  let dateStr = '';
213
239
  const monthArr = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
240
+
214
241
  if (fullDateObj.toDateString() == new Date().toDateString()) {
215
242
  dateStr = format12Hour(fullDateObj);
216
243
  } else {
@@ -220,6 +247,7 @@ export function getFullDateString(fullDateObj) {
220
247
  const time = format12Hour(fullDateObj);
221
248
  dateStr = `${month} ${date} ${year} ${time}`;
222
249
  }
250
+
223
251
  return dateStr;
224
252
  }
225
253
  export function format12Hour(date) {
@@ -228,6 +256,7 @@ export function format12Hour(date) {
228
256
  const ampm = hours >= 12 ? 'pm' : 'am';
229
257
  hours %= 12;
230
258
  hours = hours ? hours : 12; // the hour '0' should be '12'
259
+
231
260
  minutes = minutes < 10 ? `0${minutes}` : minutes;
232
261
  const strTime = `${hours}:${minutes} ${ampm}`;
233
262
  return strTime;
@@ -235,6 +264,7 @@ export function format12Hour(date) {
235
264
  export function getDateOnly(fullDateObj) {
236
265
  let dateStr = '';
237
266
  const monthArr = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
267
+
238
268
  if (fullDateObj.toDateString() == new Date().toDateString()) {
239
269
  dateStr = 'Today';
240
270
  } else {
@@ -243,6 +273,7 @@ export function getDateOnly(fullDateObj) {
243
273
  const date = fullDateObj.getDate();
244
274
  dateStr = `${month} ${date} ${year}`;
245
275
  }
276
+
246
277
  return dateStr;
247
278
  }
248
279
  export function doAfterScrollEnd(element, callback) {
@@ -256,6 +287,7 @@ export function doAfterScrollEnd(element, callback) {
256
287
  scrollHeight
257
288
  } = element;
258
289
  const scrollPercent = scrollTop / (scrollHeight - clientHeight) * 100;
290
+
259
291
  if (scrollPercent > 80) {
260
292
  callback && callback();
261
293
  }
@@ -272,9 +304,11 @@ export const throttle = function (func, wait) {
272
304
  for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
273
305
  args[_key2 - 2] = arguments[_key2];
274
306
  }
307
+
275
308
  if (timerId) {
276
309
  return;
277
310
  }
311
+
278
312
  timerId = setTimeout(() => {
279
313
  try {
280
314
  func(...args);
@@ -287,6 +321,7 @@ export const scrollTo = function (suggestionContainer, selSuggestion) {
287
321
  if (!suggestionContainer || !selSuggestion) {
288
322
  return;
289
323
  }
324
+
290
325
  const {
291
326
  rectGap
292
327
  } = frameRelativeRects(selSuggestion, suggestionContainer) || {};
@@ -294,9 +329,11 @@ export const scrollTo = function (suggestionContainer, selSuggestion) {
294
329
  top = 0,
295
330
  bottom = 0
296
331
  } = rectGap || {};
332
+
297
333
  if (top < 0 && bottom < 0) {
298
334
  return;
299
335
  }
336
+
300
337
  const isElementInViewPort = top < 0 || bottom < 0 ? false : true;
301
338
  const suggestionContainerScrollTop = suggestionContainer.scrollTop;
302
339
  suggestionContainer.scrollTop = !isElementInViewPort ? bottom < 0 ? suggestionContainer.scrollTop + Math.abs(bottom) : top < 0 ? suggestionContainer.scrollTop - Math.abs(top) : suggestionContainerScrollTop : suggestionContainerScrollTop;
@@ -308,17 +345,21 @@ export function remConvert(val) {
308
345
  }
309
346
  export function isDescendant(parent, child) {
310
347
  let node = child.parentNode;
348
+
311
349
  while (node !== null) {
312
350
  if (node === parent) {
313
351
  return true;
314
352
  }
353
+
315
354
  node = node.parentNode;
316
355
  }
356
+
317
357
  return false;
318
358
  }
319
359
  export function getElementSpace(elementRef) {
320
360
  let neededSpace = 0,
321
- availableInsideSpace = 0;
361
+ availableInsideSpace = 0;
362
+
322
363
  if (elementRef) {
323
364
  let getStyle = window.getComputedStyle(elementRef);
324
365
  let margin = parseFloat(getStyle.marginLeft) + parseFloat(getStyle.marginRight);
@@ -327,6 +368,7 @@ export function getElementSpace(elementRef) {
327
368
  neededSpace = width + margin;
328
369
  availableInsideSpace = width - padding;
329
370
  }
371
+
330
372
  return {
331
373
  neededSpace: neededSpace,
332
374
  availableInsideSpace: availableInsideSpace
@@ -336,7 +378,6 @@ export function getSearchString() {
336
378
  let charachers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
337
379
  return (charachers || '').toString().toLowerCase(); //.replace(/\s+/g, '');
338
380
  }
339
-
340
381
  export function findScrollEnd(element) {
341
382
  let {
342
383
  scrollHeight,
@@ -345,26 +386,30 @@ export function findScrollEnd(element) {
345
386
  clientHeight
346
387
  } = element || {};
347
388
  let isElementScrollable = scrollHeight > clientHeight;
389
+
348
390
  if (isElementScrollable) {
349
391
  if (scrollHeight <= Math.ceil(scrollTop + offsetHeight)) {
350
392
  return true;
351
393
  }
352
- }
353
- // else {
354
-
394
+ } // else {
355
395
  // throw 'Is scroll not present in this element';
356
396
  // }
397
+
398
+
357
399
  return false;
358
400
  }
359
401
  export function isTextSelected() {
360
402
  let selectedText = '';
403
+
361
404
  if (window.getSelection) {
362
405
  selectedText = window.getSelection().toString();
363
406
  } else if (document.getSelection) {
364
407
  selectedText = document.getSelection().toString();
365
408
  }
409
+
366
410
  if (selectedText !== '') {
367
411
  return true;
368
412
  }
413
+
369
414
  return false;
370
415
  }
@@ -1,15 +1,12 @@
1
1
  /** ** Libraries *** */
2
2
  import { useContext, useRef } from 'react';
3
3
  import PropTypes from 'prop-types';
4
- import shallowEqual from './shallowEqual';
5
-
6
- // Please use this component with children as inline function for force this components rerender when parent rerender regardless of reason
4
+ import shallowEqual from './shallowEqual'; // Please use this component with children as inline function for force this components rerender when parent rerender regardless of reason
7
5
  // Because below componends only rerender when children or calculation are changed, unless no changes will update below
8
-
9
6
  // this component logic based on return same children reference to stop rerender.
10
7
  // Think before change logic
11
-
12
8
  // eslint-disable-next-line import/prefer-default-export
9
+
13
10
  export function ContextOptimizer(props) {
14
11
  const {
15
12
  Context,
@@ -25,11 +22,13 @@ export function ContextOptimizer(props) {
25
22
  data: null,
26
23
  renderF: null
27
24
  });
25
+
28
26
  if (!shallowEqual(data, local.data) || local.renderF !== renderF) {
29
27
  local.children = renderF(data);
30
28
  local.data = data;
31
29
  local.renderF = renderF;
32
30
  }
31
+
33
32
  return local.children;
34
33
  }
35
34
  ContextOptimizer.propTypes = {
@@ -1,8 +1,10 @@
1
1
  function constructFullName(firstName, lastName) {
2
2
  return `${firstName ? `${firstName}${lastName ? ' ' : ''}` : ''}${lastName ? lastName : ''}`;
3
3
  }
4
+
4
5
  export function constructFullNameByPattern(firstName, lastName, namePattern) {
5
6
  let [name0, name1] = namePattern;
7
+
6
8
  if (name0 === 'FIRST_NAME' && name1 === 'LAST_NAME') {
7
9
  return constructFullName(firstName, lastName);
8
10
  } else if (name0 === 'LAST_NAME' && name1 === 'FIRST_NAME') {
@@ -69,6 +69,7 @@ export function formatDate(dateMill, mask) {
69
69
  if (match in flags) {
70
70
  return flags[match];
71
71
  }
72
+
72
73
  return match.slice(1, match.length - 1);
73
74
  });
74
75
  return dat;
@@ -83,6 +84,7 @@ export function replaceI18NValuesWithRegex(i18nStr, values) {
83
84
  i18nStr = i18nStr.replace(new RegExp('\\{0\\}', 'g'), values);
84
85
  }
85
86
  }
87
+
86
88
  return i18nStr;
87
89
  }
88
90
  export function unescapeUnicode(str) {
@@ -97,25 +99,28 @@ export function getI18NValue(i18n) {
97
99
  if (typeof i18n === 'undefined') {
98
100
  return key => key;
99
101
  }
102
+
100
103
  return (key, values) => {
101
104
  let i18nStr = i18n[key];
105
+
102
106
  if (i18nStr === undefined) {
103
107
  return key;
104
108
  }
109
+
105
110
  i18nStr = replaceI18NValuesWithRegex(i18nStr, values);
106
111
  return unescapeUnicode(i18nStr);
107
112
  };
108
- }
109
-
110
- // function getValues(params = [], diff) {
113
+ } // function getValues(params = [], diff) {
111
114
  // return params.map(param => {
112
115
  // return diff[param];
113
116
  // });
114
117
  // }
118
+
115
119
  export function getI18NInfo(toDateObj, props, diffObj) {
116
120
  let key = null,
117
- values,
118
- text = null;
121
+ values,
122
+ text = null;
123
+
119
124
  if (typeof props === 'function') {
120
125
  let value = props(diffObj1);
121
126
  key = value.key;
@@ -126,6 +131,7 @@ export function getI18NInfo(toDateObj, props, diffObj) {
126
131
  } else if (typeof props === 'string') {
127
132
  text = toDateObj.format(props);
128
133
  }
134
+
129
135
  return {
130
136
  key,
131
137
  values,
@@ -154,12 +160,15 @@ let oneYearInMillis = 31536000000;
154
160
  let oneDayInMillis = 86400000;
155
161
  let oneHourInMillis = 3600000;
156
162
  let oneMinuteInMillis = 60000;
163
+
157
164
  function convertAsNonExponential(number) {
158
165
  if (number.toString().toLowerCase().indexOf('e') !== -1) {
159
166
  return number.toFixed(20);
160
167
  }
168
+
161
169
  return number;
162
170
  }
171
+
163
172
  export function getDiffObj(diff) {
164
173
  diff = Math.abs(diff);
165
174
  let diffYears = diff / oneYearInMillis;
@@ -186,8 +195,10 @@ export function getDiffObj(diff) {
186
195
  export function getMonthEnd(month, year) {
187
196
  let monthend = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
188
197
  let isLeapYear = year % 400 === 0 || year % 4 === 0 && year % 100 !== 0;
198
+
189
199
  if (month === 1 && isLeapYear) {
190
200
  return 29;
191
201
  }
202
+
192
203
  return monthend[month];
193
204
  }
@@ -2,16 +2,20 @@ export function debounce(func, wait, immediate) {
2
2
  let timeout;
3
3
  return function () {
4
4
  let context = this,
5
- args = arguments;
5
+ args = arguments;
6
+
6
7
  let later = function () {
7
8
  timeout = null;
9
+
8
10
  if (!immediate) {
9
11
  func.apply(context, args);
10
12
  }
11
13
  };
14
+
12
15
  let callNow = immediate && !timeout;
13
16
  clearTimeout(timeout);
14
17
  timeout = setTimeout(later, wait);
18
+
15
19
  if (callNow) {
16
20
  func.apply(context, args);
17
21
  }