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

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 (560) hide show
  1. package/README.md +1237 -1212
  2. package/assets/Appearance/dark/mode/{Component_DarkMode.module.css → darkMode.module.css} +4 -4
  3. package/assets/Appearance/dark/themes/blue/{blue_CTA_DarkModifyCategory.module.css → blueDarkCTAModifyCategory.module.css} +1 -1
  4. package/assets/Appearance/dark/themes/blue/{blue_CTA_DarkTheme.module.css → blueDarkCTATheme.module.css} +2 -3
  5. package/assets/Appearance/dark/themes/blue/blueDarkComponentTheme.module.css +45 -0
  6. package/assets/Appearance/dark/themes/green/{green_CTA_DarkTheme.module.css → greenDarkCTATheme.module.css} +1 -2
  7. package/assets/Appearance/dark/themes/green/greenDarkComponentTheme.module.css +45 -0
  8. package/assets/Appearance/dark/themes/orange/{orange_CTA_DarkTheme.module.css → orangeDarkCTATheme.module.css} +1 -2
  9. package/assets/Appearance/dark/themes/orange/orangeDarkComponentTheme.module.css +45 -0
  10. package/assets/Appearance/dark/themes/red/{red_CTA_DarkTheme.module.css → redDarkCTATheme.module.css} +1 -2
  11. package/assets/Appearance/dark/themes/red/redDarkComponentTheme.module.css +45 -0
  12. package/assets/Appearance/dark/themes/yellow/{yellow_CTA_DarkTheme.module.css → yellowDarkCTATheme.module.css} +1 -2
  13. package/assets/Appearance/dark/themes/yellow/yellowDarkComponentTheme.module.css +45 -0
  14. package/assets/Appearance/{light/mode/Component_LightMode.module.css → default/mode/defaultMode.module.css} +155 -155
  15. package/assets/Appearance/{light/themes/blue/blue_CTA_LightModifyCategory.module.css → default/themes/blue/blueDefaultCTAModifyCategory.module.css} +451 -451
  16. package/assets/Appearance/default/themes/blue/blueDefaultCTATheme.module.css +34 -0
  17. package/assets/Appearance/default/themes/blue/blueDefaultComponentTheme.module.css +45 -0
  18. package/assets/Appearance/{light/themes/green/green_CTA_LightModifyCategory.module.css → default/themes/green/greenDefaultCTAModifyCategory.module.css} +451 -451
  19. package/assets/Appearance/default/themes/green/greenDefaultCTATheme.module.css +34 -0
  20. package/assets/Appearance/default/themes/green/greenDefaultComponentTheme.module.css +45 -0
  21. package/assets/Appearance/{light/themes/orange/orange_CTA_LightModifyCategory.module.css → default/themes/orange/orangeDefaultCTAModifyCategory.module.css} +451 -451
  22. package/assets/Appearance/default/themes/orange/orangeDefaultCTATheme.module.css +34 -0
  23. package/assets/Appearance/default/themes/orange/orangeDefaultComponentTheme.module.css +45 -0
  24. package/assets/Appearance/{light/themes/red/red_CTA_LightModifyCategory.module.css → default/themes/red/redDefaultCTAModifyCategory.module.css} +451 -451
  25. package/assets/Appearance/default/themes/red/redDefaultCTATheme.module.css +34 -0
  26. package/assets/Appearance/default/themes/red/redDefaultComponentTheme.module.css +45 -0
  27. package/assets/Appearance/{light/themes/yellow/yellow_CTA_LightModifyCategory.module.css → default/themes/yellow/yellowDefaultCTAModifyCategory.module.css} +451 -451
  28. package/assets/Appearance/default/themes/yellow/yellowDefaultCTATheme.module.css +34 -0
  29. package/assets/Appearance/default/themes/yellow/yellowDefaultComponentTheme.module.css +45 -0
  30. package/assets/Appearance/pureDark/mode/{Component_PureDarkMode.module.css → pureDarkMode.module.css} +3 -3
  31. package/assets/Appearance/pureDark/themes/blue/{blue_CTA_PureDarkModifyCategory.module.css → bluePureDarkCTAModifyCategory.module.css} +1 -1
  32. package/assets/Appearance/pureDark/themes/blue/{blue_CTA_PureDarkTheme.module.css → bluePureDarkCTATheme.module.css} +2 -3
  33. package/assets/Appearance/pureDark/themes/blue/bluePureDarkComponentTheme.module.css +45 -0
  34. package/assets/Appearance/pureDark/themes/green/{green_CTA_PureDarkTheme.module.css → greenPureDarkCTATheme.module.css} +1 -2
  35. package/assets/Appearance/pureDark/themes/green/greenPureDarkComponentTheme.module.css +45 -0
  36. package/assets/Appearance/pureDark/themes/orange/{orange_CTA_PureDarkTheme.module.css → orangePureDarkCTATheme.module.css} +1 -2
  37. package/assets/Appearance/pureDark/themes/orange/orangePureDarkComponentTheme.module.css +45 -0
  38. package/assets/Appearance/pureDark/themes/red/{red_CTA_PureDarkTheme.module.css → redPureDarkCTATheme.module.css} +1 -2
  39. package/assets/Appearance/pureDark/themes/red/redPureDarkComponentTheme.module.css +45 -0
  40. package/assets/Appearance/pureDark/themes/yellow/{yellow_CTA_PureDarkTheme.module.css → yellowPureDarkCTATheme.module.css} +1 -2
  41. package/assets/Appearance/pureDark/themes/yellow/yellowPureDarkComponentTheme.module.css +45 -0
  42. package/assets/Contrast/defaultContrastLightness.module.css +39 -0
  43. package/es/Accordion/Accordion.js +8 -3
  44. package/es/Accordion/AccordionItem.js +5 -2
  45. package/es/Animation/Animation.js +3 -3
  46. package/es/AppContainer/AppContainer.js +27 -10
  47. package/es/AppContainer/AppContainer.module.css +18 -18
  48. package/es/AppContainer/props/defaultProps.js +2 -1
  49. package/es/AppContainer/props/propTypes.js +1 -0
  50. package/es/Avatar/Avatar.js +35 -20
  51. package/es/Avatar/Avatar.module.css +175 -175
  52. package/es/Avatar/__tests__/__snapshots__/Avatar.spec.js.snap +288 -288
  53. package/es/AvatarTeam/AvatarTeam.js +11 -10
  54. package/es/AvatarTeam/AvatarTeam.module.css +189 -189
  55. package/es/AvatarTeam/__tests__/__snapshots__/AvatarTeam.spec.js.snap +226 -226
  56. package/es/Button/Button.js +9 -7
  57. package/es/Button/css/Button.module.css +525 -525
  58. package/es/Buttongroup/Buttongroup.js +5 -4
  59. package/es/Buttongroup/Buttongroup.module.css +105 -106
  60. package/es/Buttongroup/__test__/__snapshots__/Buttongroup.spec.js.snap +146 -146
  61. package/es/Card/Card.js +25 -14
  62. package/es/Card/Card.module.css +20 -20
  63. package/es/CheckBox/CheckBox.js +5 -3
  64. package/es/CheckBox/CheckBox.module.css +157 -157
  65. package/es/DateTime/CalendarView.js +33 -20
  66. package/es/DateTime/DateTime.js +78 -11
  67. package/es/DateTime/DateTime.module.css +235 -235
  68. package/es/DateTime/DateTimePopupFooter.js +4 -2
  69. package/es/DateTime/DateTimePopupHeader.js +8 -2
  70. package/es/DateTime/DateWidget.js +100 -35
  71. package/es/DateTime/DateWidget.module.css +38 -38
  72. package/es/DateTime/DaysRow.js +4 -2
  73. package/es/DateTime/Time.js +10 -2
  74. package/es/DateTime/YearView.js +28 -4
  75. package/es/DateTime/YearView.module.css +98 -98
  76. package/es/DateTime/__tests__/CalendarView.spec.js +1 -0
  77. package/es/DateTime/__tests__/DateTime.spec.js +1 -0
  78. package/es/DateTime/__tests__/DateWidget.spec.js +2 -3
  79. package/es/DateTime/common.js +3 -0
  80. package/es/DateTime/constants.js +1 -0
  81. package/es/DateTime/dateFormatUtils/dateFormat.js +63 -30
  82. package/es/DateTime/dateFormatUtils/dateFormats.js +0 -1
  83. package/es/DateTime/dateFormatUtils/dayChange.js +13 -4
  84. package/es/DateTime/dateFormatUtils/index.js +32 -2
  85. package/es/DateTime/dateFormatUtils/monthChange.js +8 -0
  86. package/es/DateTime/dateFormatUtils/timeChange.js +22 -6
  87. package/es/DateTime/dateFormatUtils/yearChange.js +11 -2
  88. package/es/DateTime/index.js +0 -0
  89. package/es/DateTime/objectUtils.js +14 -20
  90. package/es/DateTime/props/defaultProps.js +2 -1
  91. package/es/DateTime/typeChecker.js +3 -0
  92. package/es/DateTime/validator.js +58 -6
  93. package/es/DropBox/DropBox.js +9 -5
  94. package/es/DropBox/DropBoxElement/DropBoxElement.js +18 -6
  95. package/es/DropBox/DropBoxElement/css/DropBoxElement.module.css +434 -428
  96. package/es/DropBox/DropBoxElement/css/cssJSLogic.js +6 -4
  97. package/es/DropBox/DropBoxElement/props/propTypes.js +1 -1
  98. package/es/DropBox/DropBoxElement/useDropboxPosCalc.js +3 -0
  99. package/es/DropBox/DropBoxPositionMapping.json +144 -144
  100. package/es/DropBox/__tests__/DropBox.spec.js +2 -2
  101. package/es/DropBox/css/DropBox.module.css +58 -58
  102. package/es/DropBox/props/defaultProps.js +1 -2
  103. package/es/DropBox/props/propTypes.js +1 -2
  104. package/es/DropDown/DropDown.js +10 -5
  105. package/es/DropDown/DropDown.module.css +5 -5
  106. package/es/DropDown/DropDownHeading.js +5 -5
  107. package/es/DropDown/DropDownHeading.module.css +53 -53
  108. package/es/DropDown/DropDownItem.js +8 -1
  109. package/es/DropDown/DropDownItem.module.css +94 -94
  110. package/es/DropDown/DropDownSearch.js +4 -0
  111. package/es/DropDown/DropDownSearch.module.css +14 -14
  112. package/es/DropDown/DropDownSeparator.js +1 -0
  113. package/es/DropDown/DropDownSeparator.module.css +7 -7
  114. package/es/DropDown/__tests__/DropDown.spec.js +1 -2
  115. package/es/Heading/Heading.js +3 -3
  116. package/es/Heading/Heading.module.css +4 -4
  117. package/es/Label/Label.js +12 -7
  118. package/es/Label/Label.module.css +52 -52
  119. package/es/Label/LabelColors.module.css +20 -20
  120. package/es/Label/__tests__/__snapshots__/Label.spec.js.snap +101 -101
  121. package/es/Label/props/propTypes.js +4 -1
  122. package/es/Layout/Box.js +17 -3
  123. package/es/Layout/Container.js +16 -4
  124. package/es/Layout/Layout.module.css +335 -335
  125. package/es/Layout/index.js +1 -2
  126. package/es/Layout/props/defaultProps.js +2 -0
  127. package/es/Layout/props/propTypes.js +2 -0
  128. package/es/Layout/utils.js +5 -1
  129. package/es/ListItem/ListContainer.js +8 -3
  130. package/es/ListItem/ListItem.js +9 -3
  131. package/es/ListItem/ListItem.module.css +216 -216
  132. package/es/ListItem/ListItemWithAvatar.js +9 -3
  133. package/es/ListItem/ListItemWithCheckBox.js +7 -2
  134. package/es/ListItem/ListItemWithIcon.js +8 -3
  135. package/es/ListItem/ListItemWithRadio.js +7 -3
  136. package/es/Modal/Modal.js +28 -11
  137. package/es/MultiSelect/AdvancedGroupMultiSelect.js +95 -18
  138. package/es/MultiSelect/AdvancedMultiSelect.js +33 -9
  139. package/es/MultiSelect/EmptyState.js +6 -0
  140. package/es/MultiSelect/MultiSelect.js +105 -37
  141. package/es/MultiSelect/MultiSelect.module.css +206 -206
  142. package/es/MultiSelect/MultiSelectHeader.js +3 -0
  143. package/es/MultiSelect/MultiSelectWithAvatar.js +13 -6
  144. package/es/MultiSelect/SelectedOptions.js +6 -3
  145. package/es/MultiSelect/SelectedOptions.module.css +15 -15
  146. package/es/MultiSelect/Suggestions.js +7 -3
  147. package/es/MultiSelect/__tests__/MultiSelect.spec.js +4 -6
  148. package/es/MultiSelect/props/propTypes.js +2 -0
  149. package/es/PopOver/PopOver.js +18 -2
  150. package/es/PopOver/PopOver.module.css +8 -8
  151. package/es/PopOver/__tests__/PopOver.spec.js +2 -1
  152. package/es/Popup/Popup.js +77 -27
  153. package/es/Popup/PositionMapping.json +73 -73
  154. package/es/Popup/__tests__/Popup.spec.js +17 -5
  155. package/es/Popup/viewPort.js +16 -4
  156. package/es/Provider/IdProvider.js +10 -5
  157. package/es/Provider/LibraryContext.js +6 -4
  158. package/es/Provider/NumberGenerator/NumberGenerator.js +21 -7
  159. package/es/Provider/ZindexProvider.js +9 -2
  160. package/es/Radio/Radio.js +4 -2
  161. package/es/Radio/Radio.module.css +112 -112
  162. package/es/Responsive/CustomResponsive.js +30 -18
  163. package/es/Responsive/RefWrapper.js +6 -7
  164. package/es/Responsive/ResizeComponent.js +35 -25
  165. package/es/Responsive/ResizeObserver.js +26 -6
  166. package/es/Responsive/Responsive.js +34 -20
  167. package/es/Responsive/index.js +1 -3
  168. package/es/Responsive/sizeObservers.js +28 -7
  169. package/es/Responsive/utils/index.js +7 -5
  170. package/es/Responsive/utils/shallowCompare.js +7 -2
  171. package/es/Responsive/windowResizeObserver.js +7 -0
  172. package/es/ResponsiveDropBox/ResponsiveDropBox.js +4 -0
  173. package/es/ResponsiveDropBox/ResponsiveDropBox.module.css +6 -6
  174. package/es/Ribbon/Ribbon.js +4 -2
  175. package/es/Ribbon/Ribbon.module.css +454 -456
  176. package/es/Ribbon/__tests__/__snapshots__/Ribbon.spec.js.snap +163 -163
  177. package/es/RippleEffect/RippleEffect.js +1 -3
  178. package/es/RippleEffect/RippleEffect.module.css +92 -92
  179. package/es/Select/GroupSelect.js +59 -14
  180. package/es/Select/Select.js +81 -34
  181. package/es/Select/Select.module.css +108 -108
  182. package/es/Select/SelectWithAvatar.js +19 -4
  183. package/es/Select/SelectWithIcon.js +48 -6
  184. package/es/Select/__tests__/Select.spec.js +6 -8
  185. package/es/Select/props/propTypes.js +1 -0
  186. package/es/Stencils/Stencils.js +3 -3
  187. package/es/Stencils/Stencils.module.css +96 -96
  188. package/es/Stencils/__tests__/__snapshots__/Stencils.spec.js.snap +49 -49
  189. package/es/Switch/Switch.js +6 -3
  190. package/es/Switch/Switch.module.css +127 -127
  191. package/es/Tab/Tab.js +4 -4
  192. package/es/Tab/Tab.module.css +100 -100
  193. package/es/Tab/TabContent.js +1 -0
  194. package/es/Tab/TabContent.module.css +4 -4
  195. package/es/Tab/TabContentWrapper.js +2 -0
  196. package/es/Tab/TabWrapper.js +5 -2
  197. package/es/Tab/Tabs.js +73 -25
  198. package/es/Tab/Tabs.module.css +136 -154
  199. package/es/Tab/__tests__/Tab.spec.js +1 -3
  200. package/es/Tab/__tests__/TabWrapper.spec.js +1 -0
  201. package/es/Tag/Tag.js +15 -11
  202. package/es/Tag/Tag.module.css +254 -254
  203. package/es/TextBox/TextBox.js +16 -3
  204. package/es/TextBox/TextBox.module.css +158 -158
  205. package/es/TextBox/__tests__/TextBox.spec.js +1 -4
  206. package/es/TextBox/__tests__/__snapshots__/TextBox.spec.js.snap +127 -127
  207. package/es/TextBoxIcon/TextBoxIcon.js +9 -2
  208. package/es/TextBoxIcon/TextBoxIcon.module.css +79 -79
  209. package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +2 -7
  210. package/es/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +334 -334
  211. package/es/Textarea/Textarea.js +13 -3
  212. package/es/Textarea/Textarea.module.css +139 -139
  213. package/es/Textarea/__tests__/Textarea.spec.js +2 -2
  214. package/es/Textarea/__tests__/__snapshots__/Textarea.spec.js.snap +97 -97
  215. package/es/Tooltip/Tooltip.js +60 -15
  216. package/es/Tooltip/Tooltip.module.css +140 -140
  217. package/es/Tooltip/__tests__/Tooltip.spec.js +5 -0
  218. package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +3 -2
  219. package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +7 -5
  220. package/es/common/a11y.module.css +3 -3
  221. package/es/common/animation.module.css +624 -624
  222. package/es/common/avatarsizes.module.css +48 -48
  223. package/es/common/basic.module.css +33 -33
  224. package/es/common/basicReset.module.css +40 -40
  225. package/es/common/boxShadow.module.css +33 -33
  226. package/es/common/common.module.css +524 -524
  227. package/es/common/customscroll.module.css +91 -91
  228. package/es/common/reset.module.css +13 -13
  229. package/es/common/transition.module.css +146 -146
  230. package/es/deprecated/AdvancedMultiSelect.module.css +126 -126
  231. package/es/deprecated/PortalLayer/PortalLayer.js +25 -20
  232. package/es/semantic/Button/Button.js +4 -2
  233. package/es/semantic/Button/semanticButton.module.css +9 -9
  234. package/es/utils/Common.js +58 -9
  235. package/es/utils/ContextOptimizer.js +4 -5
  236. package/es/utils/__tests__/debounce.spec.js +2 -2
  237. package/es/utils/constructFullName.js +2 -0
  238. package/es/utils/css/compileClassNames.js +5 -0
  239. package/es/utils/css/mergeStyle.js +7 -6
  240. package/es/utils/css/utils.js +1 -0
  241. package/es/utils/datetime/GMTZones.js +48 -0
  242. package/es/utils/datetime/common.js +31 -7
  243. package/es/utils/debounce.js +5 -1
  244. package/es/utils/dropDownUtils.js +68 -11
  245. package/es/utils/getInitial.js +4 -0
  246. package/es/utils/shallowEqual.js +6 -0
  247. package/install.md +10 -10
  248. package/lib/Accordion/Accordion.js +43 -18
  249. package/lib/Accordion/AccordionItem.js +41 -18
  250. package/lib/Accordion/__tests__/Accordion.spec.js +3 -0
  251. package/lib/Accordion/index.js +3 -0
  252. package/lib/Accordion/props/propTypes.js +3 -0
  253. package/lib/Animation/Animation.js +38 -18
  254. package/lib/Animation/__tests__/Animation.spec.js +11 -7
  255. package/lib/Animation/props/propTypes.js +3 -0
  256. package/lib/AppContainer/AppContainer.js +66 -26
  257. package/lib/AppContainer/AppContainer.module.css +18 -18
  258. package/lib/AppContainer/props/defaultProps.js +2 -1
  259. package/lib/AppContainer/props/propTypes.js +4 -0
  260. package/lib/Avatar/Avatar.js +90 -47
  261. package/lib/Avatar/Avatar.module.css +175 -175
  262. package/lib/Avatar/__tests__/Avatar.spec.js +44 -0
  263. package/lib/Avatar/__tests__/__snapshots__/Avatar.spec.js.snap +288 -288
  264. package/lib/Avatar/props/propTypes.js +3 -0
  265. package/lib/AvatarTeam/AvatarTeam.js +60 -37
  266. package/lib/AvatarTeam/AvatarTeam.module.css +189 -189
  267. package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +13 -0
  268. package/lib/AvatarTeam/__tests__/__snapshots__/AvatarTeam.spec.js.snap +226 -226
  269. package/lib/AvatarTeam/props/propTypes.js +3 -0
  270. package/lib/Button/Button.js +36 -24
  271. package/lib/Button/css/Button.module.css +525 -525
  272. package/lib/Button/css/cssJSLogic.js +18 -17
  273. package/lib/Button/index.js +3 -0
  274. package/lib/Button/props/defaultProps.js +2 -0
  275. package/lib/Button/props/propTypes.js +3 -0
  276. package/lib/Buttongroup/Buttongroup.js +34 -13
  277. package/lib/Buttongroup/Buttongroup.module.css +105 -106
  278. package/lib/Buttongroup/__test__/Buttongroup.spec.js +10 -0
  279. package/lib/Buttongroup/__test__/__snapshots__/Buttongroup.spec.js.snap +146 -146
  280. package/lib/Buttongroup/props/propTypes.js +3 -0
  281. package/lib/Card/Card.js +106 -50
  282. package/lib/Card/Card.module.css +20 -20
  283. package/lib/Card/__tests__/Card.spec.js +10 -1
  284. package/lib/Card/index.js +4 -0
  285. package/lib/Card/props/propTypes.js +3 -0
  286. package/lib/CheckBox/CheckBox.js +71 -47
  287. package/lib/CheckBox/CheckBox.module.css +157 -157
  288. package/lib/CheckBox/__tests__/CheckBox.spec.js +3 -0
  289. package/lib/CheckBox/props/propTypes.js +3 -0
  290. package/lib/DateTime/CalendarView.js +83 -42
  291. package/lib/DateTime/DateTime.js +249 -159
  292. package/lib/DateTime/DateTime.module.css +235 -235
  293. package/lib/DateTime/DateTimePopupFooter.js +31 -8
  294. package/lib/DateTime/DateTimePopupHeader.js +48 -17
  295. package/lib/DateTime/DateWidget.js +354 -250
  296. package/lib/DateTime/DateWidget.module.css +38 -38
  297. package/lib/DateTime/DaysRow.js +27 -5
  298. package/lib/DateTime/Time.js +73 -32
  299. package/lib/DateTime/YearView.js +77 -28
  300. package/lib/DateTime/YearView.module.css +98 -98
  301. package/lib/DateTime/__tests__/CalendarView.spec.js +13 -5
  302. package/lib/DateTime/__tests__/DateTime.spec.js +51 -37
  303. package/lib/DateTime/__tests__/DateWidget.spec.js +10 -8
  304. package/lib/DateTime/common.js +6 -0
  305. package/lib/DateTime/constants.js +1 -0
  306. package/lib/DateTime/dateFormatUtils/dateFormat.js +184 -122
  307. package/lib/DateTime/dateFormatUtils/dateFormats.js +0 -1
  308. package/lib/DateTime/dateFormatUtils/dayChange.js +14 -7
  309. package/lib/DateTime/dateFormatUtils/index.js +74 -16
  310. package/lib/DateTime/dateFormatUtils/monthChange.js +19 -9
  311. package/lib/DateTime/dateFormatUtils/timeChange.js +54 -22
  312. package/lib/DateTime/dateFormatUtils/yearChange.js +22 -11
  313. package/lib/DateTime/index.js +2 -0
  314. package/lib/DateTime/objectUtils.js +24 -20
  315. package/lib/DateTime/props/defaultProps.js +2 -1
  316. package/lib/DateTime/props/propTypes.js +11 -1
  317. package/lib/DateTime/typeChecker.js +4 -0
  318. package/lib/DateTime/validator.js +73 -10
  319. package/lib/DropBox/DropBox.js +36 -12
  320. package/lib/DropBox/DropBoxElement/DropBoxElement.js +68 -42
  321. package/lib/DropBox/DropBoxElement/css/DropBoxElement.module.css +434 -428
  322. package/lib/DropBox/DropBoxElement/css/cssJSLogic.js +43 -34
  323. package/lib/DropBox/DropBoxElement/props/propTypes.js +4 -1
  324. package/lib/DropBox/DropBoxElement/useDropboxPosCalc.js +14 -9
  325. package/lib/DropBox/DropBoxPositionMapping.json +144 -144
  326. package/lib/DropBox/__tests__/DropBox.spec.js +8 -4
  327. package/lib/DropBox/css/DropBox.module.css +58 -58
  328. package/lib/DropBox/css/cssJSLogic.js +3 -1
  329. package/lib/DropBox/props/defaultProps.js +8 -4
  330. package/lib/DropBox/props/propTypes.js +10 -4
  331. package/lib/DropDown/DropDown.js +54 -9
  332. package/lib/DropDown/DropDown.module.css +5 -5
  333. package/lib/DropDown/DropDownHeading.js +40 -20
  334. package/lib/DropDown/DropDownHeading.module.css +53 -53
  335. package/lib/DropDown/DropDownItem.js +44 -21
  336. package/lib/DropDown/DropDownItem.module.css +94 -94
  337. package/lib/DropDown/DropDownSearch.js +40 -17
  338. package/lib/DropDown/DropDownSearch.module.css +14 -14
  339. package/lib/DropDown/DropDownSeparator.js +24 -4
  340. package/lib/DropDown/DropDownSeparator.module.css +7 -7
  341. package/lib/DropDown/__tests__/DropDown.spec.js +15 -9
  342. package/lib/DropDown/__tests__/DropDownItem.spec.js +9 -4
  343. package/lib/DropDown/__tests__/DropDownSearch.spec.js +3 -0
  344. package/lib/DropDown/index.js +9 -0
  345. package/lib/DropDown/props/propTypes.js +6 -4
  346. package/lib/Heading/Heading.js +39 -16
  347. package/lib/Heading/Heading.module.css +4 -4
  348. package/lib/Heading/props/propTypes.js +3 -0
  349. package/lib/Label/Label.js +45 -20
  350. package/lib/Label/Label.module.css +52 -52
  351. package/lib/Label/LabelColors.module.css +20 -20
  352. package/lib/Label/__tests__/Label.spec.js +14 -1
  353. package/lib/Label/__tests__/__snapshots__/Label.spec.js.snap +101 -101
  354. package/lib/Label/props/propTypes.js +7 -1
  355. package/lib/Layout/Box.js +39 -15
  356. package/lib/Layout/Container.js +37 -14
  357. package/lib/Layout/Layout.module.css +335 -335
  358. package/lib/Layout/__tests__/Box.spec.js +65 -49
  359. package/lib/Layout/__tests__/Container.spec.js +67 -50
  360. package/lib/Layout/index.js +3 -0
  361. package/lib/Layout/props/defaultProps.js +2 -0
  362. package/lib/Layout/props/propTypes.js +5 -0
  363. package/lib/Layout/utils.js +15 -1
  364. package/lib/ListItem/ListContainer.js +48 -27
  365. package/lib/ListItem/ListItem.js +69 -45
  366. package/lib/ListItem/ListItem.module.css +216 -216
  367. package/lib/ListItem/ListItemWithAvatar.js +75 -48
  368. package/lib/ListItem/ListItemWithCheckBox.js +64 -39
  369. package/lib/ListItem/ListItemWithIcon.js +68 -44
  370. package/lib/ListItem/ListItemWithRadio.js +65 -41
  371. package/lib/ListItem/index.js +7 -0
  372. package/lib/ListItem/props/propTypes.js +6 -4
  373. package/lib/Modal/Modal.js +45 -10
  374. package/lib/Modal/props/propTypes.js +3 -0
  375. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +300 -171
  376. package/lib/MultiSelect/AdvancedMultiSelect.js +203 -125
  377. package/lib/MultiSelect/EmptyState.js +49 -24
  378. package/lib/MultiSelect/MultiSelect.js +329 -211
  379. package/lib/MultiSelect/MultiSelect.module.css +206 -206
  380. package/lib/MultiSelect/MultiSelectHeader.js +30 -8
  381. package/lib/MultiSelect/MultiSelectWithAvatar.js +106 -63
  382. package/lib/MultiSelect/SelectedOptions.js +43 -17
  383. package/lib/MultiSelect/SelectedOptions.module.css +15 -15
  384. package/lib/MultiSelect/Suggestions.js +64 -32
  385. package/lib/MultiSelect/__tests__/MultiSelect.spec.js +86 -75
  386. package/lib/MultiSelect/index.js +5 -0
  387. package/lib/MultiSelect/props/defaultProps.js +2 -0
  388. package/lib/MultiSelect/props/propTypes.js +5 -0
  389. package/lib/PopOver/PopOver.js +95 -49
  390. package/lib/PopOver/PopOver.module.css +8 -8
  391. package/lib/PopOver/__tests__/PopOver.spec.js +4 -1
  392. package/lib/PopOver/index.js +4 -0
  393. package/lib/PopOver/props/propTypes.js +3 -0
  394. package/lib/Popup/Popup.js +158 -84
  395. package/lib/Popup/PositionMapping.json +73 -73
  396. package/lib/Popup/__tests__/Popup.spec.js +43 -8
  397. package/lib/Popup/viewPort.js +28 -14
  398. package/lib/Provider/AvatarSize.js +4 -0
  399. package/lib/Provider/Config.js +2 -0
  400. package/lib/Provider/CssProvider.js +4 -0
  401. package/lib/Provider/IdProvider.js +17 -6
  402. package/lib/Provider/LibraryContext.js +35 -15
  403. package/lib/Provider/LibraryContextInit.js +4 -0
  404. package/lib/Provider/NumberGenerator/NumberGenerator.js +44 -15
  405. package/lib/Provider/ZindexProvider.js +15 -3
  406. package/lib/Provider/index.js +5 -0
  407. package/lib/Radio/Radio.js +61 -38
  408. package/lib/Radio/Radio.module.css +112 -112
  409. package/lib/Radio/__tests__/Radiospec.js +9 -5
  410. package/lib/Radio/props/propTypes.js +3 -0
  411. package/lib/Responsive/CustomResponsive.js +73 -29
  412. package/lib/Responsive/RefWrapper.js +17 -11
  413. package/lib/Responsive/ResizeComponent.js +62 -36
  414. package/lib/Responsive/ResizeObserver.js +24 -10
  415. package/lib/Responsive/Responsive.js +80 -30
  416. package/lib/Responsive/index.js +4 -0
  417. package/lib/Responsive/props/propTypes.js +3 -0
  418. package/lib/Responsive/sizeObservers.js +53 -17
  419. package/lib/Responsive/utils/index.js +11 -3
  420. package/lib/Responsive/utils/shallowCompare.js +11 -2
  421. package/lib/Responsive/windowResizeObserver.js +8 -0
  422. package/lib/ResponsiveDropBox/ResponsiveDropBox.js +45 -17
  423. package/lib/ResponsiveDropBox/ResponsiveDropBox.module.css +6 -6
  424. package/lib/ResponsiveDropBox/props/propTypes.js +3 -0
  425. package/lib/Ribbon/Ribbon.js +34 -13
  426. package/lib/Ribbon/Ribbon.module.css +454 -456
  427. package/lib/Ribbon/__tests__/Ribbon.spec.js +22 -0
  428. package/lib/Ribbon/__tests__/__snapshots__/Ribbon.spec.js.snap +163 -163
  429. package/lib/Ribbon/props/propTypes.js +3 -0
  430. package/lib/RippleEffect/RippleEffect.js +18 -10
  431. package/lib/RippleEffect/RippleEffect.module.css +92 -92
  432. package/lib/RippleEffect/props/propTypes.js +3 -0
  433. package/lib/Select/GroupSelect.js +230 -130
  434. package/lib/Select/Select.js +292 -210
  435. package/lib/Select/Select.module.css +108 -108
  436. package/lib/Select/SelectWithAvatar.js +104 -56
  437. package/lib/Select/SelectWithIcon.js +134 -77
  438. package/lib/Select/__tests__/Select.spec.js +133 -91
  439. package/lib/Select/index.js +5 -0
  440. package/lib/Select/props/defaultProps.js +5 -4
  441. package/lib/Select/props/propTypes.js +4 -0
  442. package/lib/Stencils/Stencils.js +29 -10
  443. package/lib/Stencils/Stencils.module.css +96 -96
  444. package/lib/Stencils/__tests__/Stencils.spec.js +12 -0
  445. package/lib/Stencils/__tests__/__snapshots__/Stencils.spec.js.snap +49 -49
  446. package/lib/Stencils/props/propTypes.js +3 -0
  447. package/lib/Switch/Switch.js +58 -34
  448. package/lib/Switch/Switch.module.css +127 -127
  449. package/lib/Switch/props/propTypes.js +3 -0
  450. package/lib/Tab/Tab.js +40 -27
  451. package/lib/Tab/Tab.module.css +100 -100
  452. package/lib/Tab/TabContent.js +12 -5
  453. package/lib/Tab/TabContent.module.css +4 -4
  454. package/lib/Tab/TabContentWrapper.js +13 -6
  455. package/lib/Tab/TabWrapper.js +37 -19
  456. package/lib/Tab/Tabs.js +184 -103
  457. package/lib/Tab/Tabs.module.css +136 -154
  458. package/lib/Tab/__tests__/Tab.spec.js +67 -58
  459. package/lib/Tab/__tests__/TabContent.spec.js +10 -6
  460. package/lib/Tab/__tests__/TabContentWrapper.spec.js +28 -20
  461. package/lib/Tab/__tests__/TabWrapper.spec.js +12 -0
  462. package/lib/Tab/__tests__/Tabs.spec.js +53 -39
  463. package/lib/Tab/index.js +6 -0
  464. package/lib/Tab/props/propTypes.js +3 -0
  465. package/lib/Tag/Tag.js +81 -51
  466. package/lib/Tag/Tag.module.css +254 -254
  467. package/lib/Tag/__tests__/Tag.spec.js +14 -8
  468. package/lib/Tag/props/propTypes.js +3 -0
  469. package/lib/TextBox/TextBox.js +86 -59
  470. package/lib/TextBox/TextBox.module.css +158 -158
  471. package/lib/TextBox/__tests__/TextBox.spec.js +14 -4
  472. package/lib/TextBox/__tests__/__snapshots__/TextBox.spec.js.snap +127 -127
  473. package/lib/TextBox/props/propTypes.js +6 -4
  474. package/lib/TextBoxIcon/TextBoxIcon.js +79 -52
  475. package/lib/TextBoxIcon/TextBoxIcon.module.css +79 -79
  476. package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +14 -5
  477. package/lib/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +334 -334
  478. package/lib/TextBoxIcon/props/propTypes.js +3 -0
  479. package/lib/Textarea/Textarea.js +55 -29
  480. package/lib/Textarea/Textarea.module.css +139 -139
  481. package/lib/Textarea/__tests__/Textarea.spec.js +14 -2
  482. package/lib/Textarea/__tests__/__snapshots__/Textarea.spec.js.snap +97 -97
  483. package/lib/Textarea/props/propTypes.js +3 -0
  484. package/lib/Tooltip/Tooltip.js +96 -32
  485. package/lib/Tooltip/Tooltip.module.css +140 -140
  486. package/lib/Tooltip/__tests__/Tooltip.spec.js +24 -3
  487. package/lib/Tooltip/props/propTypes.js +3 -0
  488. package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +40 -16
  489. package/lib/VelocityAnimation/VelocityAnimation/props/propTypes.js +3 -0
  490. package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +53 -25
  491. package/lib/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +3 -0
  492. package/lib/VelocityAnimation/index.js +3 -0
  493. package/lib/common/a11y.module.css +3 -3
  494. package/lib/common/animation.module.css +624 -624
  495. package/lib/common/avatarsizes.module.css +48 -48
  496. package/lib/common/basic.module.css +33 -33
  497. package/lib/common/basicReset.module.css +40 -40
  498. package/lib/common/boxShadow.module.css +33 -33
  499. package/lib/common/common.module.css +524 -524
  500. package/lib/common/customscroll.module.css +91 -91
  501. package/lib/common/reset.module.css +13 -13
  502. package/lib/common/transition.module.css +146 -146
  503. package/lib/css.js +40 -0
  504. package/lib/deprecated/AdvancedMultiSelect.module.css +126 -126
  505. package/lib/deprecated/PortalLayer/PortalLayer.js +46 -23
  506. package/lib/deprecated/PortalLayer/props/propTypes.js +3 -0
  507. package/lib/index.js +57 -0
  508. package/lib/semantic/Button/Button.js +43 -22
  509. package/lib/semantic/Button/props/propTypes.js +3 -0
  510. package/lib/semantic/Button/semanticButton.module.css +9 -9
  511. package/lib/semantic/index.js +2 -0
  512. package/lib/utils/Common.js +117 -19
  513. package/lib/utils/ContextOptimizer.js +16 -10
  514. package/lib/utils/__tests__/constructFullName.spec.js +1 -0
  515. package/lib/utils/__tests__/debounce.spec.js +3 -2
  516. package/lib/utils/__tests__/getInitial.spec.js +1 -0
  517. package/lib/utils/constructFullName.js +13 -4
  518. package/lib/utils/css/compileClassNames.js +6 -0
  519. package/lib/utils/css/mergeStyle.js +10 -7
  520. package/lib/utils/css/utils.js +8 -0
  521. package/lib/utils/datetime/GMTZones.js +55 -0
  522. package/lib/utils/datetime/common.js +52 -7
  523. package/lib/utils/debounce.js +6 -1
  524. package/lib/utils/dropDownUtils.js +175 -59
  525. package/lib/utils/dummyFunction.js +2 -0
  526. package/lib/utils/getHTMLFontSize.js +1 -0
  527. package/lib/utils/getInitial.js +6 -0
  528. package/lib/utils/index.js +4 -0
  529. package/lib/utils/scrollTo.js +2 -0
  530. package/lib/utils/shallowEqual.js +8 -0
  531. package/package.json +113 -123
  532. package/assets/Appearance/dark/themes/blue/blue_ComponentTheme_DarkTheme.module.css +0 -45
  533. package/assets/Appearance/dark/themes/green/green_ComponentTheme_DarkTheme.module.css +0 -45
  534. package/assets/Appearance/dark/themes/orange/orange_ComponentTheme_DarkTheme.module.css +0 -45
  535. package/assets/Appearance/dark/themes/red/red_ComponentTheme_DarkTheme.module.css +0 -45
  536. package/assets/Appearance/dark/themes/yellow/yellow_ComponentTheme_DarkTheme.module.css +0 -45
  537. package/assets/Appearance/light/themes/blue/blue_CTA_LightTheme.module.css +0 -35
  538. package/assets/Appearance/light/themes/blue/blue_ComponentTheme_LightTheme.module.css +0 -45
  539. package/assets/Appearance/light/themes/green/green_CTA_LightTheme.module.css +0 -35
  540. package/assets/Appearance/light/themes/green/green_ComponentTheme_LightTheme.module.css +0 -45
  541. package/assets/Appearance/light/themes/orange/orange_CTA_LightTheme.module.css +0 -35
  542. package/assets/Appearance/light/themes/orange/orange_ComponentTheme_LightTheme.module.css +0 -45
  543. package/assets/Appearance/light/themes/red/red_CTA_LightTheme.module.css +0 -35
  544. package/assets/Appearance/light/themes/red/red_ComponentTheme_LightTheme.module.css +0 -45
  545. package/assets/Appearance/light/themes/yellow/yellow_CTA_LightTheme.module.css +0 -35
  546. package/assets/Appearance/light/themes/yellow/yellow_ComponentTheme_LightTheme.module.css +0 -45
  547. package/assets/Appearance/pureDark/themes/blue/blue_ComponentTheme_PureDarkTheme.module.css +0 -45
  548. package/assets/Appearance/pureDark/themes/green/green_ComponentTheme_PureDarkTheme.module.css +0 -45
  549. package/assets/Appearance/pureDark/themes/orange/orange_ComponentTheme_PureDarkTheme.module.css +0 -45
  550. package/assets/Appearance/pureDark/themes/red/red_ComponentTheme_PureDarkTheme.module.css +0 -45
  551. package/assets/Appearance/pureDark/themes/yellow/yellow_ComponentTheme_PureDarkTheme.module.css +0 -45
  552. package/assets/Contrast/lightContrastLightness.module.css +0 -39
  553. /package/assets/Appearance/dark/themes/green/{green_CTA_DarkModifyCategory.module.css → greenDarkCTAModifyCategory.module.css} +0 -0
  554. /package/assets/Appearance/dark/themes/orange/{orange_CTA_DarkModifyCategory.module.css → orangeDarkCTAModifyCategory.module.css} +0 -0
  555. /package/assets/Appearance/dark/themes/red/{red_CTA_DarkModifyCategory.module.css → redDarkCTAModifyCategory.module.css} +0 -0
  556. /package/assets/Appearance/dark/themes/yellow/{yellow_CTA_DarkModifyCategory.module.css → yellowDarkCTAModifyCategory.module.css} +0 -0
  557. /package/assets/Appearance/pureDark/themes/green/{green_CTA_PureDarkModifyCategory.module.css → greenPureDarkCTAModifyCategory.module.css} +0 -0
  558. /package/assets/Appearance/pureDark/themes/orange/{orange_CTA_PureDarkModifyCategory.module.css → orangePureDarkCTAModifyCategory.module.css} +0 -0
  559. /package/assets/Appearance/pureDark/themes/red/{red_CTA_PureDarkModifyCategory.module.css → redPureDarkCTAModifyCategory.module.css} +0 -0
  560. /package/assets/Appearance/pureDark/themes/yellow/{yellow_CTA_PureDarkModifyCategory.module.css → yellowPureDarkCTAModifyCategory.module.css} +0 -0
@@ -9,6 +9,10 @@ export const getTotalDimension = (elem, align) => {
9
9
  const style = window.getComputedStyle(elem);
10
10
  return align === 'vertical' ? elem.offsetWidth + parseDecimal(style.marginLeft) + parseDecimal(style.marginRight) : elem.offsetHeight + parseDecimal(style.marginTop) + parseDecimal(style.marginBottom);
11
11
  };
12
+ export function stopPropagation(e) {
13
+ e && e.stopPropagation && e.stopPropagation();
14
+ }
15
+ ;
12
16
  export const stopAllEventPropagation = e => {
13
17
  e.stopPropagation && e.stopPropagation();
14
18
  e.nativeEvent && e.nativeEvent.stopImmediatePropagation && e.nativeEvent.stopImmediatePropagation();
@@ -16,9 +20,7 @@ export const stopAllEventPropagation = e => {
16
20
  export function cancelBubblingEffect(e) {
17
21
  e && e.stopPropagation && e.stopPropagation();
18
22
  e && e.nativeEvent && e.nativeEvent.stopImmediatePropagation && e.nativeEvent.stopImmediatePropagation();
19
- }
20
-
21
- // export function getCommentsDetails(
23
+ } // export function getCommentsDetails(
22
24
  // commentIds = [],
23
25
  // comments = {},
24
26
  // agents = {}
@@ -41,6 +43,7 @@ export function encodeForHtml(str) {
41
43
  str = str.replace(/\\/g, '\');
42
44
  str = str.replace(/'/g, ''');
43
45
  }
46
+
44
47
  return str;
45
48
  }
46
49
  export function getListOfDetails() {
@@ -52,6 +55,7 @@ export function getListOfDetails() {
52
55
  export function capitalize() {
53
56
  let value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
54
57
  let newValue = '';
58
+
55
59
  for (let i = 0; i < value.length; i++) {
56
60
  if (i == 0) {
57
61
  newValue += value[i].toUpperCase();
@@ -59,12 +63,14 @@ export function capitalize() {
59
63
  newValue += value[i].toLowerCase();
60
64
  }
61
65
  }
66
+
62
67
  return newValue;
63
68
  }
64
69
  export function bind() {
65
70
  for (var _len = arguments.length, handlers = new Array(_len), _key = 0; _key < _len; _key++) {
66
71
  handlers[_key] = arguments[_key];
67
72
  }
73
+
68
74
  handlers.forEach(handler => {
69
75
  this[handler] = this[handler].bind(this);
70
76
  });
@@ -73,12 +79,15 @@ export function getFullName() {
73
79
  let firstName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
74
80
  let lastName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
75
81
  let fullName = '';
82
+
76
83
  if (firstName !== null && firstName !== '') {
77
84
  fullName = firstName;
78
85
  }
86
+
79
87
  if (lastName !== null && lastName !== '') {
80
88
  fullName = `${fullName}${lastName}`;
81
89
  }
90
+
82
91
  return fullName;
83
92
  }
84
93
  export function getStringifiedOutputForJson() {
@@ -86,6 +95,7 @@ export function getStringifiedOutputForJson() {
86
95
  const keys = Object.keys(input);
87
96
  const modifiedInput = keys.reduce((curr, next) => {
88
97
  const values = input[next] || [];
98
+
89
99
  if (values.length) {
90
100
  const valueList = values.reduce((curr, next) => {
91
101
  curr.push(next.id);
@@ -94,6 +104,7 @@ export function getStringifiedOutputForJson() {
94
104
  curr[next] = valueList;
95
105
  return curr;
96
106
  }
107
+
97
108
  return curr;
98
109
  }, {});
99
110
  return JSON.stringify(modifiedInput);
@@ -109,6 +120,7 @@ export function filterValue(obj, val) {
109
120
  const ids = obj ? Object.keys(obj) : [];
110
121
  ids.forEach(key => {
111
122
  const value = obj[key] || {};
123
+
112
124
  if (value.name === val && !value.isCustomField) {
113
125
  result = value.id;
114
126
  }
@@ -130,34 +142,42 @@ export function formatValue() {
130
142
  let textField = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'name';
131
143
  return values && values.map(value => {
132
144
  let formattedValue = value;
145
+
133
146
  if (typeof value === 'string' || typeof value === 'number') {
134
147
  formattedValue = {};
135
148
  formattedValue[valueField] = value;
136
149
  formattedValue[textField] = value;
137
150
  }
151
+
138
152
  return formattedValue;
139
153
  }) || [];
140
154
  }
141
155
  export function bytesToSize(bytes) {
142
156
  bytes = parseInt(bytes, 10);
143
157
  const sizes = ['B', 'KB', 'MB', 'GB', 'TB'];
158
+
144
159
  if (bytes === 0) {
145
160
  return '0 Byte';
146
161
  }
162
+
147
163
  const i = parseInt(Math.floor(Math.log(bytes) / Math.log(1024)), 10);
148
164
  return `${Math.round(bytes / Math.pow(1024, i), 2)} ${sizes[i]}`;
149
165
  }
150
166
  export function getMemSize(bytes) {
151
167
  let size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !0;
152
168
  const thresh = size ? 1000 : 1024;
169
+
153
170
  if (Math.abs(bytes) < thresh) {
154
171
  return `${bytes} B`;
155
172
  }
173
+
156
174
  let units = size ? ['kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'] : ['KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB'],
157
- i = -1;
175
+ i = -1;
176
+
158
177
  do {
159
178
  bytes /= thresh, ++i;
160
179
  } while (Math.abs(bytes) >= thresh && i < units.length - 1);
180
+
161
181
  {
162
182
  return `${bytes.toFixed(1)} ${units[i]}`;
163
183
  }
@@ -166,18 +186,24 @@ export function checkIsImageFile(fileName) {
166
186
  fileName = fileName || '';
167
187
  return /jpeg|jpg|png|gif|bmp|tiff|tif|ico/gi.test(fileName.substr(fileName.lastIndexOf('.') + 1));
168
188
  }
189
+
169
190
  function getI18NValue(key, values) {
170
191
  if (typeof i18n === 'undefined' || key === '' || typeof key === 'undefined') {
171
192
  return key;
172
193
  }
194
+
173
195
  let i18nStr = i18n[key];
196
+
174
197
  if (i18nStr === undefined) {
175
198
  return key;
176
199
  }
200
+
177
201
  i18nStr = replaceI18NValuesWithRegex(i18nStr, values);
178
202
  return unescapeUnicode(i18nStr);
179
203
  }
204
+
180
205
  global.getI18NValue = getI18NValue;
206
+
181
207
  function replaceI18NValuesWithRegex(i18nStr, values) {
182
208
  if (typeof values !== 'undefined') {
183
209
  if (Array.isArray(values)) {
@@ -188,22 +214,27 @@ function replaceI18NValuesWithRegex(i18nStr, values) {
188
214
  i18nStr = i18nStr.replace(new RegExp('\\{0\\}', 'g'), values);
189
215
  }
190
216
  }
217
+
191
218
  return i18nStr;
192
219
  }
220
+
193
221
  function unescapeUnicode(str) {
194
222
  return str.replace(/\\u([a-fA-F0-9]{4})/g, (g, m1) => String.fromCharCode(parseInt(m1, 16)));
195
223
  }
224
+
196
225
  export function getPortalName(portalList, portalId) {
197
226
  return portalList && portalList.reduce((res, portal) => {
198
227
  if (portal.orgId === portalId) {
199
228
  return portal.orgName;
200
229
  }
230
+
201
231
  return res;
202
232
  }, null);
203
233
  }
204
234
  export function getFullDateString(fullDateObj) {
205
235
  let dateStr = '';
206
236
  const monthArr = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
237
+
207
238
  if (fullDateObj.toDateString() == new Date().toDateString()) {
208
239
  dateStr = format12Hour(fullDateObj);
209
240
  } else {
@@ -213,6 +244,7 @@ export function getFullDateString(fullDateObj) {
213
244
  const time = format12Hour(fullDateObj);
214
245
  dateStr = `${month} ${date} ${year} ${time}`;
215
246
  }
247
+
216
248
  return dateStr;
217
249
  }
218
250
  export function format12Hour(date) {
@@ -221,6 +253,7 @@ export function format12Hour(date) {
221
253
  const ampm = hours >= 12 ? 'pm' : 'am';
222
254
  hours %= 12;
223
255
  hours = hours ? hours : 12; // the hour '0' should be '12'
256
+
224
257
  minutes = minutes < 10 ? `0${minutes}` : minutes;
225
258
  const strTime = `${hours}:${minutes} ${ampm}`;
226
259
  return strTime;
@@ -228,6 +261,7 @@ export function format12Hour(date) {
228
261
  export function getDateOnly(fullDateObj) {
229
262
  let dateStr = '';
230
263
  const monthArr = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
264
+
231
265
  if (fullDateObj.toDateString() == new Date().toDateString()) {
232
266
  dateStr = 'Today';
233
267
  } else {
@@ -236,6 +270,7 @@ export function getDateOnly(fullDateObj) {
236
270
  const date = fullDateObj.getDate();
237
271
  dateStr = `${month} ${date} ${year}`;
238
272
  }
273
+
239
274
  return dateStr;
240
275
  }
241
276
  export function doAfterScrollEnd(element, callback) {
@@ -249,6 +284,7 @@ export function doAfterScrollEnd(element, callback) {
249
284
  scrollHeight
250
285
  } = element;
251
286
  const scrollPercent = scrollTop / (scrollHeight - clientHeight) * 100;
287
+
252
288
  if (scrollPercent > 80) {
253
289
  callback && callback();
254
290
  }
@@ -265,9 +301,11 @@ export const throttle = function (func, wait) {
265
301
  for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
266
302
  args[_key2 - 2] = arguments[_key2];
267
303
  }
304
+
268
305
  if (timerId) {
269
306
  return;
270
307
  }
308
+
271
309
  timerId = setTimeout(() => {
272
310
  try {
273
311
  func(...args);
@@ -280,6 +318,7 @@ export const scrollTo = function (suggestionContainer, selSuggestion) {
280
318
  if (!suggestionContainer || !selSuggestion) {
281
319
  return;
282
320
  }
321
+
283
322
  const {
284
323
  rectGap
285
324
  } = frameRelativeRects(selSuggestion, suggestionContainer) || {};
@@ -287,9 +326,11 @@ export const scrollTo = function (suggestionContainer, selSuggestion) {
287
326
  top = 0,
288
327
  bottom = 0
289
328
  } = rectGap || {};
329
+
290
330
  if (top < 0 && bottom < 0) {
291
331
  return;
292
332
  }
333
+
293
334
  const isElementInViewPort = top < 0 || bottom < 0 ? false : true;
294
335
  const suggestionContainerScrollTop = suggestionContainer.scrollTop;
295
336
  suggestionContainer.scrollTop = !isElementInViewPort ? bottom < 0 ? suggestionContainer.scrollTop + Math.abs(bottom) : top < 0 ? suggestionContainer.scrollTop - Math.abs(top) : suggestionContainerScrollTop : suggestionContainerScrollTop;
@@ -301,17 +342,21 @@ export function remConvert(val) {
301
342
  }
302
343
  export function isDescendant(parent, child) {
303
344
  let node = child.parentNode;
345
+
304
346
  while (node !== null) {
305
347
  if (node === parent) {
306
348
  return true;
307
349
  }
350
+
308
351
  node = node.parentNode;
309
352
  }
353
+
310
354
  return false;
311
355
  }
312
356
  export function getElementSpace(elementRef) {
313
357
  let neededSpace = 0,
314
- availableInsideSpace = 0;
358
+ availableInsideSpace = 0;
359
+
315
360
  if (elementRef) {
316
361
  let getStyle = window.getComputedStyle(elementRef);
317
362
  let margin = parseFloat(getStyle.marginLeft) + parseFloat(getStyle.marginRight);
@@ -320,6 +365,7 @@ export function getElementSpace(elementRef) {
320
365
  neededSpace = width + margin;
321
366
  availableInsideSpace = width - padding;
322
367
  }
368
+
323
369
  return {
324
370
  neededSpace: neededSpace,
325
371
  availableInsideSpace: availableInsideSpace
@@ -329,7 +375,6 @@ export function getSearchString() {
329
375
  let charachers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
330
376
  return (charachers || '').toString().toLowerCase(); //.replace(/\s+/g, '');
331
377
  }
332
-
333
378
  export function findScrollEnd(element) {
334
379
  let {
335
380
  scrollHeight,
@@ -338,26 +383,30 @@ export function findScrollEnd(element) {
338
383
  clientHeight
339
384
  } = element || {};
340
385
  let isElementScrollable = scrollHeight > clientHeight;
386
+
341
387
  if (isElementScrollable) {
342
388
  if (scrollHeight <= Math.ceil(scrollTop + offsetHeight)) {
343
389
  return true;
344
390
  }
345
- }
346
- // else {
347
-
391
+ } // else {
348
392
  // throw 'Is scroll not present in this element';
349
393
  // }
394
+
395
+
350
396
  return false;
351
397
  }
352
398
  export function isTextSelected() {
353
399
  let selectedText = '';
400
+
354
401
  if (window.getSelection) {
355
402
  selectedText = window.getSelection().toString();
356
403
  } else if (document.getSelection) {
357
404
  selectedText = document.getSelection().toString();
358
405
  }
406
+
359
407
  if (selectedText !== '') {
360
408
  return true;
361
409
  }
410
+
362
411
  return false;
363
412
  }
@@ -1,15 +1,12 @@
1
1
  /** ** Libraries *** */
2
2
  import { useContext, useRef } from 'react';
3
3
  import PropTypes from 'prop-types';
4
- import shallowEqual from './shallowEqual';
5
-
6
- // Please use this component with children as inline function for force this components rerender when parent rerender regardless of reason
4
+ import shallowEqual from './shallowEqual'; // Please use this component with children as inline function for force this components rerender when parent rerender regardless of reason
7
5
  // Because below componends only rerender when children or calculation are changed, unless no changes will update below
8
-
9
6
  // this component logic based on return same children reference to stop rerender.
10
7
  // Think before change logic
11
-
12
8
  // eslint-disable-next-line import/prefer-default-export
9
+
13
10
  export function ContextOptimizer(props) {
14
11
  const {
15
12
  Context,
@@ -25,11 +22,13 @@ export function ContextOptimizer(props) {
25
22
  data: null,
26
23
  renderF: null
27
24
  });
25
+
28
26
  if (!shallowEqual(data, local.data) || local.renderF !== renderF) {
29
27
  local.children = renderF(data);
30
28
  local.data = data;
31
29
  local.renderF = renderF;
32
30
  }
31
+
33
32
  return local.children;
34
33
  }
35
34
  ContextOptimizer.propTypes = {
@@ -6,8 +6,8 @@ describe('debounce specification', () => {
6
6
  it('should call immediate', () => {
7
7
  const mockfn = jest.fn();
8
8
  const dMockfn = debounce(mockfn, 1000, true);
9
- dMockfn();
10
- //expect(setTimeout).toHaveBeenCalledTimes(1);
9
+ dMockfn(); //expect(setTimeout).toHaveBeenCalledTimes(1);
10
+
11
11
  expect(mockfn.mock.calls.length).toBe(1);
12
12
  });
13
13
  it('should call two times but it invoke multiple times', () => {
@@ -1,8 +1,10 @@
1
1
  function constructFullName(firstName, lastName) {
2
2
  return `${firstName ? `${firstName}${lastName ? ' ' : ''}` : ''}${lastName ? lastName : ''}`;
3
3
  }
4
+
4
5
  export function constructFullNameByPattern(firstName, lastName, namePattern) {
5
6
  let [name0, name1] = namePattern;
7
+
6
8
  if (name0 === 'FIRST_NAME' && name1 === 'LAST_NAME') {
7
9
  return constructFullName(firstName, lastName);
8
10
  } else if (name0 === 'LAST_NAME' && name1 === 'FIRST_NAME') {
@@ -1,7 +1,9 @@
1
1
  import { dataTypes, isDataTypeOf } from './utils';
2
+
2
3
  const collectClassNames = function (processedClassNameList) {
3
4
  for (let index = 0; index < (arguments.length <= 1 ? 0 : arguments.length - 1); index++) {
4
5
  let classInfo = index + 1 < 1 || arguments.length <= index + 1 ? undefined : arguments[index + 1];
6
+
5
7
  if (!classInfo) {
6
8
  continue;
7
9
  } else if (isDataTypeOf(classInfo, dataTypes.object)) {
@@ -13,11 +15,14 @@ const collectClassNames = function (processedClassNameList) {
13
15
  }
14
16
  }
15
17
  };
18
+
16
19
  export default function compileClassNames() {
17
20
  let resultClassNameList = [];
21
+
18
22
  for (var _len = arguments.length, classinfoList = new Array(_len), _key = 0; _key < _len; _key++) {
19
23
  classinfoList[_key] = arguments[_key];
20
24
  }
25
+
21
26
  collectClassNames(resultClassNameList, ...classinfoList);
22
27
  return resultClassNameList.filter(a => a !== '').join(' ');
23
28
  }
@@ -1,6 +1,4 @@
1
- const REPLACER_SYMBOL = '$';
2
-
3
- // $ startWith is used for replace the existing style.
1
+ const REPLACER_SYMBOL = '$'; // $ startWith is used for replace the existing style.
4
2
  // all other will be append
5
3
 
6
4
  export default function mergeStyle(defaultStyle) {
@@ -9,15 +7,16 @@ export default function mergeStyle(defaultStyle) {
9
7
  // if(!Object.keys(defaultStyle).includes('base')) {
10
8
  // throw new Error(`STYLE CUSTOMIZATION RULE - Your style sheet should have "base" class name for customization`);
11
9
  // }
12
-
13
10
  return Object.keys(customStyle).reduce((res, next) => {
14
11
  if (next.startsWith(REPLACER_SYMBOL)) {
15
12
  let styleValue = customStyle[next];
16
13
  let styleName = next.replace(REPLACER_SYMBOL, '');
14
+
17
15
  if (!defaultStyle[styleName] && !additionalStyle.includes(styleName)) {
18
16
  // return res;
19
17
  throw new Error(`UNKNOWN CLASSNAME DETECTED - Given customStyle's key "${styleName}" is not available in that component style`);
20
18
  }
19
+
21
20
  if (additionalStyle.includes(styleName)) {
22
21
  res[styleName] = styleValue;
23
22
  } else {
@@ -26,6 +25,7 @@ export default function mergeStyle(defaultStyle) {
26
25
  let styleKey = res[keyName];
27
26
  let styleClasses = styleKey.split(' ');
28
27
  let ind = styleClasses.indexOf(val);
28
+
29
29
  if (ind !== -1) {
30
30
  styleClasses[ind] = styleValue;
31
31
  res[keyName] = styleClasses.join(' ');
@@ -38,6 +38,7 @@ export default function mergeStyle(defaultStyle) {
38
38
  let styleKey = res[keyName];
39
39
  let styleClasses = styleKey.split(' ');
40
40
  let ind = styleClasses.indexOf(val);
41
+
41
42
  if (ind !== -1) {
42
43
  styleClasses[ind] = styleClasses[ind] + ' ' + customStyle[next];
43
44
  res[keyName] = styleClasses.join(' ');
@@ -49,8 +50,8 @@ export default function mergeStyle(defaultStyle) {
49
50
  // res[next] = customStyle[next];
50
51
  throw new Error(`UNKNOWN CLASSNAME DETECTED - Given customStyle's key "${next}" is not available in that component style`);
51
52
  }
53
+
52
54
  return res;
53
- }, {
54
- ...defaultStyle
55
+ }, { ...defaultStyle
55
56
  });
56
57
  }
@@ -12,6 +12,7 @@ export const dataTypes = {
12
12
  export const getDataType = data => {
13
13
  let typeofData = typeof data;
14
14
  let isArrayDataType = Array.isArray(data);
15
+
15
16
  if (isArrayDataType) {
16
17
  return dataTypes.array;
17
18
  } else {
@@ -0,0 +1,48 @@
1
+ export const offsetMap = {
2
+ 0: 'GMT+00:00 Africa/Abidjan',
3
+ 44: 'GMT+00:00 Africa/Monrovia',
4
+ 60: 'GMT+01:00 Africa/Bangui',
5
+ 120: 'GMT+02:00 Africa/Blantyre',
6
+ 180: 'GMT+03:00 Africa/Addis_Ababa',
7
+ 210: 'GMT+04:30 Asia/Tehran',
8
+ 240: 'GMT+03:00 Asia/Bahrain',
9
+ 270: 'GMT+04:30 Asia/Kabul',
10
+ 300: 'GMT+05:00 Asia/Aqtau',
11
+ '-330': 'GMT+05:30 Asia/Kolkata',
12
+ 360: 'GMT+06:00 Asia/Dacca',
13
+ 390: 'GMT+06:30 Indian/Cocos',
14
+ 420: 'GMT+07:00 Asia/Bangkok',
15
+ 450: 'GMT+08:00 Asia/Singapore',
16
+ 480: 'GMT+08:00 Asia/Hong_Kong',
17
+ 510: 'GMT+08:00 Asia/Harbin',
18
+ 525: 'GMT+08:45 Australia/Eucla',
19
+ 540: 'GMT+09:00 Asia/Chita',
20
+ 570: 'GMT+09:30 Australia/Adelaide',
21
+ 600: 'GMT+10:00 Antarctica/DumontDUrville',
22
+ 660: 'GMT+11:00 Asia/Magadan',
23
+ 690: 'GMT+11:00 Pacific/Norfolk',
24
+ 720: 'GMT+12:00 Asia/Kamchatka',
25
+ 765: 'GMT+12:45 Pacific/Chatham',
26
+ 780: 'GMT+12:00 Asia/Anadyr',
27
+ 840: 'GMT+14:00 Etc/GMT-14',
28
+ '-60': 'GMT-01:00 Etc/GMT+1',
29
+ '-660': 'GMT-11:00 US/Samoa',
30
+ '-600': 'GMT-04:00 America/Anguilla',
31
+ '-240': 'GMT-04:00 America/Antigua',
32
+ '-180': 'GMT-03:00 America/Araguaina',
33
+ '-300': 'GMT-05:00 America/Atikokan',
34
+ '-480': 'GMT-05:00 America/Bahia_Banderas',
35
+ '-360': 'GMT-06:00 America/Belize',
36
+ '-420': 'GMT-06:00 America/Boise',
37
+ '-540': 'GMT-07:00 America/Dawson',
38
+ '-135': 'GMT-04:00 America/Guyana',
39
+ '-120': 'GMT-02:00 Etc/GMT+2',
40
+ '-150': 'GMT-03:00 America/Paramaribo',
41
+ '-210': 'GMT-04:00 America/Santo_Domingo',
42
+ '-720': 'GMT+12:00 Pacific/Kwajalein',
43
+ '-560': 'GMT+14:00 Pacific/Kiritimati',
44
+ '-510': 'GMT-09:30 Pacific/Marquesas',
45
+ '-630': 'GMT-11:00 Pacific/Niue',
46
+ '-450': 'GMT-08:00 Pacific/Pitcairn',
47
+ '-570': 'GMT-10:00 Pacific/Rarotonga'
48
+ };
@@ -1,3 +1,4 @@
1
+ import { offsetMap } from './GMTZones.js';
1
2
  let dateFormat = {
2
3
  dayNames: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
3
4
  monthNames: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec', 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
@@ -10,8 +11,15 @@ export function pad(n) {
10
11
  n = `${n}`;
11
12
  return n.length >= width ? n : new Array(width - n.length + 1).join(z) + n;
12
13
  }
14
+ export function getTimeOffset() {
15
+ const GMT = new Date();
16
+ const matchingOffset = Object.keys(offsetMap).find(offset => GMT.getTimezoneOffset() === Number(offset));
17
+ return matchingOffset ? offsetMap[matchingOffset].toString().split(' ') : ['', ''];
18
+ }
13
19
  export function formatDate(dateMill, mask) {
14
20
  let date = new Date(dateMill);
21
+ let O = getTimeOffset()[0];
22
+ let Z = getTimeOffset()[1];
15
23
  let d = date.getDate();
16
24
  let D = date.getDay();
17
25
  let m = date.getMonth();
@@ -22,6 +30,7 @@ export function formatDate(dateMill, mask) {
22
30
  let L = date.getMilliseconds();
23
31
  let flags = {
24
32
  d: d,
33
+ O: O,
25
34
  dd: pad(d, 2),
26
35
  ddd: dateFormat.dayNames[D],
27
36
  dddd: dateFormat.dayNames[D + 7],
@@ -49,13 +58,18 @@ export function formatDate(dateMill, mask) {
49
58
  L: pad(Math.round(L / 10)),
50
59
  t: H < 12 ? dateFormat.timeNames[0] : dateFormat.timeNames[1],
51
60
  A: H < 12 ? dateFormat.timeNames[6] : dateFormat.timeNames[7],
52
- T: H < 12 ? dateFormat.timeNames[4] : dateFormat.timeNames[5]
61
+ a: H < 12 ? dateFormat.timeNames[6] : dateFormat.timeNames[7],
62
+ T: H < 12 ? dateFormat.timeNames[4] : dateFormat.timeNames[5],
63
+ Z: Z,
64
+ VV: Z,
65
+ SSS: pad(L, 3)
53
66
  };
54
- let token = /D{1,4}|d{1,4}|M{1,4}|YYYY|yyyy|YY|yy?|([HhmsA])\1?|[LloSZWN]|\[[^\]]*\]|'[^']*'/g;
67
+ let token = /D{1,4}|d{1,4}|M{1,4}|YYYY|yyyy|YY|O|Z|VV|SSS|yy?|([HhmsAa])\1?|[LloSZWN]|\[[^\]]*\]|'[^']*'/g;
55
68
  let dat = mask.replace(token, match => {
56
69
  if (match in flags) {
57
70
  return flags[match];
58
71
  }
72
+
59
73
  return match.slice(1, match.length - 1);
60
74
  });
61
75
  return dat;
@@ -70,6 +84,7 @@ export function replaceI18NValuesWithRegex(i18nStr, values) {
70
84
  i18nStr = i18nStr.replace(new RegExp('\\{0\\}', 'g'), values);
71
85
  }
72
86
  }
87
+
73
88
  return i18nStr;
74
89
  }
75
90
  export function unescapeUnicode(str) {
@@ -84,25 +99,28 @@ export function getI18NValue(i18n) {
84
99
  if (typeof i18n === 'undefined') {
85
100
  return key => key;
86
101
  }
102
+
87
103
  return (key, values) => {
88
104
  let i18nStr = i18n[key];
105
+
89
106
  if (i18nStr === undefined) {
90
107
  return key;
91
108
  }
109
+
92
110
  i18nStr = replaceI18NValuesWithRegex(i18nStr, values);
93
111
  return unescapeUnicode(i18nStr);
94
112
  };
95
- }
96
-
97
- // function getValues(params = [], diff) {
113
+ } // function getValues(params = [], diff) {
98
114
  // return params.map(param => {
99
115
  // return diff[param];
100
116
  // });
101
117
  // }
118
+
102
119
  export function getI18NInfo(toDateObj, props, diffObj) {
103
120
  let key = null,
104
- values,
105
- text = null;
121
+ values,
122
+ text = null;
123
+
106
124
  if (typeof props === 'function') {
107
125
  let value = props(diffObj1);
108
126
  key = value.key;
@@ -113,6 +131,7 @@ export function getI18NInfo(toDateObj, props, diffObj) {
113
131
  } else if (typeof props === 'string') {
114
132
  text = toDateObj.format(props);
115
133
  }
134
+
116
135
  return {
117
136
  key,
118
137
  values,
@@ -141,12 +160,15 @@ let oneYearInMillis = 31536000000;
141
160
  let oneDayInMillis = 86400000;
142
161
  let oneHourInMillis = 3600000;
143
162
  let oneMinuteInMillis = 60000;
163
+
144
164
  function convertAsNonExponential(number) {
145
165
  if (number.toString().toLowerCase().indexOf('e') !== -1) {
146
166
  return number.toFixed(20);
147
167
  }
168
+
148
169
  return number;
149
170
  }
171
+
150
172
  export function getDiffObj(diff) {
151
173
  diff = Math.abs(diff);
152
174
  let diffYears = diff / oneYearInMillis;
@@ -173,8 +195,10 @@ export function getDiffObj(diff) {
173
195
  export function getMonthEnd(month, year) {
174
196
  let monthend = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
175
197
  let isLeapYear = year % 400 === 0 || year % 4 === 0 && year % 100 !== 0;
198
+
176
199
  if (month === 1 && isLeapYear) {
177
200
  return 29;
178
201
  }
202
+
179
203
  return monthend[month];
180
204
  }
@@ -2,16 +2,20 @@ export function debounce(func, wait, immediate) {
2
2
  let timeout;
3
3
  return function () {
4
4
  let context = this,
5
- args = arguments;
5
+ args = arguments;
6
+
6
7
  let later = function () {
7
8
  timeout = null;
9
+
8
10
  if (!immediate) {
9
11
  func.apply(context, args);
10
12
  }
11
13
  };
14
+
12
15
  let callNow = immediate && !timeout;
13
16
  clearTimeout(timeout);
14
17
  timeout = setTimeout(later, wait);
18
+
15
19
  if (callNow) {
16
20
  func.apply(context, args);
17
21
  }