@zohodesk/components 1.0.0-temp-154 → 1.0.0-temp-156

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