@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
@@ -32,38 +32,55 @@ exports.mapValues = mapValues;
32
32
  exports.merge = merge;
33
33
  exports.parseDecimal = void 0;
34
34
  exports.remConvert = remConvert;
35
- exports.throttle = exports.stopAllEventPropagation = exports.scrollTo = void 0;
35
+ exports.stopAllEventPropagation = exports.scrollTo = void 0;
36
+ exports.stopPropagation = stopPropagation;
37
+ exports.throttle = void 0;
38
+
36
39
  var _viewPort = _interopRequireDefault(require("../Popup/viewPort"));
40
+
37
41
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
38
- //$Id$//
39
42
 
43
+ //$Id$//
40
44
  var frameRelativeRects = _viewPort["default"].frameRelativeRects;
45
+
41
46
  var cs = function cs(classArr) {
42
47
  return classArr.filter(function (name) {
43
48
  return name;
44
49
  }).join(' ');
45
50
  };
51
+
46
52
  exports.cs = cs;
53
+
47
54
  var parseDecimal = function parseDecimal(val) {
48
55
  return val ? parseFloat(val) : 0;
49
56
  };
57
+
50
58
  exports.parseDecimal = parseDecimal;
59
+
51
60
  var getTotalDimension = function getTotalDimension(elem, align) {
52
61
  var style = window.getComputedStyle(elem);
53
62
  return align === 'vertical' ? elem.offsetWidth + parseDecimal(style.marginLeft) + parseDecimal(style.marginRight) : elem.offsetHeight + parseDecimal(style.marginTop) + parseDecimal(style.marginBottom);
54
63
  };
64
+
55
65
  exports.getTotalDimension = getTotalDimension;
66
+
67
+ function stopPropagation(e) {
68
+ e && e.stopPropagation && e.stopPropagation();
69
+ }
70
+
71
+ ;
72
+
56
73
  var stopAllEventPropagation = function stopAllEventPropagation(e) {
57
74
  e.stopPropagation && e.stopPropagation();
58
75
  e.nativeEvent && e.nativeEvent.stopImmediatePropagation && e.nativeEvent.stopImmediatePropagation();
59
76
  };
77
+
60
78
  exports.stopAllEventPropagation = stopAllEventPropagation;
79
+
61
80
  function cancelBubblingEffect(e) {
62
81
  e && e.stopPropagation && e.stopPropagation();
63
82
  e && e.nativeEvent && e.nativeEvent.stopImmediatePropagation && e.nativeEvent.stopImmediatePropagation();
64
- }
65
-
66
- // export function getCommentsDetails(
83
+ } // export function getCommentsDetails(
67
84
  // commentIds = [],
68
85
  // comments = {},
69
86
  // agents = {}
@@ -77,6 +94,7 @@ function cancelBubblingEffect(e) {
77
94
  // );
78
95
  // }
79
96
 
97
+
80
98
  function encodeForHtml(str) {
81
99
  if (/<|>|&|"|'|\\/g.test(str) == true) {
82
100
  str = str.replace(/&/g, '&amp;');
@@ -86,8 +104,10 @@ function encodeForHtml(str) {
86
104
  str = str.replace(/\\/g, '&#x5c;');
87
105
  str = str.replace(/'/g, '&#39;');
88
106
  }
107
+
89
108
  return str;
90
109
  }
110
+
91
111
  function getListOfDetails() {
92
112
  var Obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
93
113
  var fn = arguments.length > 1 ? arguments[1] : undefined;
@@ -96,9 +116,11 @@ function getListOfDetails() {
96
116
  return fn(Obj[id]);
97
117
  });
98
118
  }
119
+
99
120
  function capitalize() {
100
121
  var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
101
122
  var newValue = '';
123
+
102
124
  for (var i = 0; i < value.length; i++) {
103
125
  if (i == 0) {
104
126
  newValue += value[i].toUpperCase();
@@ -106,34 +128,44 @@ function capitalize() {
106
128
  newValue += value[i].toLowerCase();
107
129
  }
108
130
  }
131
+
109
132
  return newValue;
110
133
  }
134
+
111
135
  function bind() {
112
136
  var _this = this;
137
+
113
138
  for (var _len = arguments.length, handlers = new Array(_len), _key = 0; _key < _len; _key++) {
114
139
  handlers[_key] = arguments[_key];
115
140
  }
141
+
116
142
  handlers.forEach(function (handler) {
117
143
  _this[handler] = _this[handler].bind(_this);
118
144
  });
119
145
  }
146
+
120
147
  function getFullName() {
121
148
  var firstName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
122
149
  var lastName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
123
150
  var fullName = '';
151
+
124
152
  if (firstName !== null && firstName !== '') {
125
153
  fullName = firstName;
126
154
  }
155
+
127
156
  if (lastName !== null && lastName !== '') {
128
157
  fullName = "".concat(fullName).concat(lastName);
129
158
  }
159
+
130
160
  return fullName;
131
161
  }
162
+
132
163
  function getStringifiedOutputForJson() {
133
164
  var input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
134
165
  var keys = Object.keys(input);
135
166
  var modifiedInput = keys.reduce(function (curr, next) {
136
167
  var values = input[next] || [];
168
+
137
169
  if (values.length) {
138
170
  var valueList = values.reduce(function (curr, next) {
139
171
  curr.push(next.id);
@@ -142,27 +174,32 @@ function getStringifiedOutputForJson() {
142
174
  curr[next] = valueList;
143
175
  return curr;
144
176
  }
177
+
145
178
  return curr;
146
179
  }, {});
147
180
  return JSON.stringify(modifiedInput);
148
181
  }
182
+
149
183
  function mapValues(obj, fn) {
150
184
  return obj && Object.keys(obj).reduce(function (res, key) {
151
185
  res[key] = fn(key, obj[key]);
152
186
  return res;
153
187
  }, {}) || obj;
154
188
  }
189
+
155
190
  function filterValue(obj, val) {
156
191
  var result;
157
192
  var ids = obj ? Object.keys(obj) : [];
158
193
  ids.forEach(function (key) {
159
194
  var value = obj[key] || {};
195
+
160
196
  if (value.name === val && !value.isCustomField) {
161
197
  result = value.id;
162
198
  }
163
199
  });
164
200
  return result;
165
201
  }
202
+
166
203
  function merge() {
167
204
  var oldObj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
168
205
  var newObj = arguments.length > 1 ? arguments[1] : undefined;
@@ -172,60 +209,78 @@ function merge() {
172
209
  return res;
173
210
  }, copyOfOld);
174
211
  }
212
+
175
213
  function formatValue() {
176
214
  var values = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
177
215
  var valueField = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'id';
178
216
  var textField = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'name';
179
217
  return values && values.map(function (value) {
180
218
  var formattedValue = value;
219
+
181
220
  if (typeof value === 'string' || typeof value === 'number') {
182
221
  formattedValue = {};
183
222
  formattedValue[valueField] = value;
184
223
  formattedValue[textField] = value;
185
224
  }
225
+
186
226
  return formattedValue;
187
227
  }) || [];
188
228
  }
229
+
189
230
  function bytesToSize(bytes) {
190
231
  bytes = parseInt(bytes, 10);
191
232
  var sizes = ['B', 'KB', 'MB', 'GB', 'TB'];
233
+
192
234
  if (bytes === 0) {
193
235
  return '0 Byte';
194
236
  }
237
+
195
238
  var i = parseInt(Math.floor(Math.log(bytes) / Math.log(1024)), 10);
196
239
  return "".concat(Math.round(bytes / Math.pow(1024, i), 2), " ").concat(sizes[i]);
197
240
  }
241
+
198
242
  function getMemSize(bytes) {
199
243
  var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !0;
200
244
  var thresh = size ? 1000 : 1024;
245
+
201
246
  if (Math.abs(bytes) < thresh) {
202
247
  return "".concat(bytes, " B");
203
248
  }
249
+
204
250
  var units = size ? ['kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'] : ['KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB'],
205
- i = -1;
251
+ i = -1;
252
+
206
253
  do {
207
254
  bytes /= thresh, ++i;
208
255
  } while (Math.abs(bytes) >= thresh && i < units.length - 1);
256
+
209
257
  {
210
258
  return "".concat(bytes.toFixed(1), " ").concat(units[i]);
211
259
  }
212
260
  }
261
+
213
262
  function checkIsImageFile(fileName) {
214
263
  fileName = fileName || '';
215
264
  return /jpeg|jpg|png|gif|bmp|tiff|tif|ico/gi.test(fileName.substr(fileName.lastIndexOf('.') + 1));
216
265
  }
266
+
217
267
  function getI18NValue(key, values) {
218
268
  if (typeof i18n === 'undefined' || key === '' || typeof key === 'undefined') {
219
269
  return key;
220
270
  }
271
+
221
272
  var i18nStr = i18n[key];
273
+
222
274
  if (i18nStr === undefined) {
223
275
  return key;
224
276
  }
277
+
225
278
  i18nStr = replaceI18NValuesWithRegex(i18nStr, values);
226
279
  return unescapeUnicode(i18nStr);
227
280
  }
281
+
228
282
  global.getI18NValue = getI18NValue;
283
+
229
284
  function replaceI18NValuesWithRegex(i18nStr, values) {
230
285
  if (typeof values !== 'undefined') {
231
286
  if (Array.isArray(values)) {
@@ -236,24 +291,30 @@ function replaceI18NValuesWithRegex(i18nStr, values) {
236
291
  i18nStr = i18nStr.replace(new RegExp('\\{0\\}', 'g'), values);
237
292
  }
238
293
  }
294
+
239
295
  return i18nStr;
240
296
  }
297
+
241
298
  function unescapeUnicode(str) {
242
299
  return str.replace(/\\u([a-fA-F0-9]{4})/g, function (g, m1) {
243
300
  return String.fromCharCode(parseInt(m1, 16));
244
301
  });
245
302
  }
303
+
246
304
  function getPortalName(portalList, portalId) {
247
305
  return portalList && portalList.reduce(function (res, portal) {
248
306
  if (portal.orgId === portalId) {
249
307
  return portal.orgName;
250
308
  }
309
+
251
310
  return res;
252
311
  }, null);
253
312
  }
313
+
254
314
  function getFullDateString(fullDateObj) {
255
315
  var dateStr = '';
256
316
  var monthArr = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
317
+
257
318
  if (fullDateObj.toDateString() == new Date().toDateString()) {
258
319
  dateStr = format12Hour(fullDateObj);
259
320
  } else {
@@ -263,21 +324,26 @@ function getFullDateString(fullDateObj) {
263
324
  var time = format12Hour(fullDateObj);
264
325
  dateStr = "".concat(month, " ").concat(date, " ").concat(year, " ").concat(time);
265
326
  }
327
+
266
328
  return dateStr;
267
329
  }
330
+
268
331
  function format12Hour(date) {
269
332
  var hours = date.getHours();
270
333
  var minutes = date.getMinutes();
271
334
  var ampm = hours >= 12 ? 'pm' : 'am';
272
335
  hours %= 12;
273
336
  hours = hours ? hours : 12; // the hour '0' should be '12'
337
+
274
338
  minutes = minutes < 10 ? "0".concat(minutes) : minutes;
275
339
  var strTime = "".concat(hours, ":").concat(minutes, " ").concat(ampm);
276
340
  return strTime;
277
341
  }
342
+
278
343
  function getDateOnly(fullDateObj) {
279
344
  var dateStr = '';
280
345
  var monthArr = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
346
+
281
347
  if (fullDateObj.toDateString() == new Date().toDateString()) {
282
348
  dateStr = 'Today';
283
349
  } else {
@@ -286,17 +352,21 @@ function getDateOnly(fullDateObj) {
286
352
  var date = fullDateObj.getDate();
287
353
  dateStr = "".concat(month, " ").concat(date, " ").concat(year);
288
354
  }
355
+
289
356
  return dateStr;
290
357
  }
358
+
291
359
  function doAfterScrollEnd(element, callback) {
292
360
  var scrollTop = element.scrollTop;
293
361
  var clientHeight = element.clientHeight;
294
362
  var scrollHeight = element.scrollHeight;
295
363
  var scrollPercent = scrollTop / (scrollHeight - clientHeight) * 100;
364
+
296
365
  if (scrollPercent > 80) {
297
366
  callback && callback();
298
367
  }
299
368
  }
369
+
300
370
  var debounce = function debounce(func, wait) {
301
371
  var interval;
302
372
  return function (e) {
@@ -304,15 +374,19 @@ var debounce = function debounce(func, wait) {
304
374
  interval = setTimeout(func.bind(undefined, e), wait);
305
375
  };
306
376
  };
377
+
307
378
  exports.debounce = debounce;
308
379
  var timerId;
380
+
309
381
  var throttle = function throttle(func, wait) {
310
382
  for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
311
383
  args[_key2 - 2] = arguments[_key2];
312
384
  }
385
+
313
386
  if (timerId) {
314
387
  return;
315
388
  }
389
+
316
390
  timerId = setTimeout(function () {
317
391
  try {
318
392
  func.apply(void 0, args);
@@ -321,47 +395,63 @@ var throttle = function throttle(func, wait) {
321
395
  }
322
396
  }, wait);
323
397
  };
398
+
324
399
  exports.throttle = throttle;
400
+
325
401
  var scrollTo = function scrollTo(suggestionContainer, selSuggestion) {
326
402
  if (!suggestionContainer || !selSuggestion) {
327
403
  return;
328
404
  }
405
+
329
406
  var _ref = frameRelativeRects(selSuggestion, suggestionContainer) || {},
330
- rectGap = _ref.rectGap;
407
+ rectGap = _ref.rectGap;
408
+
331
409
  var _ref2 = rectGap || {},
332
- _ref2$top = _ref2.top,
333
- top = _ref2$top === void 0 ? 0 : _ref2$top,
334
- _ref2$bottom = _ref2.bottom,
335
- bottom = _ref2$bottom === void 0 ? 0 : _ref2$bottom;
410
+ _ref2$top = _ref2.top,
411
+ top = _ref2$top === void 0 ? 0 : _ref2$top,
412
+ _ref2$bottom = _ref2.bottom,
413
+ bottom = _ref2$bottom === void 0 ? 0 : _ref2$bottom;
414
+
336
415
  if (top < 0 && bottom < 0) {
337
416
  return;
338
417
  }
418
+
339
419
  var isElementInViewPort = top < 0 || bottom < 0 ? false : true;
340
420
  var suggestionContainerScrollTop = suggestionContainer.scrollTop;
341
421
  suggestionContainer.scrollTop = !isElementInViewPort ? bottom < 0 ? suggestionContainer.scrollTop + Math.abs(bottom) : top < 0 ? suggestionContainer.scrollTop - Math.abs(top) : suggestionContainerScrollTop : suggestionContainerScrollTop;
342
422
  };
423
+
343
424
  exports.scrollTo = scrollTo;
425
+
344
426
  var getIsEmptyValue = function getIsEmptyValue(value) {
345
427
  return typeof value === 'string' ? value.trim() ? false : true : value === 0 || value ? false : true;
346
428
  };
429
+
347
430
  exports.getIsEmptyValue = getIsEmptyValue;
431
+
348
432
  function remConvert(val) {
349
433
  var baseValue = parseFloat(window.getComputedStyle(document.body).getPropertyValue('font-size')).toFixed(4);
350
434
  return (val / baseValue).toPrecision(4);
351
435
  }
436
+
352
437
  function isDescendant(parent, child) {
353
438
  var node = child.parentNode;
439
+
354
440
  while (node !== null) {
355
441
  if (node === parent) {
356
442
  return true;
357
443
  }
444
+
358
445
  node = node.parentNode;
359
446
  }
447
+
360
448
  return false;
361
449
  }
450
+
362
451
  function getElementSpace(elementRef) {
363
452
  var neededSpace = 0,
364
- availableInsideSpace = 0;
453
+ availableInsideSpace = 0;
454
+
365
455
  if (elementRef) {
366
456
  var getStyle = window.getComputedStyle(elementRef);
367
457
  var margin = parseFloat(getStyle.marginLeft) + parseFloat(getStyle.marginRight);
@@ -370,11 +460,13 @@ function getElementSpace(elementRef) {
370
460
  neededSpace = width + margin;
371
461
  availableInsideSpace = width - padding;
372
462
  }
463
+
373
464
  return {
374
465
  neededSpace: neededSpace,
375
466
  availableInsideSpace: availableInsideSpace
376
467
  };
377
468
  }
469
+
378
470
  function getSearchString() {
379
471
  var charachers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
380
472
  return (charachers || '').toString().toLowerCase(); //.replace(/\s+/g, '');
@@ -382,31 +474,37 @@ function getSearchString() {
382
474
 
383
475
  function findScrollEnd(element) {
384
476
  var _ref3 = element || {},
385
- scrollHeight = _ref3.scrollHeight,
386
- scrollTop = _ref3.scrollTop,
387
- offsetHeight = _ref3.offsetHeight,
388
- clientHeight = _ref3.clientHeight;
477
+ scrollHeight = _ref3.scrollHeight,
478
+ scrollTop = _ref3.scrollTop,
479
+ offsetHeight = _ref3.offsetHeight,
480
+ clientHeight = _ref3.clientHeight;
481
+
389
482
  var isElementScrollable = scrollHeight > clientHeight;
483
+
390
484
  if (isElementScrollable) {
391
485
  if (scrollHeight <= Math.ceil(scrollTop + offsetHeight)) {
392
486
  return true;
393
487
  }
394
- }
395
- // else {
396
-
488
+ } // else {
397
489
  // throw 'Is scroll not present in this element';
398
490
  // }
491
+
492
+
399
493
  return false;
400
494
  }
495
+
401
496
  function isTextSelected() {
402
497
  var selectedText = '';
498
+
403
499
  if (window.getSelection) {
404
500
  selectedText = window.getSelection().toString();
405
501
  } else if (document.getSelection) {
406
502
  selectedText = document.getSelection().toString();
407
503
  }
504
+
408
505
  if (selectedText !== '') {
409
506
  return true;
410
507
  }
508
+
411
509
  return false;
412
510
  }
@@ -4,38 +4,44 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.ContextOptimizer = ContextOptimizer;
7
+
7
8
  var _react = require("react");
9
+
8
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
9
12
  var _shallowEqual = _interopRequireDefault(require("./shallowEqual"));
13
+
10
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
- /** ** Libraries *** */
12
15
 
16
+ /** ** Libraries *** */
13
17
  // Please use this component with children as inline function for force this components rerender when parent rerender regardless of reason
14
18
  // Because below componends only rerender when children or calculation are changed, unless no changes will update below
15
-
16
19
  // this component logic based on return same children reference to stop rerender.
17
20
  // Think before change logic
18
-
19
21
  // eslint-disable-next-line import/prefer-default-export
20
22
  function ContextOptimizer(props) {
21
23
  var Context = props.Context,
22
- renderF = props.children,
23
- calculation = props.calculation;
24
+ renderF = props.children,
25
+ calculation = props.calculation;
24
26
  var contextData = (0, _react.useContext)(Context);
25
27
  var data = calculation(contextData);
28
+
26
29
  var _useRef = (0, _react.useRef)({
27
- children: null,
28
- data: null,
29
- renderF: null
30
- }),
31
- local = _useRef.current;
30
+ children: null,
31
+ data: null,
32
+ renderF: null
33
+ }),
34
+ local = _useRef.current;
35
+
32
36
  if (!(0, _shallowEqual["default"])(data, local.data) || local.renderF !== renderF) {
33
37
  local.children = renderF(data);
34
38
  local.data = data;
35
39
  local.renderF = renderF;
36
40
  }
41
+
37
42
  return local.children;
38
43
  }
44
+
39
45
  ContextOptimizer.propTypes = {
40
46
  calculation: _propTypes["default"].func.isRequired,
41
47
  children: _propTypes["default"].func.isRequired,
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  var _constructFullName = require("../constructFullName");
4
+
4
5
  describe('constructFullName specification', function () {
5
6
  it('firstname, lastname pattern', function () {
6
7
  expect((0, _constructFullName.constructFullNameByPattern)('A', 'Vimalesan', ['FIRST_NAME', 'LAST_NAME'])).toEqual('A Vimalesan');
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  var _debounce = require("../debounce");
4
+
4
5
  describe('debounce specification', function () {
5
6
  beforeEach(function () {
6
7
  jest.useFakeTimers();
@@ -8,8 +9,8 @@ describe('debounce specification', function () {
8
9
  it('should call immediate', function () {
9
10
  var mockfn = jest.fn();
10
11
  var dMockfn = (0, _debounce.debounce)(mockfn, 1000, true);
11
- dMockfn();
12
- //expect(setTimeout).toHaveBeenCalledTimes(1);
12
+ dMockfn(); //expect(setTimeout).toHaveBeenCalledTimes(1);
13
+
13
14
  expect(mockfn.mock.calls.length).toBe(1);
14
15
  });
15
16
  it('should call two times but it invoke multiple times', function () {
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  var _getInitial = require("../getInitial");
4
+
4
5
  describe('getInitial specification', function () {
5
6
  it('first name alone', function () {
6
7
  expect((0, _getInitial.getInitial)('vimalesan')).toEqual('V');
@@ -4,19 +4,28 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.constructFullNameByPattern = constructFullNameByPattern;
7
+
7
8
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
9
+
8
10
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
11
+
9
12
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
10
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
11
- function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
13
+
14
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
15
+
16
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
17
+
12
18
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
19
+
13
20
  function constructFullName(firstName, lastName) {
14
21
  return "".concat(firstName ? "".concat(firstName).concat(lastName ? ' ' : '') : '').concat(lastName ? lastName : '');
15
22
  }
23
+
16
24
  function constructFullNameByPattern(firstName, lastName, namePattern) {
17
25
  var _namePattern = _slicedToArray(namePattern, 2),
18
- name0 = _namePattern[0],
19
- name1 = _namePattern[1];
26
+ name0 = _namePattern[0],
27
+ name1 = _namePattern[1];
28
+
20
29
  if (name0 === 'FIRST_NAME' && name1 === 'LAST_NAME') {
21
30
  return constructFullName(firstName, lastName);
22
31
  } else if (name0 === 'LAST_NAME' && name1 === 'FIRST_NAME') {
@@ -4,10 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = compileClassNames;
7
+
7
8
  var _utils = require("./utils");
9
+
8
10
  var collectClassNames = function collectClassNames(processedClassNameList) {
9
11
  for (var index = 0; index < (arguments.length <= 1 ? 0 : arguments.length - 1); index++) {
10
12
  var classInfo = index + 1 < 1 || arguments.length <= index + 1 ? undefined : arguments[index + 1];
13
+
11
14
  if (!classInfo) {
12
15
  continue;
13
16
  } else if ((0, _utils.isDataTypeOf)(classInfo, _utils.dataTypes.object)) {
@@ -19,11 +22,14 @@ var collectClassNames = function collectClassNames(processedClassNameList) {
19
22
  }
20
23
  }
21
24
  };
25
+
22
26
  function compileClassNames() {
23
27
  var resultClassNameList = [];
28
+
24
29
  for (var _len = arguments.length, classinfoList = new Array(_len), _key = 0; _key < _len; _key++) {
25
30
  classinfoList[_key] = arguments[_key];
26
31
  }
32
+
27
33
  collectClassNames.apply(void 0, [resultClassNameList].concat(classinfoList));
28
34
  return resultClassNameList.filter(function (a) {
29
35
  return a !== '';