@zohodesk/components 1.0.0-alpha-271 → 1.0.0-alpha-273

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 (436) hide show
  1. package/README.md +8 -0
  2. package/es/Accordion/Accordion.js +7 -3
  3. package/es/Accordion/AccordionItem.js +4 -2
  4. package/es/Animation/Animation.js +3 -3
  5. package/es/AppContainer/AppContainer.js +13 -5
  6. package/es/AppContainer/AppContainer.module.css +2 -2
  7. package/es/Avatar/Avatar.js +23 -11
  8. package/es/Avatar/Avatar.module.css +18 -18
  9. package/es/AvatarTeam/AvatarTeam.js +3 -3
  10. package/es/AvatarTeam/AvatarTeam.module.css +35 -35
  11. package/es/Button/Button.js +4 -3
  12. package/es/Button/css/Button.module.css +70 -70
  13. package/es/Buttongroup/Buttongroup.js +3 -3
  14. package/es/Buttongroup/Buttongroup.module.css +14 -15
  15. package/es/Card/Card.js +21 -10
  16. package/es/CheckBox/CheckBox.js +5 -3
  17. package/es/CheckBox/CheckBox.module.css +15 -15
  18. package/es/DateTime/CalendarView.js +32 -20
  19. package/es/DateTime/DateTime.js +75 -10
  20. package/es/DateTime/DateTime.module.css +39 -39
  21. package/es/DateTime/DateTimePopupFooter.js +4 -2
  22. package/es/DateTime/DateTimePopupHeader.js +8 -2
  23. package/es/DateTime/DateWidget.js +98 -35
  24. package/es/DateTime/DateWidget.module.css +5 -5
  25. package/es/DateTime/DaysRow.js +4 -2
  26. package/es/DateTime/Time.js +10 -2
  27. package/es/DateTime/YearView.js +28 -4
  28. package/es/DateTime/YearView.module.css +15 -15
  29. package/es/DateTime/__tests__/CalendarView.spec.js +1 -0
  30. package/es/DateTime/__tests__/DateTime.spec.js +1 -0
  31. package/es/DateTime/__tests__/DateWidget.spec.js +2 -3
  32. package/es/DateTime/common.js +3 -0
  33. package/es/DateTime/constants.js +1 -0
  34. package/es/DateTime/dateFormatUtils/dateFormat.js +63 -30
  35. package/es/DateTime/dateFormatUtils/dateFormats.js +0 -1
  36. package/es/DateTime/dateFormatUtils/dayChange.js +13 -4
  37. package/es/DateTime/dateFormatUtils/index.js +32 -2
  38. package/es/DateTime/dateFormatUtils/monthChange.js +8 -0
  39. package/es/DateTime/dateFormatUtils/timeChange.js +22 -6
  40. package/es/DateTime/dateFormatUtils/yearChange.js +11 -2
  41. package/es/DateTime/objectUtils.js +14 -20
  42. package/es/DateTime/props/defaultProps.js +2 -1
  43. package/es/DateTime/typeChecker.js +3 -0
  44. package/es/DateTime/validator.js +58 -6
  45. package/es/DropBox/DropBox.js +6 -2
  46. package/es/DropBox/DropBoxElement/DropBoxElement.js +7 -0
  47. package/es/DropBox/DropBoxElement/css/DropBoxElement.module.css +76 -76
  48. package/es/DropBox/DropBoxElement/css/cssJSLogic.js +5 -3
  49. package/es/DropBox/DropBoxElement/useDropboxPosCalc.js +3 -0
  50. package/es/DropBox/css/DropBox.module.css +6 -6
  51. package/es/DropBox/props/defaultProps.js +1 -2
  52. package/es/DropBox/props/propTypes.js +1 -2
  53. package/es/DropDown/DropDown.js +8 -4
  54. package/es/DropDown/DropDown.module.css +2 -2
  55. package/es/DropDown/DropDownHeading.js +4 -5
  56. package/es/DropDown/DropDownHeading.module.css +6 -6
  57. package/es/DropDown/DropDownItem.js +6 -0
  58. package/es/DropDown/DropDownItem.module.css +12 -12
  59. package/es/DropDown/DropDownSearch.js +4 -0
  60. package/es/DropDown/DropDownSearch.module.css +3 -3
  61. package/es/DropDown/DropDownSeparator.js +1 -0
  62. package/es/DropDown/DropDownSeparator.module.css +2 -2
  63. package/es/DropDown/__tests__/DropDown.spec.js +1 -2
  64. package/es/Heading/Heading.js +2 -3
  65. package/es/Heading/Heading.module.css +2 -2
  66. package/es/Label/Label.js +2 -3
  67. package/es/Label/Label.module.css +5 -5
  68. package/es/Layout/Box.js +13 -0
  69. package/es/Layout/Container.js +12 -1
  70. package/es/Layout/Layout.module.css +15 -15
  71. package/es/Layout/index.js +1 -2
  72. package/es/ListItem/ListContainer.js +8 -3
  73. package/es/ListItem/ListItem.js +9 -3
  74. package/es/ListItem/ListItem.module.css +38 -38
  75. package/es/ListItem/ListItemWithAvatar.js +9 -3
  76. package/es/ListItem/ListItemWithCheckBox.js +7 -2
  77. package/es/ListItem/ListItemWithIcon.js +8 -3
  78. package/es/ListItem/ListItemWithRadio.js +7 -3
  79. package/es/Modal/Modal.js +28 -11
  80. package/es/MultiSelect/AdvancedGroupMultiSelect.js +89 -13
  81. package/es/MultiSelect/AdvancedMultiSelect.js +32 -9
  82. package/es/MultiSelect/EmptyState.js +2 -0
  83. package/es/MultiSelect/MultiSelect.js +99 -32
  84. package/es/MultiSelect/MultiSelect.module.css +31 -31
  85. package/es/MultiSelect/MultiSelectHeader.js +3 -0
  86. package/es/MultiSelect/MultiSelectWithAvatar.js +12 -6
  87. package/es/MultiSelect/SelectedOptions.js +6 -3
  88. package/es/MultiSelect/SelectedOptions.module.css +5 -5
  89. package/es/MultiSelect/Suggestions.js +7 -3
  90. package/es/MultiSelect/__tests__/MultiSelect.spec.js +4 -6
  91. package/es/MultiSelect/props/propTypes.js +2 -0
  92. package/es/PopOver/PopOver.js +18 -2
  93. package/es/PopOver/__tests__/PopOver.spec.js +2 -1
  94. package/es/Popup/Popup.js +77 -24
  95. package/es/Popup/__tests__/Popup.spec.js +17 -5
  96. package/es/Popup/viewPort.js +16 -4
  97. package/es/Provider/IdProvider.js +10 -5
  98. package/es/Provider/LibraryContext.js +6 -4
  99. package/es/Provider/NumberGenerator/NumberGenerator.js +21 -7
  100. package/es/Provider/ZindexProvider.js +9 -2
  101. package/es/Radio/Radio.js +4 -2
  102. package/es/Radio/Radio.module.css +9 -9
  103. package/es/Responsive/CustomResponsive.js +30 -18
  104. package/es/Responsive/RefWrapper.js +6 -7
  105. package/es/Responsive/ResizeComponent.js +35 -25
  106. package/es/Responsive/ResizeObserver.js +26 -6
  107. package/es/Responsive/Responsive.js +34 -20
  108. package/es/Responsive/index.js +1 -3
  109. package/es/Responsive/sizeObservers.js +28 -7
  110. package/es/Responsive/utils/index.js +7 -5
  111. package/es/Responsive/utils/shallowCompare.js +7 -2
  112. package/es/Responsive/windowResizeObserver.js +7 -0
  113. package/es/ResponsiveDropBox/ResponsiveDropBox.js +4 -0
  114. package/es/ResponsiveDropBox/ResponsiveDropBox.module.css +2 -2
  115. package/es/Ribbon/Ribbon.js +3 -2
  116. package/es/Ribbon/Ribbon.module.css +46 -48
  117. package/es/RippleEffect/RippleEffect.js +1 -3
  118. package/es/Select/GroupSelect.js +58 -14
  119. package/es/Select/Select.js +79 -33
  120. package/es/Select/Select.module.css +23 -23
  121. package/es/Select/SelectWithAvatar.js +17 -4
  122. package/es/Select/SelectWithIcon.js +46 -5
  123. package/es/Select/__tests__/Select.spec.js +6 -8
  124. package/es/Select/props/propTypes.js +1 -0
  125. package/es/Stencils/Stencils.js +3 -3
  126. package/es/Stencils/Stencils.module.css +11 -11
  127. package/es/Switch/Switch.js +5 -3
  128. package/es/Switch/Switch.module.css +23 -23
  129. package/es/Tab/Tab.js +4 -4
  130. package/es/Tab/Tab.module.css +14 -14
  131. package/es/Tab/TabContent.js +1 -0
  132. package/es/Tab/TabContentWrapper.js +2 -0
  133. package/es/Tab/TabWrapper.js +5 -2
  134. package/es/Tab/Tabs.js +54 -7
  135. package/es/Tab/Tabs.module.css +22 -22
  136. package/es/Tab/__tests__/Tab.spec.js +1 -3
  137. package/es/Tab/__tests__/TabWrapper.spec.js +1 -0
  138. package/es/Tag/Tag.js +6 -3
  139. package/es/Tag/Tag.module.css +25 -25
  140. package/es/TextBox/TextBox.js +15 -3
  141. package/es/TextBox/TextBox.module.css +9 -9
  142. package/es/TextBox/__tests__/TextBox.spec.js +1 -4
  143. package/es/TextBoxIcon/TextBoxIcon.js +9 -2
  144. package/es/TextBoxIcon/TextBoxIcon.module.css +7 -7
  145. package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +2 -7
  146. package/es/Textarea/Textarea.js +12 -3
  147. package/es/Textarea/Textarea.module.css +21 -21
  148. package/es/Textarea/__tests__/Textarea.spec.js +2 -2
  149. package/es/Tooltip/Tooltip.js +58 -14
  150. package/es/Tooltip/Tooltip.module.css +5 -5
  151. package/es/Tooltip/__tests__/Tooltip.spec.js +5 -0
  152. package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +3 -2
  153. package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +7 -5
  154. package/es/common/animation.module.css +8 -8
  155. package/es/common/avatarsizes.module.css +16 -16
  156. package/es/common/basicReset.module.css +3 -3
  157. package/es/common/common.module.css +24 -24
  158. package/es/common/customscroll.module.css +2 -2
  159. package/es/deprecated/AdvancedMultiSelect.module.css +18 -18
  160. package/es/deprecated/PortalLayer/PortalLayer.js +25 -20
  161. package/es/semantic/Button/Button.js +3 -2
  162. package/es/semantic/Button/semanticButton.module.css +1 -1
  163. package/es/utils/Common.js +54 -9
  164. package/es/utils/ContextOptimizer.js +4 -5
  165. package/es/utils/__tests__/debounce.spec.js +2 -2
  166. package/es/utils/constructFullName.js +2 -0
  167. package/es/utils/css/compileClassNames.js +5 -0
  168. package/es/utils/css/mergeStyle.js +7 -6
  169. package/es/utils/css/utils.js +1 -0
  170. package/es/utils/datetime/GMTZones.js +48 -0
  171. package/es/utils/datetime/common.js +31 -7
  172. package/es/utils/debounce.js +5 -1
  173. package/es/utils/dropDownUtils.js +68 -11
  174. package/es/utils/getInitial.js +4 -0
  175. package/es/utils/shallowEqual.js +6 -0
  176. package/lib/Accordion/Accordion.js +42 -18
  177. package/lib/Accordion/AccordionItem.js +40 -18
  178. package/lib/Accordion/__tests__/Accordion.spec.js +3 -0
  179. package/lib/Accordion/index.js +3 -0
  180. package/lib/Accordion/props/propTypes.js +3 -0
  181. package/lib/Animation/Animation.js +38 -18
  182. package/lib/Animation/__tests__/Animation.spec.js +11 -7
  183. package/lib/Animation/props/propTypes.js +3 -0
  184. package/lib/AppContainer/AppContainer.js +56 -21
  185. package/lib/AppContainer/AppContainer.module.css +2 -2
  186. package/lib/AppContainer/props/propTypes.js +3 -0
  187. package/lib/Avatar/Avatar.js +78 -38
  188. package/lib/Avatar/Avatar.module.css +18 -18
  189. package/lib/Avatar/__tests__/Avatar.spec.js +44 -0
  190. package/lib/Avatar/props/propTypes.js +3 -0
  191. package/lib/AvatarTeam/AvatarTeam.js +52 -30
  192. package/lib/AvatarTeam/AvatarTeam.module.css +35 -35
  193. package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +13 -0
  194. package/lib/AvatarTeam/props/propTypes.js +3 -0
  195. package/lib/Button/Button.js +31 -20
  196. package/lib/Button/css/Button.module.css +70 -70
  197. package/lib/Button/css/cssJSLogic.js +18 -17
  198. package/lib/Button/index.js +3 -0
  199. package/lib/Button/props/defaultProps.js +2 -0
  200. package/lib/Button/props/propTypes.js +3 -0
  201. package/lib/Buttongroup/Buttongroup.js +32 -12
  202. package/lib/Buttongroup/Buttongroup.module.css +14 -15
  203. package/lib/Buttongroup/__test__/Buttongroup.spec.js +10 -0
  204. package/lib/Buttongroup/props/propTypes.js +3 -0
  205. package/lib/Card/Card.js +102 -46
  206. package/lib/Card/__tests__/Card.spec.js +10 -1
  207. package/lib/Card/index.js +4 -0
  208. package/lib/Card/props/propTypes.js +3 -0
  209. package/lib/CheckBox/CheckBox.js +71 -47
  210. package/lib/CheckBox/CheckBox.module.css +15 -15
  211. package/lib/CheckBox/__tests__/CheckBox.spec.js +3 -0
  212. package/lib/CheckBox/props/propTypes.js +3 -0
  213. package/lib/DateTime/CalendarView.js +82 -42
  214. package/lib/DateTime/DateTime.js +246 -158
  215. package/lib/DateTime/DateTime.module.css +39 -39
  216. package/lib/DateTime/DateTimePopupFooter.js +31 -8
  217. package/lib/DateTime/DateTimePopupHeader.js +48 -17
  218. package/lib/DateTime/DateWidget.js +352 -250
  219. package/lib/DateTime/DateWidget.module.css +5 -5
  220. package/lib/DateTime/DaysRow.js +27 -5
  221. package/lib/DateTime/Time.js +73 -32
  222. package/lib/DateTime/YearView.js +77 -28
  223. package/lib/DateTime/YearView.module.css +15 -15
  224. package/lib/DateTime/__tests__/CalendarView.spec.js +13 -5
  225. package/lib/DateTime/__tests__/DateTime.spec.js +51 -37
  226. package/lib/DateTime/__tests__/DateWidget.spec.js +10 -8
  227. package/lib/DateTime/common.js +6 -0
  228. package/lib/DateTime/constants.js +1 -0
  229. package/lib/DateTime/dateFormatUtils/dateFormat.js +184 -122
  230. package/lib/DateTime/dateFormatUtils/dateFormats.js +0 -1
  231. package/lib/DateTime/dateFormatUtils/dayChange.js +14 -7
  232. package/lib/DateTime/dateFormatUtils/index.js +74 -16
  233. package/lib/DateTime/dateFormatUtils/monthChange.js +19 -9
  234. package/lib/DateTime/dateFormatUtils/timeChange.js +54 -22
  235. package/lib/DateTime/dateFormatUtils/yearChange.js +22 -11
  236. package/lib/DateTime/index.js +2 -0
  237. package/lib/DateTime/objectUtils.js +24 -20
  238. package/lib/DateTime/props/defaultProps.js +2 -1
  239. package/lib/DateTime/props/propTypes.js +11 -1
  240. package/lib/DateTime/typeChecker.js +4 -0
  241. package/lib/DateTime/validator.js +73 -10
  242. package/lib/DropBox/DropBox.js +34 -10
  243. package/lib/DropBox/DropBoxElement/DropBoxElement.js +59 -38
  244. package/lib/DropBox/DropBoxElement/css/DropBoxElement.module.css +76 -76
  245. package/lib/DropBox/DropBoxElement/css/cssJSLogic.js +42 -34
  246. package/lib/DropBox/DropBoxElement/props/propTypes.js +3 -0
  247. package/lib/DropBox/DropBoxElement/useDropboxPosCalc.js +14 -9
  248. package/lib/DropBox/__tests__/DropBox.spec.js +6 -2
  249. package/lib/DropBox/css/DropBox.module.css +6 -6
  250. package/lib/DropBox/css/cssJSLogic.js +3 -1
  251. package/lib/DropBox/props/defaultProps.js +8 -4
  252. package/lib/DropBox/props/propTypes.js +10 -4
  253. package/lib/DropDown/DropDown.js +52 -8
  254. package/lib/DropDown/DropDown.module.css +2 -2
  255. package/lib/DropDown/DropDownHeading.js +39 -20
  256. package/lib/DropDown/DropDownHeading.module.css +6 -6
  257. package/lib/DropDown/DropDownItem.js +42 -20
  258. package/lib/DropDown/DropDownItem.module.css +12 -12
  259. package/lib/DropDown/DropDownSearch.js +40 -17
  260. package/lib/DropDown/DropDownSearch.module.css +3 -3
  261. package/lib/DropDown/DropDownSeparator.js +24 -4
  262. package/lib/DropDown/DropDownSeparator.module.css +2 -2
  263. package/lib/DropDown/__tests__/DropDown.spec.js +15 -9
  264. package/lib/DropDown/__tests__/DropDownItem.spec.js +9 -4
  265. package/lib/DropDown/__tests__/DropDownSearch.spec.js +3 -0
  266. package/lib/DropDown/index.js +9 -0
  267. package/lib/DropDown/props/propTypes.js +6 -4
  268. package/lib/Heading/Heading.js +37 -15
  269. package/lib/Heading/Heading.module.css +2 -2
  270. package/lib/Heading/props/propTypes.js +3 -0
  271. package/lib/Label/Label.js +39 -19
  272. package/lib/Label/Label.module.css +5 -5
  273. package/lib/Label/__tests__/Label.spec.js +14 -1
  274. package/lib/Label/props/propTypes.js +3 -0
  275. package/lib/Layout/Box.js +31 -11
  276. package/lib/Layout/Container.js +29 -10
  277. package/lib/Layout/Layout.module.css +15 -15
  278. package/lib/Layout/__tests__/Box.spec.js +65 -49
  279. package/lib/Layout/__tests__/Container.spec.js +67 -50
  280. package/lib/Layout/index.js +3 -0
  281. package/lib/Layout/props/propTypes.js +3 -0
  282. package/lib/Layout/utils.js +10 -0
  283. package/lib/ListItem/ListContainer.js +48 -27
  284. package/lib/ListItem/ListItem.js +69 -45
  285. package/lib/ListItem/ListItem.module.css +38 -38
  286. package/lib/ListItem/ListItemWithAvatar.js +75 -48
  287. package/lib/ListItem/ListItemWithCheckBox.js +64 -39
  288. package/lib/ListItem/ListItemWithIcon.js +68 -44
  289. package/lib/ListItem/ListItemWithRadio.js +65 -41
  290. package/lib/ListItem/index.js +7 -0
  291. package/lib/ListItem/props/propTypes.js +6 -4
  292. package/lib/Modal/Modal.js +45 -10
  293. package/lib/Modal/props/propTypes.js +3 -0
  294. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +294 -166
  295. package/lib/MultiSelect/AdvancedMultiSelect.js +202 -125
  296. package/lib/MultiSelect/EmptyState.js +45 -24
  297. package/lib/MultiSelect/MultiSelect.js +323 -206
  298. package/lib/MultiSelect/MultiSelect.module.css +31 -31
  299. package/lib/MultiSelect/MultiSelectHeader.js +30 -8
  300. package/lib/MultiSelect/MultiSelectWithAvatar.js +105 -63
  301. package/lib/MultiSelect/SelectedOptions.js +43 -17
  302. package/lib/MultiSelect/SelectedOptions.module.css +5 -5
  303. package/lib/MultiSelect/Suggestions.js +64 -32
  304. package/lib/MultiSelect/__tests__/MultiSelect.spec.js +86 -75
  305. package/lib/MultiSelect/index.js +5 -0
  306. package/lib/MultiSelect/props/defaultProps.js +2 -0
  307. package/lib/MultiSelect/props/propTypes.js +5 -0
  308. package/lib/PopOver/PopOver.js +95 -49
  309. package/lib/PopOver/__tests__/PopOver.spec.js +4 -1
  310. package/lib/PopOver/index.js +4 -0
  311. package/lib/PopOver/props/propTypes.js +3 -0
  312. package/lib/Popup/Popup.js +158 -81
  313. package/lib/Popup/__tests__/Popup.spec.js +43 -8
  314. package/lib/Popup/viewPort.js +28 -14
  315. package/lib/Provider/AvatarSize.js +4 -0
  316. package/lib/Provider/Config.js +2 -0
  317. package/lib/Provider/CssProvider.js +4 -0
  318. package/lib/Provider/IdProvider.js +17 -6
  319. package/lib/Provider/LibraryContext.js +35 -15
  320. package/lib/Provider/LibraryContextInit.js +4 -0
  321. package/lib/Provider/NumberGenerator/NumberGenerator.js +44 -15
  322. package/lib/Provider/ZindexProvider.js +15 -3
  323. package/lib/Provider/index.js +5 -0
  324. package/lib/Radio/Radio.js +61 -38
  325. package/lib/Radio/Radio.module.css +9 -9
  326. package/lib/Radio/__tests__/Radiospec.js +9 -5
  327. package/lib/Radio/props/propTypes.js +3 -0
  328. package/lib/Responsive/CustomResponsive.js +73 -29
  329. package/lib/Responsive/RefWrapper.js +17 -11
  330. package/lib/Responsive/ResizeComponent.js +62 -36
  331. package/lib/Responsive/ResizeObserver.js +24 -10
  332. package/lib/Responsive/Responsive.js +80 -30
  333. package/lib/Responsive/index.js +4 -0
  334. package/lib/Responsive/props/propTypes.js +3 -0
  335. package/lib/Responsive/sizeObservers.js +53 -17
  336. package/lib/Responsive/utils/index.js +11 -3
  337. package/lib/Responsive/utils/shallowCompare.js +11 -2
  338. package/lib/Responsive/windowResizeObserver.js +8 -0
  339. package/lib/ResponsiveDropBox/ResponsiveDropBox.js +45 -17
  340. package/lib/ResponsiveDropBox/ResponsiveDropBox.module.css +2 -2
  341. package/lib/ResponsiveDropBox/props/propTypes.js +3 -0
  342. package/lib/Ribbon/Ribbon.js +33 -13
  343. package/lib/Ribbon/Ribbon.module.css +46 -48
  344. package/lib/Ribbon/__tests__/Ribbon.spec.js +22 -0
  345. package/lib/Ribbon/props/propTypes.js +3 -0
  346. package/lib/RippleEffect/RippleEffect.js +18 -10
  347. package/lib/RippleEffect/props/propTypes.js +3 -0
  348. package/lib/Select/GroupSelect.js +229 -130
  349. package/lib/Select/Select.js +290 -209
  350. package/lib/Select/Select.module.css +23 -23
  351. package/lib/Select/SelectWithAvatar.js +102 -56
  352. package/lib/Select/SelectWithIcon.js +132 -76
  353. package/lib/Select/__tests__/Select.spec.js +133 -91
  354. package/lib/Select/index.js +5 -0
  355. package/lib/Select/props/defaultProps.js +5 -4
  356. package/lib/Select/props/propTypes.js +4 -0
  357. package/lib/Stencils/Stencils.js +29 -10
  358. package/lib/Stencils/Stencils.module.css +11 -11
  359. package/lib/Stencils/__tests__/Stencils.spec.js +12 -0
  360. package/lib/Stencils/props/propTypes.js +3 -0
  361. package/lib/Switch/Switch.js +57 -34
  362. package/lib/Switch/Switch.module.css +23 -23
  363. package/lib/Switch/props/propTypes.js +3 -0
  364. package/lib/Tab/Tab.js +40 -27
  365. package/lib/Tab/Tab.module.css +14 -14
  366. package/lib/Tab/TabContent.js +12 -5
  367. package/lib/Tab/TabContentWrapper.js +13 -6
  368. package/lib/Tab/TabWrapper.js +37 -19
  369. package/lib/Tab/Tabs.js +171 -91
  370. package/lib/Tab/Tabs.module.css +22 -22
  371. package/lib/Tab/__tests__/Tab.spec.js +67 -58
  372. package/lib/Tab/__tests__/TabContent.spec.js +10 -6
  373. package/lib/Tab/__tests__/TabContentWrapper.spec.js +28 -20
  374. package/lib/Tab/__tests__/TabWrapper.spec.js +12 -0
  375. package/lib/Tab/__tests__/Tabs.spec.js +53 -39
  376. package/lib/Tab/index.js +6 -0
  377. package/lib/Tab/props/propTypes.js +3 -0
  378. package/lib/Tag/Tag.js +72 -43
  379. package/lib/Tag/Tag.module.css +25 -25
  380. package/lib/Tag/__tests__/Tag.spec.js +14 -8
  381. package/lib/Tag/props/propTypes.js +3 -0
  382. package/lib/TextBox/TextBox.js +85 -59
  383. package/lib/TextBox/TextBox.module.css +9 -9
  384. package/lib/TextBox/__tests__/TextBox.spec.js +14 -4
  385. package/lib/TextBox/props/propTypes.js +6 -4
  386. package/lib/TextBoxIcon/TextBoxIcon.js +79 -52
  387. package/lib/TextBoxIcon/TextBoxIcon.module.css +7 -7
  388. package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +14 -5
  389. package/lib/TextBoxIcon/props/propTypes.js +3 -0
  390. package/lib/Textarea/Textarea.js +54 -29
  391. package/lib/Textarea/Textarea.module.css +21 -21
  392. package/lib/Textarea/__tests__/Textarea.spec.js +14 -2
  393. package/lib/Textarea/props/propTypes.js +3 -0
  394. package/lib/Tooltip/Tooltip.js +94 -31
  395. package/lib/Tooltip/Tooltip.module.css +5 -5
  396. package/lib/Tooltip/__tests__/Tooltip.spec.js +24 -3
  397. package/lib/Tooltip/props/propTypes.js +3 -0
  398. package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +40 -16
  399. package/lib/VelocityAnimation/VelocityAnimation/props/propTypes.js +3 -0
  400. package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +53 -25
  401. package/lib/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +3 -0
  402. package/lib/VelocityAnimation/index.js +3 -0
  403. package/lib/common/animation.module.css +8 -8
  404. package/lib/common/avatarsizes.module.css +16 -16
  405. package/lib/common/basicReset.module.css +3 -3
  406. package/lib/common/common.module.css +24 -24
  407. package/lib/common/customscroll.module.css +2 -2
  408. package/lib/css.js +40 -0
  409. package/lib/deprecated/AdvancedMultiSelect.module.css +18 -18
  410. package/lib/deprecated/PortalLayer/PortalLayer.js +46 -23
  411. package/lib/deprecated/PortalLayer/props/propTypes.js +3 -0
  412. package/lib/index.js +57 -0
  413. package/lib/semantic/Button/Button.js +42 -22
  414. package/lib/semantic/Button/props/propTypes.js +3 -0
  415. package/lib/semantic/Button/semanticButton.module.css +1 -1
  416. package/lib/semantic/index.js +2 -0
  417. package/lib/utils/Common.js +110 -18
  418. package/lib/utils/ContextOptimizer.js +16 -10
  419. package/lib/utils/__tests__/constructFullName.spec.js +1 -0
  420. package/lib/utils/__tests__/debounce.spec.js +3 -2
  421. package/lib/utils/__tests__/getInitial.spec.js +1 -0
  422. package/lib/utils/constructFullName.js +13 -4
  423. package/lib/utils/css/compileClassNames.js +6 -0
  424. package/lib/utils/css/mergeStyle.js +10 -7
  425. package/lib/utils/css/utils.js +8 -0
  426. package/lib/utils/datetime/GMTZones.js +55 -0
  427. package/lib/utils/datetime/common.js +52 -7
  428. package/lib/utils/debounce.js +6 -1
  429. package/lib/utils/dropDownUtils.js +175 -59
  430. package/lib/utils/dummyFunction.js +2 -0
  431. package/lib/utils/getHTMLFontSize.js +1 -0
  432. package/lib/utils/getInitial.js +6 -0
  433. package/lib/utils/index.js +4 -0
  434. package/lib/utils/scrollTo.js +2 -0
  435. package/lib/utils/shallowEqual.js +8 -0
  436. package/package.json +10 -19
@@ -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,
@@ -47,10 +48,10 @@ export default class Button extends React.Component {
47
48
  "data-title": title
48
49
  }, children ? children : text);
49
50
  }
51
+
50
52
  }
51
53
  Button.defaultProps = defaultProps;
52
- Button.propTypes = propTypes;
53
- // if (__DOCS__) {
54
+ Button.propTypes = propTypes; // if (__DOCS__) {
54
55
  // Button.docs = {
55
56
  // componentGroup: 'semantic',
56
57
  // 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
  }
@@ -20,9 +20,7 @@ export const stopAllEventPropagation = e => {
20
20
  export function cancelBubblingEffect(e) {
21
21
  e && e.stopPropagation && e.stopPropagation();
22
22
  e && e.nativeEvent && e.nativeEvent.stopImmediatePropagation && e.nativeEvent.stopImmediatePropagation();
23
- }
24
-
25
- // export function getCommentsDetails(
23
+ } // export function getCommentsDetails(
26
24
  // commentIds = [],
27
25
  // comments = {},
28
26
  // agents = {}
@@ -45,6 +43,7 @@ export function encodeForHtml(str) {
45
43
  str = str.replace(/\\/g, '\');
46
44
  str = str.replace(/'/g, ''');
47
45
  }
46
+
48
47
  return str;
49
48
  }
50
49
  export function getListOfDetails() {
@@ -56,6 +55,7 @@ export function getListOfDetails() {
56
55
  export function capitalize() {
57
56
  let value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
58
57
  let newValue = '';
58
+
59
59
  for (let i = 0; i < value.length; i++) {
60
60
  if (i == 0) {
61
61
  newValue += value[i].toUpperCase();
@@ -63,12 +63,14 @@ export function capitalize() {
63
63
  newValue += value[i].toLowerCase();
64
64
  }
65
65
  }
66
+
66
67
  return newValue;
67
68
  }
68
69
  export function bind() {
69
70
  for (var _len = arguments.length, handlers = new Array(_len), _key = 0; _key < _len; _key++) {
70
71
  handlers[_key] = arguments[_key];
71
72
  }
73
+
72
74
  handlers.forEach(handler => {
73
75
  this[handler] = this[handler].bind(this);
74
76
  });
@@ -77,12 +79,15 @@ export function getFullName() {
77
79
  let firstName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
78
80
  let lastName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
79
81
  let fullName = '';
82
+
80
83
  if (firstName !== null && firstName !== '') {
81
84
  fullName = firstName;
82
85
  }
86
+
83
87
  if (lastName !== null && lastName !== '') {
84
88
  fullName = `${fullName}${lastName}`;
85
89
  }
90
+
86
91
  return fullName;
87
92
  }
88
93
  export function getStringifiedOutputForJson() {
@@ -90,6 +95,7 @@ export function getStringifiedOutputForJson() {
90
95
  const keys = Object.keys(input);
91
96
  const modifiedInput = keys.reduce((curr, next) => {
92
97
  const values = input[next] || [];
98
+
93
99
  if (values.length) {
94
100
  const valueList = values.reduce((curr, next) => {
95
101
  curr.push(next.id);
@@ -98,6 +104,7 @@ export function getStringifiedOutputForJson() {
98
104
  curr[next] = valueList;
99
105
  return curr;
100
106
  }
107
+
101
108
  return curr;
102
109
  }, {});
103
110
  return JSON.stringify(modifiedInput);
@@ -113,6 +120,7 @@ export function filterValue(obj, val) {
113
120
  const ids = obj ? Object.keys(obj) : [];
114
121
  ids.forEach(key => {
115
122
  const value = obj[key] || {};
123
+
116
124
  if (value.name === val && !value.isCustomField) {
117
125
  result = value.id;
118
126
  }
@@ -134,34 +142,42 @@ export function formatValue() {
134
142
  let textField = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'name';
135
143
  return values && values.map(value => {
136
144
  let formattedValue = value;
145
+
137
146
  if (typeof value === 'string' || typeof value === 'number') {
138
147
  formattedValue = {};
139
148
  formattedValue[valueField] = value;
140
149
  formattedValue[textField] = value;
141
150
  }
151
+
142
152
  return formattedValue;
143
153
  }) || [];
144
154
  }
145
155
  export function bytesToSize(bytes) {
146
156
  bytes = parseInt(bytes, 10);
147
157
  const sizes = ['B', 'KB', 'MB', 'GB', 'TB'];
158
+
148
159
  if (bytes === 0) {
149
160
  return '0 Byte';
150
161
  }
162
+
151
163
  const i = parseInt(Math.floor(Math.log(bytes) / Math.log(1024)), 10);
152
164
  return `${Math.round(bytes / Math.pow(1024, i), 2)} ${sizes[i]}`;
153
165
  }
154
166
  export function getMemSize(bytes) {
155
167
  let size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !0;
156
168
  const thresh = size ? 1000 : 1024;
169
+
157
170
  if (Math.abs(bytes) < thresh) {
158
171
  return `${bytes} B`;
159
172
  }
173
+
160
174
  let units = size ? ['kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'] : ['KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB'],
161
- i = -1;
175
+ i = -1;
176
+
162
177
  do {
163
178
  bytes /= thresh, ++i;
164
179
  } while (Math.abs(bytes) >= thresh && i < units.length - 1);
180
+
165
181
  {
166
182
  return `${bytes.toFixed(1)} ${units[i]}`;
167
183
  }
@@ -170,18 +186,24 @@ export function checkIsImageFile(fileName) {
170
186
  fileName = fileName || '';
171
187
  return /jpeg|jpg|png|gif|bmp|tiff|tif|ico/gi.test(fileName.substr(fileName.lastIndexOf('.') + 1));
172
188
  }
189
+
173
190
  function getI18NValue(key, values) {
174
191
  if (typeof i18n === 'undefined' || key === '' || typeof key === 'undefined') {
175
192
  return key;
176
193
  }
194
+
177
195
  let i18nStr = i18n[key];
196
+
178
197
  if (i18nStr === undefined) {
179
198
  return key;
180
199
  }
200
+
181
201
  i18nStr = replaceI18NValuesWithRegex(i18nStr, values);
182
202
  return unescapeUnicode(i18nStr);
183
203
  }
204
+
184
205
  global.getI18NValue = getI18NValue;
206
+
185
207
  function replaceI18NValuesWithRegex(i18nStr, values) {
186
208
  if (typeof values !== 'undefined') {
187
209
  if (Array.isArray(values)) {
@@ -192,22 +214,27 @@ function replaceI18NValuesWithRegex(i18nStr, values) {
192
214
  i18nStr = i18nStr.replace(new RegExp('\\{0\\}', 'g'), values);
193
215
  }
194
216
  }
217
+
195
218
  return i18nStr;
196
219
  }
220
+
197
221
  function unescapeUnicode(str) {
198
222
  return str.replace(/\\u([a-fA-F0-9]{4})/g, (g, m1) => String.fromCharCode(parseInt(m1, 16)));
199
223
  }
224
+
200
225
  export function getPortalName(portalList, portalId) {
201
226
  return portalList && portalList.reduce((res, portal) => {
202
227
  if (portal.orgId === portalId) {
203
228
  return portal.orgName;
204
229
  }
230
+
205
231
  return res;
206
232
  }, null);
207
233
  }
208
234
  export function getFullDateString(fullDateObj) {
209
235
  let dateStr = '';
210
236
  const monthArr = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
237
+
211
238
  if (fullDateObj.toDateString() == new Date().toDateString()) {
212
239
  dateStr = format12Hour(fullDateObj);
213
240
  } else {
@@ -217,6 +244,7 @@ export function getFullDateString(fullDateObj) {
217
244
  const time = format12Hour(fullDateObj);
218
245
  dateStr = `${month} ${date} ${year} ${time}`;
219
246
  }
247
+
220
248
  return dateStr;
221
249
  }
222
250
  export function format12Hour(date) {
@@ -225,6 +253,7 @@ export function format12Hour(date) {
225
253
  const ampm = hours >= 12 ? 'pm' : 'am';
226
254
  hours %= 12;
227
255
  hours = hours ? hours : 12; // the hour '0' should be '12'
256
+
228
257
  minutes = minutes < 10 ? `0${minutes}` : minutes;
229
258
  const strTime = `${hours}:${minutes} ${ampm}`;
230
259
  return strTime;
@@ -232,6 +261,7 @@ export function format12Hour(date) {
232
261
  export function getDateOnly(fullDateObj) {
233
262
  let dateStr = '';
234
263
  const monthArr = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
264
+
235
265
  if (fullDateObj.toDateString() == new Date().toDateString()) {
236
266
  dateStr = 'Today';
237
267
  } else {
@@ -240,6 +270,7 @@ export function getDateOnly(fullDateObj) {
240
270
  const date = fullDateObj.getDate();
241
271
  dateStr = `${month} ${date} ${year}`;
242
272
  }
273
+
243
274
  return dateStr;
244
275
  }
245
276
  export function doAfterScrollEnd(element, callback) {
@@ -253,6 +284,7 @@ export function doAfterScrollEnd(element, callback) {
253
284
  scrollHeight
254
285
  } = element;
255
286
  const scrollPercent = scrollTop / (scrollHeight - clientHeight) * 100;
287
+
256
288
  if (scrollPercent > 80) {
257
289
  callback && callback();
258
290
  }
@@ -269,9 +301,11 @@ export const throttle = function (func, wait) {
269
301
  for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
270
302
  args[_key2 - 2] = arguments[_key2];
271
303
  }
304
+
272
305
  if (timerId) {
273
306
  return;
274
307
  }
308
+
275
309
  timerId = setTimeout(() => {
276
310
  try {
277
311
  func(...args);
@@ -284,6 +318,7 @@ export const scrollTo = function (suggestionContainer, selSuggestion) {
284
318
  if (!suggestionContainer || !selSuggestion) {
285
319
  return;
286
320
  }
321
+
287
322
  const {
288
323
  rectGap
289
324
  } = frameRelativeRects(selSuggestion, suggestionContainer) || {};
@@ -291,9 +326,11 @@ export const scrollTo = function (suggestionContainer, selSuggestion) {
291
326
  top = 0,
292
327
  bottom = 0
293
328
  } = rectGap || {};
329
+
294
330
  if (top < 0 && bottom < 0) {
295
331
  return;
296
332
  }
333
+
297
334
  const isElementInViewPort = top < 0 || bottom < 0 ? false : true;
298
335
  const suggestionContainerScrollTop = suggestionContainer.scrollTop;
299
336
  suggestionContainer.scrollTop = !isElementInViewPort ? bottom < 0 ? suggestionContainer.scrollTop + Math.abs(bottom) : top < 0 ? suggestionContainer.scrollTop - Math.abs(top) : suggestionContainerScrollTop : suggestionContainerScrollTop;
@@ -305,17 +342,21 @@ export function remConvert(val) {
305
342
  }
306
343
  export function isDescendant(parent, child) {
307
344
  let node = child.parentNode;
345
+
308
346
  while (node !== null) {
309
347
  if (node === parent) {
310
348
  return true;
311
349
  }
350
+
312
351
  node = node.parentNode;
313
352
  }
353
+
314
354
  return false;
315
355
  }
316
356
  export function getElementSpace(elementRef) {
317
357
  let neededSpace = 0,
318
- availableInsideSpace = 0;
358
+ availableInsideSpace = 0;
359
+
319
360
  if (elementRef) {
320
361
  let getStyle = window.getComputedStyle(elementRef);
321
362
  let margin = parseFloat(getStyle.marginLeft) + parseFloat(getStyle.marginRight);
@@ -324,6 +365,7 @@ export function getElementSpace(elementRef) {
324
365
  neededSpace = width + margin;
325
366
  availableInsideSpace = width - padding;
326
367
  }
368
+
327
369
  return {
328
370
  neededSpace: neededSpace,
329
371
  availableInsideSpace: availableInsideSpace
@@ -333,7 +375,6 @@ export function getSearchString() {
333
375
  let charachers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
334
376
  return (charachers || '').toString().toLowerCase(); //.replace(/\s+/g, '');
335
377
  }
336
-
337
378
  export function findScrollEnd(element) {
338
379
  let {
339
380
  scrollHeight,
@@ -342,26 +383,30 @@ export function findScrollEnd(element) {
342
383
  clientHeight
343
384
  } = element || {};
344
385
  let isElementScrollable = scrollHeight > clientHeight;
386
+
345
387
  if (isElementScrollable) {
346
388
  if (scrollHeight <= Math.ceil(scrollTop + offsetHeight)) {
347
389
  return true;
348
390
  }
349
- }
350
- // else {
351
-
391
+ } // else {
352
392
  // throw 'Is scroll not present in this element';
353
393
  // }
394
+
395
+
354
396
  return false;
355
397
  }
356
398
  export function isTextSelected() {
357
399
  let selectedText = '';
400
+
358
401
  if (window.getSelection) {
359
402
  selectedText = window.getSelection().toString();
360
403
  } else if (document.getSelection) {
361
404
  selectedText = document.getSelection().toString();
362
405
  }
406
+
363
407
  if (selectedText !== '') {
364
408
  return true;
365
409
  }
410
+
366
411
  return false;
367
412
  }