@zohodesk/components 1.0.0-temp-164 → 1.0.0-temp-166

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 (478) hide show
  1. package/README.md +34 -0
  2. package/assets/Appearance/dark/mode/Component_DarkMode.module.css +151 -151
  3. package/assets/Appearance/dark/themes/blue/blue_CTA_DarkModifyCategory.module.css +450 -450
  4. package/assets/Appearance/dark/themes/blue/blue_CTA_DarkTheme.module.css +30 -30
  5. package/assets/Appearance/dark/themes/green/green_CTA_DarkModifyCategory.module.css +450 -450
  6. package/assets/Appearance/dark/themes/green/green_CTA_DarkTheme.module.css +30 -30
  7. package/assets/Appearance/dark/themes/orange/orange_CTA_DarkModifyCategory.module.css +450 -450
  8. package/assets/Appearance/dark/themes/orange/orange_CTA_DarkTheme.module.css +30 -30
  9. package/assets/Appearance/dark/themes/red/red_CTA_DarkModifyCategory.module.css +450 -450
  10. package/assets/Appearance/dark/themes/red/red_CTA_DarkTheme.module.css +30 -30
  11. package/assets/Appearance/dark/themes/yellow/yellow_CTA_DarkModifyCategory.module.css +450 -450
  12. package/assets/Appearance/dark/themes/yellow/yellow_CTA_DarkTheme.module.css +30 -30
  13. package/assets/Appearance/light/mode/Component_LightMode.module.css +148 -148
  14. package/assets/Appearance/light/themes/blue/blue_CTA_LightModifyCategory.module.css +450 -450
  15. package/assets/Appearance/light/themes/blue/blue_CTA_LightTheme.module.css +30 -30
  16. package/assets/Appearance/light/themes/green/green_CTA_LightModifyCategory.module.css +450 -450
  17. package/assets/Appearance/light/themes/green/green_CTA_LightTheme.module.css +30 -30
  18. package/assets/Appearance/light/themes/orange/orange_CTA_LightModifyCategory.module.css +450 -450
  19. package/assets/Appearance/light/themes/orange/orange_CTA_LightTheme.module.css +30 -30
  20. package/assets/Appearance/light/themes/red/red_CTA_LightModifyCategory.module.css +450 -450
  21. package/assets/Appearance/light/themes/red/red_CTA_LightTheme.module.css +30 -30
  22. package/assets/Appearance/light/themes/yellow/yellow_CTA_LightModifyCategory.module.css +450 -450
  23. package/assets/Appearance/light/themes/yellow/yellow_CTA_LightTheme.module.css +30 -30
  24. package/assets/Appearance/pureDark/mode/Component_PureDarkMode.module.css +153 -153
  25. package/assets/Appearance/pureDark/themes/blue/blue_CTA_PureDarkModifyCategory.module.css +450 -450
  26. package/assets/Appearance/pureDark/themes/blue/blue_CTA_PureDarkTheme.module.css +30 -30
  27. package/assets/Appearance/pureDark/themes/green/green_CTA_PureDarkModifyCategory.module.css +450 -450
  28. package/assets/Appearance/pureDark/themes/green/green_CTA_PureDarkTheme.module.css +30 -30
  29. package/assets/Appearance/pureDark/themes/orange/orange_CTA_PureDarkModifyCategory.module.css +450 -450
  30. package/assets/Appearance/pureDark/themes/orange/orange_CTA_PureDarkTheme.module.css +30 -30
  31. package/assets/Appearance/pureDark/themes/red/red_CTA_PureDarkModifyCategory.module.css +450 -450
  32. package/assets/Appearance/pureDark/themes/red/red_CTA_PureDarkTheme.module.css +30 -30
  33. package/assets/Appearance/pureDark/themes/yellow/yellow_CTA_PureDarkModifyCategory.module.css +450 -450
  34. package/assets/Appearance/pureDark/themes/yellow/yellow_CTA_PureDarkTheme.module.css +30 -30
  35. package/es/Accordion/Accordion.js +8 -3
  36. package/es/Accordion/AccordionItem.js +5 -2
  37. package/es/Animation/Animation.js +3 -3
  38. package/es/AppContainer/AppContainer.js +27 -10
  39. package/es/AppContainer/AppContainer.module.css +2 -2
  40. package/es/AppContainer/props/defaultProps.js +2 -1
  41. package/es/AppContainer/props/propTypes.js +1 -0
  42. package/es/Avatar/Avatar.js +26 -11
  43. package/es/Avatar/Avatar.module.css +18 -18
  44. package/es/AvatarTeam/AvatarTeam.js +4 -3
  45. package/es/AvatarTeam/AvatarTeam.module.css +35 -35
  46. package/es/Button/Button.js +5 -3
  47. package/es/Button/css/Button.module.css +70 -70
  48. package/es/Buttongroup/Buttongroup.js +4 -3
  49. package/es/Buttongroup/Buttongroup.module.css +14 -15
  50. package/es/Card/Card.js +21 -10
  51. package/es/CheckBox/CheckBox.js +5 -3
  52. package/es/CheckBox/CheckBox.module.css +15 -15
  53. package/es/DateTime/CalendarView.js +33 -20
  54. package/es/DateTime/DateTime.js +113 -12
  55. package/es/DateTime/DateTime.module.css +39 -39
  56. package/es/DateTime/DateTimePopupFooter.js +4 -2
  57. package/es/DateTime/DateTimePopupHeader.js +8 -2
  58. package/es/DateTime/DateWidget.js +100 -35
  59. package/es/DateTime/DateWidget.module.css +5 -5
  60. package/es/DateTime/DaysRow.js +4 -2
  61. package/es/DateTime/Time.js +10 -2
  62. package/es/DateTime/YearView.js +28 -4
  63. package/es/DateTime/YearView.module.css +15 -15
  64. package/es/DateTime/__tests__/CalendarView.spec.js +1 -0
  65. package/es/DateTime/__tests__/DateTime.spec.js +1 -0
  66. package/es/DateTime/__tests__/DateWidget.spec.js +2 -3
  67. package/es/DateTime/common.js +3 -0
  68. package/es/DateTime/constants.js +1 -0
  69. package/es/DateTime/dateFormatUtils/dateFormat.js +63 -30
  70. package/es/DateTime/dateFormatUtils/dateFormats.js +0 -1
  71. package/es/DateTime/dateFormatUtils/dayChange.js +13 -4
  72. package/es/DateTime/dateFormatUtils/index.js +32 -2
  73. package/es/DateTime/dateFormatUtils/monthChange.js +8 -0
  74. package/es/DateTime/dateFormatUtils/timeChange.js +22 -6
  75. package/es/DateTime/dateFormatUtils/yearChange.js +11 -2
  76. package/es/DateTime/objectUtils.js +14 -20
  77. package/es/DateTime/props/defaultProps.js +2 -1
  78. package/es/DateTime/typeChecker.js +3 -0
  79. package/es/DateTime/validator.js +58 -6
  80. package/es/DropBox/DropBox.js +9 -5
  81. package/es/DropBox/DropBoxElement/DropBoxElement.js +18 -6
  82. package/es/DropBox/DropBoxElement/css/DropBoxElement.module.css +85 -79
  83. package/es/DropBox/DropBoxElement/css/cssJSLogic.js +6 -4
  84. package/es/DropBox/DropBoxElement/props/propTypes.js +1 -1
  85. package/es/DropBox/DropBoxElement/useDropboxPosCalc.js +3 -0
  86. package/es/DropBox/__tests__/DropBox.spec.js +2 -2
  87. package/es/DropBox/css/DropBox.module.css +6 -6
  88. package/es/DropBox/props/defaultProps.js +1 -2
  89. package/es/DropBox/props/propTypes.js +1 -2
  90. package/es/DropDown/DropDown.js +10 -5
  91. package/es/DropDown/DropDown.module.css +2 -2
  92. package/es/DropDown/DropDownHeading.js +5 -5
  93. package/es/DropDown/DropDownHeading.module.css +6 -6
  94. package/es/DropDown/DropDownItem.js +8 -1
  95. package/es/DropDown/DropDownItem.module.css +12 -12
  96. package/es/DropDown/DropDownSearch.js +4 -0
  97. package/es/DropDown/DropDownSearch.module.css +3 -3
  98. package/es/DropDown/DropDownSeparator.js +1 -0
  99. package/es/DropDown/DropDownSeparator.module.css +2 -2
  100. package/es/DropDown/__tests__/DropDown.spec.js +1 -2
  101. package/es/Heading/Heading.js +3 -3
  102. package/es/Heading/Heading.module.css +2 -2
  103. package/es/Label/Label.js +3 -3
  104. package/es/Label/Label.module.css +5 -5
  105. package/es/Layout/Box.js +17 -3
  106. package/es/Layout/Container.js +16 -4
  107. package/es/Layout/Layout.module.css +15 -15
  108. package/es/Layout/index.js +1 -2
  109. package/es/Layout/props/defaultProps.js +2 -0
  110. package/es/Layout/props/propTypes.js +2 -0
  111. package/es/Layout/utils.js +5 -1
  112. package/es/ListItem/ListContainer.js +8 -3
  113. package/es/ListItem/ListItem.js +9 -3
  114. package/es/ListItem/ListItem.module.css +38 -38
  115. package/es/ListItem/ListItemWithAvatar.js +9 -3
  116. package/es/ListItem/ListItemWithCheckBox.js +7 -2
  117. package/es/ListItem/ListItemWithIcon.js +8 -3
  118. package/es/ListItem/ListItemWithRadio.js +7 -3
  119. package/es/Modal/Modal.js +28 -11
  120. package/es/MultiSelect/AdvancedGroupMultiSelect.js +90 -13
  121. package/es/MultiSelect/AdvancedMultiSelect.js +33 -9
  122. package/es/MultiSelect/EmptyState.js +6 -0
  123. package/es/MultiSelect/MultiSelect.js +100 -32
  124. package/es/MultiSelect/MultiSelect.module.css +31 -31
  125. package/es/MultiSelect/MultiSelectHeader.js +3 -0
  126. package/es/MultiSelect/MultiSelectWithAvatar.js +13 -6
  127. package/es/MultiSelect/SelectedOptions.js +6 -3
  128. package/es/MultiSelect/SelectedOptions.module.css +5 -5
  129. package/es/MultiSelect/Suggestions.js +7 -3
  130. package/es/MultiSelect/__tests__/MultiSelect.spec.js +4 -6
  131. package/es/MultiSelect/props/propTypes.js +2 -0
  132. package/es/PopOver/PopOver.js +18 -2
  133. package/es/PopOver/__tests__/PopOver.spec.js +2 -1
  134. package/es/Popup/Popup.js +77 -27
  135. package/es/Popup/__tests__/Popup.spec.js +17 -5
  136. package/es/Popup/viewPort.js +16 -4
  137. package/es/Provider/IdProvider.js +10 -5
  138. package/es/Provider/LibraryContext.js +6 -4
  139. package/es/Provider/NumberGenerator/NumberGenerator.js +21 -7
  140. package/es/Provider/ZindexProvider.js +9 -2
  141. package/es/Radio/Radio.js +4 -2
  142. package/es/Radio/Radio.module.css +9 -9
  143. package/es/Responsive/CustomResponsive.js +30 -18
  144. package/es/Responsive/RefWrapper.js +6 -7
  145. package/es/Responsive/ResizeComponent.js +35 -25
  146. package/es/Responsive/ResizeObserver.js +26 -6
  147. package/es/Responsive/Responsive.js +34 -20
  148. package/es/Responsive/index.js +1 -3
  149. package/es/Responsive/sizeObservers.js +28 -7
  150. package/es/Responsive/utils/index.js +7 -5
  151. package/es/Responsive/utils/shallowCompare.js +7 -2
  152. package/es/Responsive/windowResizeObserver.js +7 -0
  153. package/es/ResponsiveDropBox/ResponsiveDropBox.js +4 -0
  154. package/es/ResponsiveDropBox/ResponsiveDropBox.module.css +2 -2
  155. package/es/Ribbon/Ribbon.js +4 -2
  156. package/es/Ribbon/Ribbon.module.css +46 -48
  157. package/es/RippleEffect/RippleEffect.js +1 -3
  158. package/es/Select/GroupSelect.js +59 -14
  159. package/es/Select/Select.js +81 -34
  160. package/es/Select/Select.module.css +23 -23
  161. package/es/Select/SelectWithAvatar.js +19 -4
  162. package/es/Select/SelectWithIcon.js +48 -6
  163. package/es/Select/__tests__/Select.spec.js +6 -8
  164. package/es/Select/props/propTypes.js +1 -0
  165. package/es/Stencils/Stencils.js +3 -3
  166. package/es/Stencils/Stencils.module.css +11 -11
  167. package/es/Switch/Switch.js +6 -3
  168. package/es/Switch/Switch.module.css +23 -23
  169. package/es/Tab/Tab.js +4 -4
  170. package/es/Tab/Tab.module.css +14 -14
  171. package/es/Tab/TabContent.js +1 -0
  172. package/es/Tab/TabContentWrapper.js +2 -0
  173. package/es/Tab/TabWrapper.js +5 -2
  174. package/es/Tab/Tabs.js +56 -8
  175. package/es/Tab/Tabs.module.css +24 -42
  176. package/es/Tab/__tests__/Tab.spec.js +1 -3
  177. package/es/Tab/__tests__/TabWrapper.spec.js +1 -0
  178. package/es/Tag/Tag.js +7 -3
  179. package/es/Tag/Tag.module.css +25 -25
  180. package/es/TextBox/TextBox.js +16 -3
  181. package/es/TextBox/TextBox.module.css +9 -9
  182. package/es/TextBox/__tests__/TextBox.spec.js +1 -4
  183. package/es/TextBoxIcon/TextBoxIcon.js +9 -2
  184. package/es/TextBoxIcon/TextBoxIcon.module.css +7 -7
  185. package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +2 -7
  186. package/es/Textarea/Textarea.js +13 -3
  187. package/es/Textarea/Textarea.module.css +21 -21
  188. package/es/Textarea/__tests__/Textarea.spec.js +2 -2
  189. package/es/Tooltip/Tooltip.js +60 -15
  190. package/es/Tooltip/Tooltip.module.css +5 -5
  191. package/es/Tooltip/__tests__/Tooltip.spec.js +5 -0
  192. package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +3 -2
  193. package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +7 -5
  194. package/es/common/animation.module.css +8 -8
  195. package/es/common/avatarsizes.module.css +16 -16
  196. package/es/common/basicReset.module.css +3 -3
  197. package/es/common/common.module.css +24 -24
  198. package/es/common/customscroll.module.css +2 -2
  199. package/es/deprecated/AdvancedMultiSelect.module.css +18 -18
  200. package/es/deprecated/PortalLayer/PortalLayer.js +25 -20
  201. package/es/semantic/Button/Button.js +4 -2
  202. package/es/semantic/Button/semanticButton.module.css +1 -1
  203. package/es/utils/Common.js +58 -9
  204. package/es/utils/ContextOptimizer.js +4 -5
  205. package/es/utils/__tests__/debounce.spec.js +2 -2
  206. package/es/utils/constructFullName.js +2 -0
  207. package/es/utils/css/compileClassNames.js +5 -0
  208. package/es/utils/css/mergeStyle.js +7 -6
  209. package/es/utils/css/utils.js +1 -0
  210. package/es/utils/datetime/GMTZones.js +48 -0
  211. package/es/utils/datetime/common.js +31 -7
  212. package/es/utils/debounce.js +5 -1
  213. package/es/utils/dropDownUtils.js +68 -11
  214. package/es/utils/getInitial.js +4 -0
  215. package/es/utils/shallowEqual.js +6 -0
  216. package/lib/Accordion/Accordion.js +43 -18
  217. package/lib/Accordion/AccordionItem.js +41 -18
  218. package/lib/Accordion/__tests__/Accordion.spec.js +3 -0
  219. package/lib/Accordion/index.js +3 -0
  220. package/lib/Accordion/props/propTypes.js +3 -0
  221. package/lib/Animation/Animation.js +38 -18
  222. package/lib/Animation/__tests__/Animation.spec.js +11 -7
  223. package/lib/Animation/props/propTypes.js +3 -0
  224. package/lib/AppContainer/AppContainer.js +66 -26
  225. package/lib/AppContainer/AppContainer.module.css +2 -2
  226. package/lib/AppContainer/props/defaultProps.js +2 -1
  227. package/lib/AppContainer/props/propTypes.js +4 -0
  228. package/lib/Avatar/Avatar.js +81 -38
  229. package/lib/Avatar/Avatar.module.css +18 -18
  230. package/lib/Avatar/__tests__/Avatar.spec.js +44 -0
  231. package/lib/Avatar/props/propTypes.js +3 -0
  232. package/lib/AvatarTeam/AvatarTeam.js +53 -30
  233. package/lib/AvatarTeam/AvatarTeam.module.css +35 -35
  234. package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +13 -0
  235. package/lib/AvatarTeam/props/propTypes.js +3 -0
  236. package/lib/Button/Button.js +32 -20
  237. package/lib/Button/css/Button.module.css +70 -70
  238. package/lib/Button/css/cssJSLogic.js +18 -17
  239. package/lib/Button/index.js +3 -0
  240. package/lib/Button/props/defaultProps.js +2 -0
  241. package/lib/Button/props/propTypes.js +3 -0
  242. package/lib/Buttongroup/Buttongroup.js +33 -12
  243. package/lib/Buttongroup/Buttongroup.module.css +14 -15
  244. package/lib/Buttongroup/__test__/Buttongroup.spec.js +10 -0
  245. package/lib/Buttongroup/props/propTypes.js +3 -0
  246. package/lib/Card/Card.js +102 -46
  247. package/lib/Card/__tests__/Card.spec.js +10 -1
  248. package/lib/Card/index.js +4 -0
  249. package/lib/Card/props/propTypes.js +3 -0
  250. package/lib/CheckBox/CheckBox.js +71 -47
  251. package/lib/CheckBox/CheckBox.module.css +15 -15
  252. package/lib/CheckBox/__tests__/CheckBox.spec.js +3 -0
  253. package/lib/CheckBox/props/propTypes.js +3 -0
  254. package/lib/DateTime/CalendarView.js +83 -42
  255. package/lib/DateTime/DateTime.js +287 -160
  256. package/lib/DateTime/DateTime.module.css +39 -39
  257. package/lib/DateTime/DateTimePopupFooter.js +31 -8
  258. package/lib/DateTime/DateTimePopupHeader.js +48 -17
  259. package/lib/DateTime/DateWidget.js +354 -250
  260. package/lib/DateTime/DateWidget.module.css +5 -5
  261. package/lib/DateTime/DaysRow.js +27 -5
  262. package/lib/DateTime/Time.js +73 -32
  263. package/lib/DateTime/YearView.js +77 -28
  264. package/lib/DateTime/YearView.module.css +15 -15
  265. package/lib/DateTime/__tests__/CalendarView.spec.js +13 -5
  266. package/lib/DateTime/__tests__/DateTime.spec.js +51 -37
  267. package/lib/DateTime/__tests__/DateWidget.spec.js +10 -8
  268. package/lib/DateTime/common.js +6 -0
  269. package/lib/DateTime/constants.js +1 -0
  270. package/lib/DateTime/dateFormatUtils/dateFormat.js +184 -122
  271. package/lib/DateTime/dateFormatUtils/dateFormats.js +0 -1
  272. package/lib/DateTime/dateFormatUtils/dayChange.js +14 -7
  273. package/lib/DateTime/dateFormatUtils/index.js +74 -16
  274. package/lib/DateTime/dateFormatUtils/monthChange.js +19 -9
  275. package/lib/DateTime/dateFormatUtils/timeChange.js +54 -22
  276. package/lib/DateTime/dateFormatUtils/yearChange.js +22 -11
  277. package/lib/DateTime/index.js +2 -0
  278. package/lib/DateTime/objectUtils.js +24 -20
  279. package/lib/DateTime/props/defaultProps.js +2 -1
  280. package/lib/DateTime/props/propTypes.js +11 -1
  281. package/lib/DateTime/typeChecker.js +4 -0
  282. package/lib/DateTime/validator.js +73 -10
  283. package/lib/DropBox/DropBox.js +36 -12
  284. package/lib/DropBox/DropBoxElement/DropBoxElement.js +68 -42
  285. package/lib/DropBox/DropBoxElement/css/DropBoxElement.module.css +85 -79
  286. package/lib/DropBox/DropBoxElement/css/cssJSLogic.js +43 -34
  287. package/lib/DropBox/DropBoxElement/props/propTypes.js +4 -1
  288. package/lib/DropBox/DropBoxElement/useDropboxPosCalc.js +14 -9
  289. package/lib/DropBox/__tests__/DropBox.spec.js +8 -4
  290. package/lib/DropBox/css/DropBox.module.css +6 -6
  291. package/lib/DropBox/css/cssJSLogic.js +3 -1
  292. package/lib/DropBox/props/defaultProps.js +8 -4
  293. package/lib/DropBox/props/propTypes.js +10 -4
  294. package/lib/DropDown/DropDown.js +54 -9
  295. package/lib/DropDown/DropDown.module.css +2 -2
  296. package/lib/DropDown/DropDownHeading.js +40 -20
  297. package/lib/DropDown/DropDownHeading.module.css +6 -6
  298. package/lib/DropDown/DropDownItem.js +44 -21
  299. package/lib/DropDown/DropDownItem.module.css +12 -12
  300. package/lib/DropDown/DropDownSearch.js +40 -17
  301. package/lib/DropDown/DropDownSearch.module.css +3 -3
  302. package/lib/DropDown/DropDownSeparator.js +24 -4
  303. package/lib/DropDown/DropDownSeparator.module.css +2 -2
  304. package/lib/DropDown/__tests__/DropDown.spec.js +15 -9
  305. package/lib/DropDown/__tests__/DropDownItem.spec.js +9 -4
  306. package/lib/DropDown/__tests__/DropDownSearch.spec.js +3 -0
  307. package/lib/DropDown/index.js +9 -0
  308. package/lib/DropDown/props/propTypes.js +6 -4
  309. package/lib/Heading/Heading.js +39 -16
  310. package/lib/Heading/Heading.module.css +2 -2
  311. package/lib/Heading/props/propTypes.js +3 -0
  312. package/lib/Label/Label.js +40 -19
  313. package/lib/Label/Label.module.css +5 -5
  314. package/lib/Label/__tests__/Label.spec.js +14 -1
  315. package/lib/Label/props/propTypes.js +3 -0
  316. package/lib/Layout/Box.js +39 -15
  317. package/lib/Layout/Container.js +37 -14
  318. package/lib/Layout/Layout.module.css +15 -15
  319. package/lib/Layout/__tests__/Box.spec.js +65 -49
  320. package/lib/Layout/__tests__/Container.spec.js +67 -50
  321. package/lib/Layout/index.js +3 -0
  322. package/lib/Layout/props/defaultProps.js +2 -0
  323. package/lib/Layout/props/propTypes.js +5 -0
  324. package/lib/Layout/utils.js +15 -1
  325. package/lib/ListItem/ListContainer.js +48 -27
  326. package/lib/ListItem/ListItem.js +69 -45
  327. package/lib/ListItem/ListItem.module.css +38 -38
  328. package/lib/ListItem/ListItemWithAvatar.js +75 -48
  329. package/lib/ListItem/ListItemWithCheckBox.js +64 -39
  330. package/lib/ListItem/ListItemWithIcon.js +68 -44
  331. package/lib/ListItem/ListItemWithRadio.js +65 -41
  332. package/lib/ListItem/index.js +7 -0
  333. package/lib/ListItem/props/propTypes.js +6 -4
  334. package/lib/Modal/Modal.js +45 -10
  335. package/lib/Modal/props/propTypes.js +3 -0
  336. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +295 -166
  337. package/lib/MultiSelect/AdvancedMultiSelect.js +203 -125
  338. package/lib/MultiSelect/EmptyState.js +49 -24
  339. package/lib/MultiSelect/MultiSelect.js +324 -206
  340. package/lib/MultiSelect/MultiSelect.module.css +31 -31
  341. package/lib/MultiSelect/MultiSelectHeader.js +30 -8
  342. package/lib/MultiSelect/MultiSelectWithAvatar.js +106 -63
  343. package/lib/MultiSelect/SelectedOptions.js +43 -17
  344. package/lib/MultiSelect/SelectedOptions.module.css +5 -5
  345. package/lib/MultiSelect/Suggestions.js +64 -32
  346. package/lib/MultiSelect/__tests__/MultiSelect.spec.js +86 -75
  347. package/lib/MultiSelect/index.js +5 -0
  348. package/lib/MultiSelect/props/defaultProps.js +2 -0
  349. package/lib/MultiSelect/props/propTypes.js +5 -0
  350. package/lib/PopOver/PopOver.js +95 -49
  351. package/lib/PopOver/__tests__/PopOver.spec.js +4 -1
  352. package/lib/PopOver/index.js +4 -0
  353. package/lib/PopOver/props/propTypes.js +3 -0
  354. package/lib/Popup/Popup.js +158 -84
  355. package/lib/Popup/__tests__/Popup.spec.js +43 -8
  356. package/lib/Popup/viewPort.js +28 -14
  357. package/lib/Provider/AvatarSize.js +4 -0
  358. package/lib/Provider/Config.js +2 -0
  359. package/lib/Provider/CssProvider.js +4 -0
  360. package/lib/Provider/IdProvider.js +17 -6
  361. package/lib/Provider/LibraryContext.js +35 -15
  362. package/lib/Provider/LibraryContextInit.js +4 -0
  363. package/lib/Provider/NumberGenerator/NumberGenerator.js +44 -15
  364. package/lib/Provider/ZindexProvider.js +15 -3
  365. package/lib/Provider/index.js +5 -0
  366. package/lib/Radio/Radio.js +61 -38
  367. package/lib/Radio/Radio.module.css +9 -9
  368. package/lib/Radio/__tests__/Radiospec.js +9 -5
  369. package/lib/Radio/props/propTypes.js +3 -0
  370. package/lib/Responsive/CustomResponsive.js +73 -29
  371. package/lib/Responsive/RefWrapper.js +17 -11
  372. package/lib/Responsive/ResizeComponent.js +62 -36
  373. package/lib/Responsive/ResizeObserver.js +24 -10
  374. package/lib/Responsive/Responsive.js +80 -30
  375. package/lib/Responsive/index.js +4 -0
  376. package/lib/Responsive/props/propTypes.js +3 -0
  377. package/lib/Responsive/sizeObservers.js +53 -17
  378. package/lib/Responsive/utils/index.js +11 -3
  379. package/lib/Responsive/utils/shallowCompare.js +11 -2
  380. package/lib/Responsive/windowResizeObserver.js +8 -0
  381. package/lib/ResponsiveDropBox/ResponsiveDropBox.js +45 -17
  382. package/lib/ResponsiveDropBox/ResponsiveDropBox.module.css +2 -2
  383. package/lib/ResponsiveDropBox/props/propTypes.js +3 -0
  384. package/lib/Ribbon/Ribbon.js +34 -13
  385. package/lib/Ribbon/Ribbon.module.css +46 -48
  386. package/lib/Ribbon/__tests__/Ribbon.spec.js +22 -0
  387. package/lib/Ribbon/props/propTypes.js +3 -0
  388. package/lib/RippleEffect/RippleEffect.js +18 -10
  389. package/lib/RippleEffect/props/propTypes.js +3 -0
  390. package/lib/Select/GroupSelect.js +230 -130
  391. package/lib/Select/Select.js +292 -210
  392. package/lib/Select/Select.module.css +23 -23
  393. package/lib/Select/SelectWithAvatar.js +104 -56
  394. package/lib/Select/SelectWithIcon.js +134 -77
  395. package/lib/Select/__tests__/Select.spec.js +133 -91
  396. package/lib/Select/index.js +5 -0
  397. package/lib/Select/props/defaultProps.js +5 -4
  398. package/lib/Select/props/propTypes.js +4 -0
  399. package/lib/Stencils/Stencils.js +29 -10
  400. package/lib/Stencils/Stencils.module.css +11 -11
  401. package/lib/Stencils/__tests__/Stencils.spec.js +12 -0
  402. package/lib/Stencils/props/propTypes.js +3 -0
  403. package/lib/Switch/Switch.js +58 -34
  404. package/lib/Switch/Switch.module.css +23 -23
  405. package/lib/Switch/props/propTypes.js +3 -0
  406. package/lib/Tab/Tab.js +40 -27
  407. package/lib/Tab/Tab.module.css +14 -14
  408. package/lib/Tab/TabContent.js +12 -5
  409. package/lib/Tab/TabContentWrapper.js +13 -6
  410. package/lib/Tab/TabWrapper.js +37 -19
  411. package/lib/Tab/Tabs.js +173 -92
  412. package/lib/Tab/Tabs.module.css +24 -42
  413. package/lib/Tab/__tests__/Tab.spec.js +67 -58
  414. package/lib/Tab/__tests__/TabContent.spec.js +10 -6
  415. package/lib/Tab/__tests__/TabContentWrapper.spec.js +28 -20
  416. package/lib/Tab/__tests__/TabWrapper.spec.js +12 -0
  417. package/lib/Tab/__tests__/Tabs.spec.js +53 -39
  418. package/lib/Tab/index.js +6 -0
  419. package/lib/Tab/props/propTypes.js +3 -0
  420. package/lib/Tag/Tag.js +73 -43
  421. package/lib/Tag/Tag.module.css +25 -25
  422. package/lib/Tag/__tests__/Tag.spec.js +14 -8
  423. package/lib/Tag/props/propTypes.js +3 -0
  424. package/lib/TextBox/TextBox.js +86 -59
  425. package/lib/TextBox/TextBox.module.css +9 -9
  426. package/lib/TextBox/__tests__/TextBox.spec.js +14 -4
  427. package/lib/TextBox/props/propTypes.js +6 -4
  428. package/lib/TextBoxIcon/TextBoxIcon.js +79 -52
  429. package/lib/TextBoxIcon/TextBoxIcon.module.css +7 -7
  430. package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +14 -5
  431. package/lib/TextBoxIcon/props/propTypes.js +3 -0
  432. package/lib/Textarea/Textarea.js +55 -29
  433. package/lib/Textarea/Textarea.module.css +21 -21
  434. package/lib/Textarea/__tests__/Textarea.spec.js +14 -2
  435. package/lib/Textarea/props/propTypes.js +3 -0
  436. package/lib/Tooltip/Tooltip.js +96 -32
  437. package/lib/Tooltip/Tooltip.module.css +5 -5
  438. package/lib/Tooltip/__tests__/Tooltip.spec.js +24 -3
  439. package/lib/Tooltip/props/propTypes.js +3 -0
  440. package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +40 -16
  441. package/lib/VelocityAnimation/VelocityAnimation/props/propTypes.js +3 -0
  442. package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +53 -25
  443. package/lib/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +3 -0
  444. package/lib/VelocityAnimation/index.js +3 -0
  445. package/lib/common/animation.module.css +8 -8
  446. package/lib/common/avatarsizes.module.css +16 -16
  447. package/lib/common/basicReset.module.css +3 -3
  448. package/lib/common/common.module.css +24 -24
  449. package/lib/common/customscroll.module.css +2 -2
  450. package/lib/css.js +40 -0
  451. package/lib/deprecated/AdvancedMultiSelect.module.css +18 -18
  452. package/lib/deprecated/PortalLayer/PortalLayer.js +46 -23
  453. package/lib/deprecated/PortalLayer/props/propTypes.js +3 -0
  454. package/lib/index.js +57 -0
  455. package/lib/semantic/Button/Button.js +43 -22
  456. package/lib/semantic/Button/props/propTypes.js +3 -0
  457. package/lib/semantic/Button/semanticButton.module.css +1 -1
  458. package/lib/semantic/index.js +2 -0
  459. package/lib/utils/Common.js +117 -19
  460. package/lib/utils/ContextOptimizer.js +16 -10
  461. package/lib/utils/__tests__/constructFullName.spec.js +1 -0
  462. package/lib/utils/__tests__/debounce.spec.js +3 -2
  463. package/lib/utils/__tests__/getInitial.spec.js +1 -0
  464. package/lib/utils/constructFullName.js +13 -4
  465. package/lib/utils/css/compileClassNames.js +6 -0
  466. package/lib/utils/css/mergeStyle.js +10 -7
  467. package/lib/utils/css/utils.js +8 -0
  468. package/lib/utils/datetime/GMTZones.js +55 -0
  469. package/lib/utils/datetime/common.js +52 -7
  470. package/lib/utils/debounce.js +6 -1
  471. package/lib/utils/dropDownUtils.js +175 -59
  472. package/lib/utils/dummyFunction.js +2 -0
  473. package/lib/utils/getHTMLFontSize.js +1 -0
  474. package/lib/utils/getInitial.js +6 -0
  475. package/lib/utils/index.js +4 -0
  476. package/lib/utils/scrollTo.js +2 -0
  477. package/lib/utils/shallowEqual.js +8 -0
  478. package/package.json +18 -27
@@ -52,8 +52,8 @@
52
52
  .cboth::after {
53
53
  content: '.';
54
54
  display: block;
55
- font-size: 0;
56
- height: 0;
55
+ font-size: 0 ;
56
+ height: 0 ;
57
57
  line-height: 0;
58
58
  visibility: hidden;
59
59
  clear: both;
@@ -81,21 +81,21 @@
81
81
  .disabled::after,
82
82
  .readonly::after {
83
83
  position: absolute;
84
- top: 0;
85
- bottom: 0;
84
+ top: 0 ;
85
+ bottom: 0 ;
86
86
  z-index: 2;
87
87
  content: '';
88
88
  user-select: none;
89
89
  }
90
90
 
91
91
  [dir=ltr] .disable::after, [dir=ltr] .disabled::after, [dir=ltr] .readonly::after {
92
- left: 0;
93
- right: 0;
92
+ left: 0 ;
93
+ right: 0 ;
94
94
  }
95
95
 
96
96
  [dir=rtl] .disable::after, [dir=rtl] .disabled::after, [dir=rtl] .readonly::after {
97
- right: 0;
98
- left: 0;
97
+ right: 0 ;
98
+ left: 0 ;
99
99
  }
100
100
 
101
101
  .disabled, .readonly {
@@ -201,8 +201,8 @@
201
201
  -webkit-box-flex: 1;
202
202
  -ms-flex-positive: 1;
203
203
  flex-grow: 1;
204
- min-height: 0;
205
- min-width: 0;
204
+ min-height: 0 ;
205
+ min-width: 0 ;
206
206
  }
207
207
 
208
208
  .flexshrink {
@@ -213,7 +213,7 @@
213
213
  }
214
214
 
215
215
  .flexbasis {
216
- flex-basis: 0%;
216
+ flex-basis: 0% ;
217
217
  -webkit-flex-basis: 0%;
218
218
  -moz-flex-basis: 0%;
219
219
  -ms-flex-basis: 0%;
@@ -331,11 +331,11 @@
331
331
 
332
332
  /* --Width Props-- */
333
333
  .w100 {
334
- width: 100%;
334
+ width: 100% ;
335
335
  }
336
336
 
337
337
  .h100 {
338
- height: 100%;
338
+ height: 100% ;
339
339
  }
340
340
 
341
341
  .rounded {
@@ -378,15 +378,15 @@
378
378
  }
379
379
 
380
380
  .t50 {
381
- top: 50%;
381
+ top: 50% ;
382
382
  }
383
383
 
384
384
  [dir=ltr] .l50 {
385
- left: 50%;
385
+ left: 50% ;
386
386
  }
387
387
 
388
388
  [dir=rtl] .l50 {
389
- right: 50%;
389
+ right: 50% ;
390
390
  }
391
391
 
392
392
  [dir=ltr] .middle {
@@ -405,15 +405,15 @@
405
405
 
406
406
  .middleBoth {
407
407
  composes: middle;
408
- top: 50%;
408
+ top: 50% ;
409
409
  }
410
410
 
411
411
  [dir=ltr] .middleBoth {
412
- left: 50%;
412
+ left: 50% ;
413
413
  }
414
414
 
415
415
  [dir=rtl] .middleBoth {
416
- right: 50%;
416
+ right: 50% ;
417
417
  }
418
418
 
419
419
  .middleY {
@@ -466,7 +466,7 @@
466
466
  content: '';
467
467
  vertical-align: middle;
468
468
  display: inline-block;
469
- height: 100%;
469
+ height: 100% ;
470
470
  }
471
471
 
472
472
  .wbreak {
@@ -515,11 +515,11 @@
515
515
  }
516
516
 
517
517
  .fitContWidth {
518
- width: fit-content;
519
- width: -moz-fit-content;
518
+ width: fit-content ;
519
+ width: undefined ;
520
520
  }
521
521
 
522
522
  .fitContHeight {
523
- height: fit-content;
524
- height: -moz-fit-content;
523
+ height: fit-content ;
524
+ height: undefined ;
525
525
  }
@@ -40,8 +40,8 @@
40
40
  .scroll::-webkit-scrollbar-button,
41
41
  .scroll ::-webkit-scrollbar-button {
42
42
  display: none;
43
- width: 0;
44
- height: 0;
43
+ width: 0 ;
44
+ height: 0 ;
45
45
  }
46
46
  [dir=ltr] .scroll::-webkit-scrollbar-track:vertical, [dir=ltr] .scroll ::-webkit-scrollbar-track:vertical {
47
47
  border-left: 1px solid transparent;
@@ -5,7 +5,7 @@
5
5
  cursor: not-allowed;
6
6
  }
7
7
  .container {
8
- max-height: 120px;
8
+ max-height: var(--zd_size120) ;
9
9
  composes: oflowy from '../common/common.module.css';
10
10
  }
11
11
  .hasBorder {
@@ -41,37 +41,37 @@
41
41
  border-bottom-color: var(--zdt_advancedmultiselect_dark_active_border);
42
42
  }
43
43
  [dir=ltr] .container.medium {
44
- padding: 0 34px 7px 0;
44
+ padding: 0 var(--zd_size34) var(--zd_size7) 0 ;
45
45
  }
46
46
  [dir=rtl] .container.medium {
47
- padding: 0 0 7px 34px;
47
+ padding: 0 0 var(--zd_size7) var(--zd_size34) ;
48
48
  }
49
49
  .container.xmedium {
50
- min-height: 30px;
50
+ min-height: var(--zd_size30) ;
51
51
  }
52
52
  [dir=ltr] .container.xmedium {
53
- padding: 0 34px 1px 0;
53
+ padding: 0 var(--zd_size34) var(--zd_size1) 0 ;
54
54
  }
55
55
  [dir=rtl] .container.xmedium {
56
- padding: 0 0 1px 34px;
56
+ padding: 0 0 var(--zd_size1) var(--zd_size34) ;
57
57
  }
58
58
 
59
59
  .delete {
60
60
  position: absolute;
61
- bottom: 0;
61
+ bottom: 0 ;
62
62
  color: var(--zdt_advancedmultiselect_delete_text);
63
- padding-bottom: 10px;
63
+ padding-bottom: var(--zd_size10) ;
64
64
  cursor: pointer;
65
65
  background-color: var(--zdt_advancedmultiselect_delete_bg);
66
66
  border: 0;
67
67
  }
68
68
 
69
69
  [dir=ltr] .delete {
70
- right: 15px;
70
+ right: var(--zd_size15) ;
71
71
  }
72
72
 
73
73
  [dir=rtl] .delete {
74
- left: 15px;
74
+ left: var(--zd_size15) ;
75
75
  }
76
76
 
77
77
  .delete:hover {
@@ -91,25 +91,25 @@
91
91
  }
92
92
 
93
93
  .small {
94
- max-height: 200px;
94
+ max-height: var(--zd_size200) ;
95
95
  }
96
96
 
97
97
  .medium {
98
- max-height: 350px;
98
+ max-height: var(--zd_size350) ;
99
99
  }
100
100
 
101
101
  .large {
102
- max-height: 400px;
102
+ max-height: var(--zd_size400) ;
103
103
  }
104
104
 
105
105
  .dropContainer {
106
106
  display: inline-block;
107
- max-width: 100%;
108
- margin-bottom: 5px;
107
+ max-width: 100% ;
108
+ margin-bottom: var(--zd_size5) ;
109
109
  }
110
110
 
111
111
  .dropPopup {
112
- font-size: 13px;
112
+ font-size: var(--zd_font_size13) ;
113
113
  }
114
114
 
115
115
  .dropPopup :global .toggleDropIcon {
@@ -117,11 +117,11 @@
117
117
  }
118
118
 
119
119
  .more {
120
- font-size: 14px;
120
+ font-size: var(--zd_font_size14) ;
121
121
  color: var(--zdt_advancedmultiselect_more_text);
122
122
  font-family: inherit;
123
123
  cursor: pointer;
124
- margin-top: 5px;
124
+ margin-top: var(--zd_size5) ;
125
125
  background-color: var(--zdt_advancedmultiselect_delete_bg);
126
126
  border: 0;
127
127
  }
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { 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 {
@@ -28,20 +28,23 @@ export default class PortalLayer extends React.Component {
28
28
  this.updateState = this.updateState.bind(this);
29
29
  this.getState = this.getState.bind(this);
30
30
  }
31
+
31
32
  componentDidUpdate(prevProps) {
32
33
  let {
33
- isActive
34
- } = this.props,
35
- {
36
- isActive: prevActive
37
- } = prevProps;
34
+ isActive
35
+ } = this.props,
36
+ {
37
+ isActive: prevActive
38
+ } = prevProps;
38
39
  isActive = Boolean(isActive), prevActive = Boolean(prevActive);
40
+
39
41
  if (typeof isActive !== 'undefined' && isActive != prevActive && Boolean(this.state.isOpen) != isActive) {
40
42
  this.setState({
41
43
  isOpen: isActive
42
44
  });
43
45
  }
44
46
  }
47
+
45
48
  updateState(alertState) {
46
49
  if (typeof alertState === 'boolean') {
47
50
  this.setState({
@@ -51,9 +54,11 @@ export default class PortalLayer extends React.Component {
51
54
  this.setState(alertState);
52
55
  }
53
56
  }
57
+
54
58
  getState() {
55
59
  return Object.keys(this.state).length == 1 ? this.state.isOpen : this.state;
56
60
  }
61
+
57
62
  componentDidMount() {
58
63
  let {
59
64
  saveUpdateFunction,
@@ -63,19 +68,20 @@ export default class PortalLayer extends React.Component {
63
68
  saveUpdateFunction && saveUpdateFunction(this.updateState, name);
64
69
  saveGetFunction && saveGetFunction(this.getState, name);
65
70
  }
71
+
66
72
  render() {
67
73
  let {
68
- children,
69
- renderChildren,
70
- portalId,
71
- autoZIndexNeeded,
72
- isChildrenRestrictionNeeded
73
- } = this.props,
74
- {
75
- isOpen = false
76
- } = this.state;
74
+ children,
75
+ renderChildren,
76
+ portalId,
77
+ autoZIndexNeeded,
78
+ isChildrenRestrictionNeeded
79
+ } = this.props,
80
+ {
81
+ isOpen = false
82
+ } = this.state;
77
83
  let Element = children && children.type,
78
- elementProps = children && children.props;
84
+ elementProps = children && children.props;
79
85
  return /*#__PURE__*/React.createElement(Modal, {
80
86
  autoZIndexNeeded: autoZIndexNeeded,
81
87
  portalId: portalId,
@@ -88,11 +94,10 @@ export default class PortalLayer extends React.Component {
88
94
  isActive: isOpen
89
95
  }));
90
96
  }
97
+
91
98
  }
92
99
  PortalLayer.defaultProps = defaultProps;
93
- PortalLayer.propTypes = propTypes;
94
-
95
- // if (__DOCS__) {
100
+ PortalLayer.propTypes = propTypes; // if (__DOCS__) {
96
101
  // PortalLayer.docs = {
97
102
  // componentGroup: 'Atom',
98
103
  // 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,
@@ -43,14 +44,15 @@ export default class Button extends React.Component {
43
44
  disabled: disabled,
44
45
  ref: ref,
45
46
  "data-id": dataId,
47
+ "data-test-id": dataId,
46
48
  onClick: onClick,
47
49
  "data-title": title
48
50
  }, children ? children : text);
49
51
  }
52
+
50
53
  }
51
54
  Button.defaultProps = defaultProps;
52
- Button.propTypes = propTypes;
53
- // if (__DOCS__) {
55
+ Button.propTypes = propTypes; // if (__DOCS__) {
54
56
  // Button.docs = {
55
57
  // componentGroup: 'semantic',
56
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
  }
@@ -9,6 +9,10 @@ export const getTotalDimension = (elem, align) => {
9
9
  const style = window.getComputedStyle(elem);
10
10
  return align === 'vertical' ? elem.offsetWidth + parseDecimal(style.marginLeft) + parseDecimal(style.marginRight) : elem.offsetHeight + parseDecimal(style.marginTop) + parseDecimal(style.marginBottom);
11
11
  };
12
+ export function stopPropagation(e) {
13
+ e && e.stopPropagation && e.stopPropagation();
14
+ }
15
+ ;
12
16
  export const stopAllEventPropagation = e => {
13
17
  e.stopPropagation && e.stopPropagation();
14
18
  e.nativeEvent && e.nativeEvent.stopImmediatePropagation && e.nativeEvent.stopImmediatePropagation();
@@ -16,9 +20,7 @@ export const stopAllEventPropagation = e => {
16
20
  export function cancelBubblingEffect(e) {
17
21
  e && e.stopPropagation && e.stopPropagation();
18
22
  e && e.nativeEvent && e.nativeEvent.stopImmediatePropagation && e.nativeEvent.stopImmediatePropagation();
19
- }
20
-
21
- // export function getCommentsDetails(
23
+ } // export function getCommentsDetails(
22
24
  // commentIds = [],
23
25
  // comments = {},
24
26
  // agents = {}
@@ -41,6 +43,7 @@ export function encodeForHtml(str) {
41
43
  str = str.replace(/\\/g, '\');
42
44
  str = str.replace(/'/g, ''');
43
45
  }
46
+
44
47
  return str;
45
48
  }
46
49
  export function getListOfDetails() {
@@ -52,6 +55,7 @@ export function getListOfDetails() {
52
55
  export function capitalize() {
53
56
  let value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
54
57
  let newValue = '';
58
+
55
59
  for (let i = 0; i < value.length; i++) {
56
60
  if (i == 0) {
57
61
  newValue += value[i].toUpperCase();
@@ -59,12 +63,14 @@ export function capitalize() {
59
63
  newValue += value[i].toLowerCase();
60
64
  }
61
65
  }
66
+
62
67
  return newValue;
63
68
  }
64
69
  export function bind() {
65
70
  for (var _len = arguments.length, handlers = new Array(_len), _key = 0; _key < _len; _key++) {
66
71
  handlers[_key] = arguments[_key];
67
72
  }
73
+
68
74
  handlers.forEach(handler => {
69
75
  this[handler] = this[handler].bind(this);
70
76
  });
@@ -73,12 +79,15 @@ export function getFullName() {
73
79
  let firstName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
74
80
  let lastName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
75
81
  let fullName = '';
82
+
76
83
  if (firstName !== null && firstName !== '') {
77
84
  fullName = firstName;
78
85
  }
86
+
79
87
  if (lastName !== null && lastName !== '') {
80
88
  fullName = `${fullName}${lastName}`;
81
89
  }
90
+
82
91
  return fullName;
83
92
  }
84
93
  export function getStringifiedOutputForJson() {
@@ -86,6 +95,7 @@ export function getStringifiedOutputForJson() {
86
95
  const keys = Object.keys(input);
87
96
  const modifiedInput = keys.reduce((curr, next) => {
88
97
  const values = input[next] || [];
98
+
89
99
  if (values.length) {
90
100
  const valueList = values.reduce((curr, next) => {
91
101
  curr.push(next.id);
@@ -94,6 +104,7 @@ export function getStringifiedOutputForJson() {
94
104
  curr[next] = valueList;
95
105
  return curr;
96
106
  }
107
+
97
108
  return curr;
98
109
  }, {});
99
110
  return JSON.stringify(modifiedInput);
@@ -109,6 +120,7 @@ export function filterValue(obj, val) {
109
120
  const ids = obj ? Object.keys(obj) : [];
110
121
  ids.forEach(key => {
111
122
  const value = obj[key] || {};
123
+
112
124
  if (value.name === val && !value.isCustomField) {
113
125
  result = value.id;
114
126
  }
@@ -130,34 +142,42 @@ export function formatValue() {
130
142
  let textField = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'name';
131
143
  return values && values.map(value => {
132
144
  let formattedValue = value;
145
+
133
146
  if (typeof value === 'string' || typeof value === 'number') {
134
147
  formattedValue = {};
135
148
  formattedValue[valueField] = value;
136
149
  formattedValue[textField] = value;
137
150
  }
151
+
138
152
  return formattedValue;
139
153
  }) || [];
140
154
  }
141
155
  export function bytesToSize(bytes) {
142
156
  bytes = parseInt(bytes, 10);
143
157
  const sizes = ['B', 'KB', 'MB', 'GB', 'TB'];
158
+
144
159
  if (bytes === 0) {
145
160
  return '0 Byte';
146
161
  }
162
+
147
163
  const i = parseInt(Math.floor(Math.log(bytes) / Math.log(1024)), 10);
148
164
  return `${Math.round(bytes / Math.pow(1024, i), 2)} ${sizes[i]}`;
149
165
  }
150
166
  export function getMemSize(bytes) {
151
167
  let size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !0;
152
168
  const thresh = size ? 1000 : 1024;
169
+
153
170
  if (Math.abs(bytes) < thresh) {
154
171
  return `${bytes} B`;
155
172
  }
173
+
156
174
  let units = size ? ['kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'] : ['KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB'],
157
- i = -1;
175
+ i = -1;
176
+
158
177
  do {
159
178
  bytes /= thresh, ++i;
160
179
  } while (Math.abs(bytes) >= thresh && i < units.length - 1);
180
+
161
181
  {
162
182
  return `${bytes.toFixed(1)} ${units[i]}`;
163
183
  }
@@ -166,18 +186,24 @@ export function checkIsImageFile(fileName) {
166
186
  fileName = fileName || '';
167
187
  return /jpeg|jpg|png|gif|bmp|tiff|tif|ico/gi.test(fileName.substr(fileName.lastIndexOf('.') + 1));
168
188
  }
189
+
169
190
  function getI18NValue(key, values) {
170
191
  if (typeof i18n === 'undefined' || key === '' || typeof key === 'undefined') {
171
192
  return key;
172
193
  }
194
+
173
195
  let i18nStr = i18n[key];
196
+
174
197
  if (i18nStr === undefined) {
175
198
  return key;
176
199
  }
200
+
177
201
  i18nStr = replaceI18NValuesWithRegex(i18nStr, values);
178
202
  return unescapeUnicode(i18nStr);
179
203
  }
204
+
180
205
  global.getI18NValue = getI18NValue;
206
+
181
207
  function replaceI18NValuesWithRegex(i18nStr, values) {
182
208
  if (typeof values !== 'undefined') {
183
209
  if (Array.isArray(values)) {
@@ -188,22 +214,27 @@ function replaceI18NValuesWithRegex(i18nStr, values) {
188
214
  i18nStr = i18nStr.replace(new RegExp('\\{0\\}', 'g'), values);
189
215
  }
190
216
  }
217
+
191
218
  return i18nStr;
192
219
  }
220
+
193
221
  function unescapeUnicode(str) {
194
222
  return str.replace(/\\u([a-fA-F0-9]{4})/g, (g, m1) => String.fromCharCode(parseInt(m1, 16)));
195
223
  }
224
+
196
225
  export function getPortalName(portalList, portalId) {
197
226
  return portalList && portalList.reduce((res, portal) => {
198
227
  if (portal.orgId === portalId) {
199
228
  return portal.orgName;
200
229
  }
230
+
201
231
  return res;
202
232
  }, null);
203
233
  }
204
234
  export function getFullDateString(fullDateObj) {
205
235
  let dateStr = '';
206
236
  const monthArr = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
237
+
207
238
  if (fullDateObj.toDateString() == new Date().toDateString()) {
208
239
  dateStr = format12Hour(fullDateObj);
209
240
  } else {
@@ -213,6 +244,7 @@ export function getFullDateString(fullDateObj) {
213
244
  const time = format12Hour(fullDateObj);
214
245
  dateStr = `${month} ${date} ${year} ${time}`;
215
246
  }
247
+
216
248
  return dateStr;
217
249
  }
218
250
  export function format12Hour(date) {
@@ -221,6 +253,7 @@ export function format12Hour(date) {
221
253
  const ampm = hours >= 12 ? 'pm' : 'am';
222
254
  hours %= 12;
223
255
  hours = hours ? hours : 12; // the hour '0' should be '12'
256
+
224
257
  minutes = minutes < 10 ? `0${minutes}` : minutes;
225
258
  const strTime = `${hours}:${minutes} ${ampm}`;
226
259
  return strTime;
@@ -228,6 +261,7 @@ export function format12Hour(date) {
228
261
  export function getDateOnly(fullDateObj) {
229
262
  let dateStr = '';
230
263
  const monthArr = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
264
+
231
265
  if (fullDateObj.toDateString() == new Date().toDateString()) {
232
266
  dateStr = 'Today';
233
267
  } else {
@@ -236,6 +270,7 @@ export function getDateOnly(fullDateObj) {
236
270
  const date = fullDateObj.getDate();
237
271
  dateStr = `${month} ${date} ${year}`;
238
272
  }
273
+
239
274
  return dateStr;
240
275
  }
241
276
  export function doAfterScrollEnd(element, callback) {
@@ -249,6 +284,7 @@ export function doAfterScrollEnd(element, callback) {
249
284
  scrollHeight
250
285
  } = element;
251
286
  const scrollPercent = scrollTop / (scrollHeight - clientHeight) * 100;
287
+
252
288
  if (scrollPercent > 80) {
253
289
  callback && callback();
254
290
  }
@@ -265,9 +301,11 @@ export const throttle = function (func, wait) {
265
301
  for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
266
302
  args[_key2 - 2] = arguments[_key2];
267
303
  }
304
+
268
305
  if (timerId) {
269
306
  return;
270
307
  }
308
+
271
309
  timerId = setTimeout(() => {
272
310
  try {
273
311
  func(...args);
@@ -280,6 +318,7 @@ export const scrollTo = function (suggestionContainer, selSuggestion) {
280
318
  if (!suggestionContainer || !selSuggestion) {
281
319
  return;
282
320
  }
321
+
283
322
  const {
284
323
  rectGap
285
324
  } = frameRelativeRects(selSuggestion, suggestionContainer) || {};
@@ -287,9 +326,11 @@ export const scrollTo = function (suggestionContainer, selSuggestion) {
287
326
  top = 0,
288
327
  bottom = 0
289
328
  } = rectGap || {};
329
+
290
330
  if (top < 0 && bottom < 0) {
291
331
  return;
292
332
  }
333
+
293
334
  const isElementInViewPort = top < 0 || bottom < 0 ? false : true;
294
335
  const suggestionContainerScrollTop = suggestionContainer.scrollTop;
295
336
  suggestionContainer.scrollTop = !isElementInViewPort ? bottom < 0 ? suggestionContainer.scrollTop + Math.abs(bottom) : top < 0 ? suggestionContainer.scrollTop - Math.abs(top) : suggestionContainerScrollTop : suggestionContainerScrollTop;
@@ -301,17 +342,21 @@ export function remConvert(val) {
301
342
  }
302
343
  export function isDescendant(parent, child) {
303
344
  let node = child.parentNode;
345
+
304
346
  while (node !== null) {
305
347
  if (node === parent) {
306
348
  return true;
307
349
  }
350
+
308
351
  node = node.parentNode;
309
352
  }
353
+
310
354
  return false;
311
355
  }
312
356
  export function getElementSpace(elementRef) {
313
357
  let neededSpace = 0,
314
- availableInsideSpace = 0;
358
+ availableInsideSpace = 0;
359
+
315
360
  if (elementRef) {
316
361
  let getStyle = window.getComputedStyle(elementRef);
317
362
  let margin = parseFloat(getStyle.marginLeft) + parseFloat(getStyle.marginRight);
@@ -320,6 +365,7 @@ export function getElementSpace(elementRef) {
320
365
  neededSpace = width + margin;
321
366
  availableInsideSpace = width - padding;
322
367
  }
368
+
323
369
  return {
324
370
  neededSpace: neededSpace,
325
371
  availableInsideSpace: availableInsideSpace
@@ -329,7 +375,6 @@ export function getSearchString() {
329
375
  let charachers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
330
376
  return (charachers || '').toString().toLowerCase(); //.replace(/\s+/g, '');
331
377
  }
332
-
333
378
  export function findScrollEnd(element) {
334
379
  let {
335
380
  scrollHeight,
@@ -338,26 +383,30 @@ export function findScrollEnd(element) {
338
383
  clientHeight
339
384
  } = element || {};
340
385
  let isElementScrollable = scrollHeight > clientHeight;
386
+
341
387
  if (isElementScrollable) {
342
388
  if (scrollHeight <= Math.ceil(scrollTop + offsetHeight)) {
343
389
  return true;
344
390
  }
345
- }
346
- // else {
347
-
391
+ } // else {
348
392
  // throw 'Is scroll not present in this element';
349
393
  // }
394
+
395
+
350
396
  return false;
351
397
  }
352
398
  export function isTextSelected() {
353
399
  let selectedText = '';
400
+
354
401
  if (window.getSelection) {
355
402
  selectedText = window.getSelection().toString();
356
403
  } else if (document.getSelection) {
357
404
  selectedText = document.getSelection().toString();
358
405
  }
406
+
359
407
  if (selectedText !== '') {
360
408
  return true;
361
409
  }
410
+
362
411
  return false;
363
412
  }