@zohodesk/components 1.0.0-test-252 → 1.0.0

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 (601) hide show
  1. package/README.md +161 -1
  2. package/assets/Appearance/dark/mode/darkMode.module.css +181 -179
  3. package/assets/Appearance/dark/themes/blue/blueDarkCTAModifyCategory.module.css +452 -0
  4. package/assets/Appearance/dark/themes/blue/blueDarkCTATheme.module.css +31 -31
  5. package/assets/Appearance/dark/themes/blue/blueDarkComponentTheme.module.css +3 -0
  6. package/assets/Appearance/dark/themes/green/greenDarkCTAModifyCategory.module.css +452 -0
  7. package/assets/Appearance/dark/themes/green/greenDarkCTATheme.module.css +30 -30
  8. package/assets/Appearance/dark/themes/green/greenDarkComponentTheme.module.css +3 -0
  9. package/assets/Appearance/dark/themes/orange/orangeDarkCTAModifyCategory.module.css +452 -0
  10. package/assets/Appearance/dark/themes/orange/orangeDarkCTATheme.module.css +30 -30
  11. package/assets/Appearance/dark/themes/orange/orangeDarkComponentTheme.module.css +3 -0
  12. package/assets/Appearance/dark/themes/red/redDarkCTAModifyCategory.module.css +452 -0
  13. package/assets/Appearance/dark/themes/red/redDarkCTATheme.module.css +30 -30
  14. package/assets/Appearance/dark/themes/red/redDarkComponentTheme.module.css +3 -0
  15. package/assets/Appearance/dark/themes/yellow/yellowDarkCTAModifyCategory.module.css +452 -0
  16. package/assets/Appearance/dark/themes/yellow/yellowDarkCTATheme.module.css +30 -30
  17. package/assets/Appearance/dark/themes/yellow/yellowDarkComponentTheme.module.css +3 -0
  18. package/assets/Appearance/default/mode/defaultMode.module.css +177 -175
  19. package/assets/Appearance/default/themes/blue/blueDefaultCTAModifyCategory.module.css +452 -0
  20. package/assets/Appearance/default/themes/blue/blueDefaultCTATheme.module.css +31 -31
  21. package/assets/Appearance/default/themes/blue/blueDefaultComponentTheme.module.css +3 -0
  22. package/assets/Appearance/default/themes/green/greenDefaultCTAModifyCategory.module.css +452 -0
  23. package/assets/Appearance/default/themes/green/greenDefaultCTATheme.module.css +30 -30
  24. package/assets/Appearance/default/themes/green/greenDefaultComponentTheme.module.css +3 -0
  25. package/assets/Appearance/default/themes/orange/orangeDefaultCTAModifyCategory.module.css +452 -0
  26. package/assets/Appearance/default/themes/orange/orangeDefaultCTATheme.module.css +30 -30
  27. package/assets/Appearance/default/themes/orange/orangeDefaultComponentTheme.module.css +3 -0
  28. package/assets/Appearance/default/themes/red/redDefaultCTAModifyCategory.module.css +452 -0
  29. package/assets/Appearance/default/themes/red/redDefaultCTATheme.module.css +30 -30
  30. package/assets/Appearance/default/themes/red/redDefaultComponentTheme.module.css +3 -0
  31. package/assets/Appearance/default/themes/yellow/yellowDefaultCTAModifyCategory.module.css +452 -0
  32. package/assets/Appearance/default/themes/yellow/yellowDefaultCTATheme.module.css +30 -30
  33. package/assets/Appearance/default/themes/yellow/yellowDefaultComponentTheme.module.css +3 -0
  34. package/assets/Appearance/pureDark/mode/pureDarkMode.module.css +182 -180
  35. package/assets/Appearance/pureDark/themes/blue/bluePureDarkCTAModifyCategory.module.css +452 -0
  36. package/assets/Appearance/pureDark/themes/blue/bluePureDarkCTATheme.module.css +31 -31
  37. package/assets/Appearance/pureDark/themes/blue/bluePureDarkComponentTheme.module.css +3 -0
  38. package/assets/Appearance/pureDark/themes/green/greenPureDarkCTAModifyCategory.module.css +452 -0
  39. package/assets/Appearance/pureDark/themes/green/greenPureDarkCTATheme.module.css +30 -30
  40. package/assets/Appearance/pureDark/themes/green/greenPureDarkComponentTheme.module.css +3 -0
  41. package/assets/Appearance/pureDark/themes/orange/orangePureDarkCTAModifyCategory.module.css +452 -0
  42. package/assets/Appearance/pureDark/themes/orange/orangePureDarkCTATheme.module.css +30 -30
  43. package/assets/Appearance/pureDark/themes/orange/orangePureDarkComponentTheme.module.css +3 -0
  44. package/assets/Appearance/pureDark/themes/red/redPureDarkCTAModifyCategory.module.css +452 -0
  45. package/assets/Appearance/pureDark/themes/red/redPureDarkCTATheme.module.css +30 -30
  46. package/assets/Appearance/pureDark/themes/red/redPureDarkComponentTheme.module.css +3 -0
  47. package/assets/Appearance/pureDark/themes/yellow/yellowPureDarkCTAModifyCategory.module.css +452 -0
  48. package/assets/Appearance/pureDark/themes/yellow/yellowPureDarkCTATheme.module.css +30 -30
  49. package/assets/Appearance/pureDark/themes/yellow/yellowPureDarkComponentTheme.module.css +3 -0
  50. package/assets/Contrast/darkContrastLightness.module.css +39 -0
  51. package/assets/Contrast/defaultContrastLightness.module.css +39 -0
  52. package/assets/Contrast/pureDarkContrastLightness.module.css +39 -0
  53. package/css_error.log +1 -0
  54. package/es/Accordion/Accordion.js +19 -9
  55. package/es/Accordion/AccordionItem.js +13 -8
  56. package/es/Accordion/props/defaultProps.js +6 -2
  57. package/es/Accordion/props/propTypes.js +3 -0
  58. package/es/Animation/Animation.js +10 -9
  59. package/es/AppContainer/AppContainer.js +38 -15
  60. package/es/AppContainer/AppContainer.module.css +2 -2
  61. package/es/AppContainer/props/defaultProps.js +3 -1
  62. package/es/AppContainer/props/propTypes.js +2 -0
  63. package/es/Avatar/Avatar.js +48 -25
  64. package/es/Avatar/Avatar.module.css +59 -18
  65. package/es/Avatar/props/defaultProps.js +4 -1
  66. package/es/Avatar/props/propTypes.js +5 -2
  67. package/es/AvatarTeam/AvatarTeam.js +21 -11
  68. package/es/AvatarTeam/AvatarTeam.module.css +49 -21
  69. package/es/AvatarTeam/props/defaultProps.js +5 -1
  70. package/es/AvatarTeam/props/propTypes.js +5 -1
  71. package/es/Button/Button.js +55 -51
  72. package/{lib/Button → es/Button/css}/Button.module.css +62 -58
  73. package/es/Button/css/cssJSLogic.js +53 -0
  74. package/es/Button/index.js +2 -0
  75. package/es/Button/props/defaultProps.js +3 -1
  76. package/es/Button/props/propTypes.js +6 -2
  77. package/es/Buttongroup/Buttongroup.js +24 -16
  78. package/es/Buttongroup/Buttongroup.module.css +45 -28
  79. package/es/Buttongroup/props/defaultProps.js +3 -1
  80. package/es/Buttongroup/props/propTypes.js +3 -1
  81. package/es/Card/Card.js +48 -26
  82. package/es/Card/props/defaultProps.js +12 -2
  83. package/es/Card/props/propTypes.js +2 -2
  84. package/es/CheckBox/CheckBox.js +13 -9
  85. package/es/CheckBox/CheckBox.module.css +16 -16
  86. package/es/CheckBox/props/propTypes.js +1 -0
  87. package/es/DateTime/CalendarView.js +46 -19
  88. package/es/DateTime/DateTime.js +139 -77
  89. package/es/DateTime/DateTime.module.css +51 -48
  90. package/es/DateTime/DateTimePopupFooter.js +4 -2
  91. package/es/DateTime/DateTimePopupHeader.js +30 -11
  92. package/es/DateTime/DateWidget.js +122 -51
  93. package/es/DateTime/DateWidget.module.css +5 -5
  94. package/es/DateTime/DaysRow.js +6 -3
  95. package/es/DateTime/Time.js +10 -2
  96. package/es/DateTime/YearView.js +41 -9
  97. package/es/DateTime/YearView.module.css +33 -15
  98. package/es/DateTime/__tests__/CalendarView.spec.js +1 -0
  99. package/es/DateTime/__tests__/DateTime.spec.js +1 -0
  100. package/es/DateTime/__tests__/DateWidget.spec.js +2 -3
  101. package/es/DateTime/common.js +3 -0
  102. package/es/DateTime/constants.js +1 -0
  103. package/es/DateTime/dateFormatUtils/dateFormat.js +63 -30
  104. package/es/DateTime/dateFormatUtils/dateFormats.js +42 -0
  105. package/es/DateTime/dateFormatUtils/dayChange.js +13 -4
  106. package/es/DateTime/dateFormatUtils/index.js +59 -2
  107. package/es/DateTime/dateFormatUtils/monthChange.js +8 -0
  108. package/es/DateTime/dateFormatUtils/timeChange.js +22 -6
  109. package/es/DateTime/dateFormatUtils/yearChange.js +11 -2
  110. package/es/DateTime/index.js +1 -1
  111. package/es/DateTime/objectUtils.js +14 -20
  112. package/es/DateTime/props/defaultProps.js +2 -1
  113. package/es/DateTime/props/propTypes.js +5 -2
  114. package/es/DateTime/typeChecker.js +3 -0
  115. package/es/DateTime/validator.js +58 -6
  116. package/es/DropBox/DropBox.js +82 -218
  117. package/es/DropBox/DropBoxElement/DropBoxElement.js +132 -0
  118. package/es/DropBox/DropBoxElement/css/DropBoxElement.module.css +435 -0
  119. package/es/DropBox/DropBoxElement/css/cssJSLogic.js +91 -0
  120. package/es/DropBox/DropBoxElement/props/defaultProps.js +18 -0
  121. package/es/DropBox/DropBoxElement/props/propTypes.js +45 -0
  122. package/es/DropBox/DropBoxElement/useDropboxPosCalc.js +54 -0
  123. package/es/DropBox/__tests__/DropBox.spec.js +2 -2
  124. package/es/DropBox/css/DropBox.module.css +59 -0
  125. package/es/DropBox/css/cssJSLogic.js +14 -0
  126. package/es/DropBox/props/defaultProps.js +9 -15
  127. package/es/DropBox/props/propTypes.js +9 -41
  128. package/es/DropDown/DropDown.js +16 -9
  129. package/es/DropDown/DropDown.module.css +2 -2
  130. package/es/DropDown/DropDownHeading.js +18 -11
  131. package/es/DropDown/DropDownHeading.module.css +3 -3
  132. package/es/DropDown/DropDownItem.js +8 -1
  133. package/es/DropDown/DropDownItem.module.css +9 -9
  134. package/es/DropDown/DropDownSearch.js +4 -0
  135. package/es/DropDown/DropDownSeparator.js +1 -0
  136. package/es/DropDown/DropDownSeparator.module.css +2 -2
  137. package/es/DropDown/__tests__/DropDown.spec.js +1 -2
  138. package/es/DropDown/index.js +7 -0
  139. package/es/DropDown/props/defaultProps.js +3 -1
  140. package/es/DropDown/props/propTypes.js +2 -1
  141. package/es/Heading/Heading.js +8 -7
  142. package/es/Heading/Heading.module.css +2 -2
  143. package/es/Label/Label.js +14 -9
  144. package/es/Label/Label.module.css +1 -1
  145. package/es/Label/props/defaultProps.js +2 -1
  146. package/es/Label/props/propTypes.js +1 -0
  147. package/es/Layout/Box.js +19 -4
  148. package/es/Layout/Container.js +18 -5
  149. package/es/Layout/Layout.module.css +15 -15
  150. package/es/Layout/index.js +9 -10
  151. package/es/Layout/props/defaultProps.js +6 -2
  152. package/es/Layout/props/propTypes.js +7 -3
  153. package/es/Layout/utils.js +5 -1
  154. package/es/ListItem/ListContainer.js +21 -9
  155. package/es/ListItem/ListItem.js +30 -14
  156. package/es/ListItem/ListItem.module.css +37 -30
  157. package/es/ListItem/ListItemWithAvatar.js +30 -15
  158. package/es/ListItem/ListItemWithCheckBox.js +22 -10
  159. package/es/ListItem/ListItemWithIcon.js +29 -14
  160. package/es/ListItem/ListItemWithRadio.js +22 -10
  161. package/es/ListItem/index.js +6 -0
  162. package/es/ListItem/props/defaultProps.js +18 -6
  163. package/es/ListItem/props/propTypes.js +13 -1
  164. package/es/Modal/Modal.js +35 -17
  165. package/es/MultiSelect/AdvancedGroupMultiSelect.js +100 -20
  166. package/es/MultiSelect/AdvancedMultiSelect.js +45 -19
  167. package/es/MultiSelect/EmptyState.js +6 -0
  168. package/es/MultiSelect/MultiSelect.js +129 -46
  169. package/es/MultiSelect/MultiSelect.module.css +32 -31
  170. package/es/MultiSelect/MultiSelectHeader.js +3 -0
  171. package/es/MultiSelect/MultiSelectWithAvatar.js +43 -19
  172. package/es/MultiSelect/SelectedOptions.js +6 -3
  173. package/es/MultiSelect/SelectedOptions.module.css +5 -5
  174. package/es/MultiSelect/Suggestions.js +13 -6
  175. package/es/MultiSelect/__tests__/MultiSelect.spec.js +4 -6
  176. package/es/MultiSelect/index.js +4 -0
  177. package/es/MultiSelect/props/defaultProps.js +11 -4
  178. package/es/MultiSelect/props/propTypes.js +17 -5
  179. package/es/PopOver/PopOver.js +25 -9
  180. package/es/PopOver/__tests__/PopOver.spec.js +2 -1
  181. package/es/PopOver/index.js +3 -0
  182. package/es/Popup/Popup.js +80 -31
  183. package/es/Popup/__tests__/Popup.spec.js +17 -5
  184. package/es/Popup/viewPort.js +16 -4
  185. package/es/Provider/AvatarSize.js +1 -0
  186. package/es/Provider/IdProvider.js +16 -10
  187. package/es/Provider/LibraryContext.js +6 -4
  188. package/es/Provider/NumberGenerator/NumberGenerator.js +21 -7
  189. package/es/Provider/ZindexProvider.js +9 -2
  190. package/es/Provider/index.js +4 -0
  191. package/es/Radio/Radio.js +9 -7
  192. package/es/Radio/Radio.module.css +3 -3
  193. package/es/Responsive/CustomResponsive.js +37 -21
  194. package/es/Responsive/RefWrapper.js +6 -7
  195. package/es/Responsive/ResizeComponent.js +35 -25
  196. package/es/Responsive/ResizeObserver.js +26 -6
  197. package/es/Responsive/Responsive.js +34 -20
  198. package/es/Responsive/index.js +9 -8
  199. package/es/Responsive/sizeObservers.js +28 -7
  200. package/es/Responsive/utils/index.js +7 -5
  201. package/es/Responsive/utils/shallowCompare.js +7 -2
  202. package/es/Responsive/windowResizeObserver.js +7 -0
  203. package/es/ResponsiveDropBox/ResponsiveDropBox.js +4 -0
  204. package/es/ResponsiveDropBox/ResponsiveDropBox.module.css +2 -2
  205. package/es/Ribbon/Ribbon.js +21 -15
  206. package/es/Ribbon/Ribbon.module.css +133 -55
  207. package/es/Ribbon/props/defaultProps.js +2 -1
  208. package/es/Ribbon/props/propTypes.js +2 -1
  209. package/es/RippleEffect/RippleEffect.js +6 -7
  210. package/es/Select/GroupSelect.js +71 -23
  211. package/es/Select/Select.js +115 -50
  212. package/es/Select/Select.module.css +23 -23
  213. package/es/Select/SelectWithAvatar.js +31 -12
  214. package/es/Select/SelectWithIcon.js +60 -14
  215. package/es/Select/__tests__/Select.spec.js +6 -8
  216. package/es/Select/index.js +4 -0
  217. package/es/Select/props/defaultProps.js +6 -1
  218. package/es/Select/props/propTypes.js +10 -4
  219. package/es/Stencils/Stencils.js +10 -9
  220. package/es/Stencils/Stencils.module.css +2 -2
  221. package/es/Switch/Switch.js +14 -8
  222. package/es/Switch/Switch.module.css +49 -32
  223. package/es/Switch/props/defaultProps.js +2 -1
  224. package/es/Switch/props/propTypes.js +1 -0
  225. package/es/Tab/Tab.js +14 -11
  226. package/es/Tab/Tab.module.css +14 -15
  227. package/es/Tab/TabContent.js +6 -3
  228. package/es/Tab/TabContentWrapper.js +6 -2
  229. package/es/Tab/TabWrapper.js +9 -4
  230. package/es/Tab/Tabs.js +85 -21
  231. package/es/Tab/Tabs.module.css +36 -40
  232. package/es/Tab/__tests__/Tab.spec.js +4 -12
  233. package/es/Tab/__tests__/TabWrapper.spec.js +1 -0
  234. package/es/Tab/props/defaultProps.js +10 -5
  235. package/es/Tab/props/propTypes.js +10 -5
  236. package/es/Tag/Tag.js +16 -10
  237. package/es/Tag/Tag.module.css +10 -10
  238. package/es/Tag/props/defaultProps.js +2 -1
  239. package/es/Tag/props/propTypes.js +2 -1
  240. package/es/TextBox/TextBox.js +26 -10
  241. package/es/TextBox/TextBox.module.css +6 -5
  242. package/es/TextBox/__tests__/TextBox.spec.js +1 -4
  243. package/es/TextBox/props/defaultProps.js +2 -1
  244. package/es/TextBox/props/propTypes.js +2 -1
  245. package/es/TextBoxIcon/TextBoxIcon.js +39 -13
  246. package/es/TextBoxIcon/TextBoxIcon.module.css +7 -6
  247. package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +2 -7
  248. package/es/TextBoxIcon/props/defaultProps.js +2 -1
  249. package/es/TextBoxIcon/props/propTypes.js +1 -0
  250. package/es/Textarea/Textarea.js +23 -10
  251. package/es/Textarea/Textarea.module.css +6 -6
  252. package/es/Textarea/__tests__/Textarea.spec.js +2 -2
  253. package/es/Textarea/props/defaultProps.js +2 -1
  254. package/es/Textarea/props/propTypes.js +1 -0
  255. package/es/Tooltip/Tooltip.js +67 -21
  256. package/es/Tooltip/Tooltip.module.css +40 -8
  257. package/es/Tooltip/__tests__/Tooltip.spec.js +5 -0
  258. package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +7 -6
  259. package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +11 -8
  260. package/es/VelocityAnimation/index.js +2 -0
  261. package/es/common/a11y.module.css +4 -0
  262. package/es/common/animation.module.css +8 -8
  263. package/es/common/avatarsizes.module.css +6 -2
  264. package/es/common/basicReset.module.css +3 -3
  265. package/es/common/boxShadow.module.css +34 -0
  266. package/es/common/common.module.css +24 -24
  267. package/es/common/customscroll.module.css +4 -2
  268. package/es/common/reset.module.css +1 -0
  269. package/es/css.js +2 -1
  270. package/es/deprecated/AdvancedMultiSelect.module.css +18 -18
  271. package/es/deprecated/PortalLayer/PortalLayer.js +30 -24
  272. package/es/index.js +30 -146
  273. package/es/semantic/Button/Button.js +9 -7
  274. package/es/semantic/Button/semanticButton.module.css +1 -1
  275. package/es/semantic/index.js +1 -0
  276. package/es/utils/Common.js +74 -7
  277. package/es/utils/ContextOptimizer.js +4 -5
  278. package/es/utils/__tests__/debounce.spec.js +2 -2
  279. package/es/utils/constructFullName.js +2 -0
  280. package/es/utils/css/compileClassNames.js +28 -0
  281. package/es/utils/css/mergeStyle.js +57 -0
  282. package/es/utils/css/utils.js +24 -0
  283. package/es/utils/datetime/GMTZones.js +48 -0
  284. package/es/utils/datetime/common.js +31 -7
  285. package/es/utils/debounce.js +5 -1
  286. package/es/utils/dropDownUtils.js +71 -13
  287. package/es/utils/getInitial.js +4 -0
  288. package/es/utils/index.js +3 -0
  289. package/es/utils/shallowEqual.js +6 -0
  290. package/install.md +10 -0
  291. package/lib/Accordion/Accordion.js +50 -18
  292. package/lib/Accordion/AccordionItem.js +47 -20
  293. package/lib/Accordion/__tests__/Accordion.spec.js +3 -0
  294. package/lib/Accordion/index.js +3 -0
  295. package/lib/Accordion/props/defaultProps.js +6 -2
  296. package/lib/Accordion/props/propTypes.js +6 -0
  297. package/lib/Animation/Animation.js +44 -21
  298. package/lib/Animation/__tests__/Animation.spec.js +11 -7
  299. package/lib/Animation/props/propTypes.js +3 -0
  300. package/lib/AppContainer/AppContainer.js +75 -27
  301. package/lib/AppContainer/AppContainer.module.css +2 -2
  302. package/lib/AppContainer/props/defaultProps.js +3 -1
  303. package/lib/AppContainer/props/propTypes.js +5 -0
  304. package/lib/Avatar/Avatar.js +97 -44
  305. package/lib/Avatar/Avatar.module.css +59 -18
  306. package/lib/Avatar/__tests__/Avatar.spec.js +44 -0
  307. package/lib/Avatar/props/defaultProps.js +4 -1
  308. package/lib/Avatar/props/propTypes.js +8 -2
  309. package/lib/AvatarTeam/AvatarTeam.js +64 -30
  310. package/lib/AvatarTeam/AvatarTeam.module.css +49 -21
  311. package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +13 -0
  312. package/lib/AvatarTeam/props/defaultProps.js +5 -1
  313. package/lib/AvatarTeam/props/propTypes.js +8 -1
  314. package/lib/Button/Button.js +64 -74
  315. package/{es/Button → lib/Button/css}/Button.module.css +62 -58
  316. package/lib/Button/css/cssJSLogic.js +41 -0
  317. package/lib/Button/index.js +23 -0
  318. package/lib/Button/props/defaultProps.js +5 -1
  319. package/lib/Button/props/propTypes.js +11 -3
  320. package/lib/Buttongroup/Buttongroup.js +49 -19
  321. package/lib/Buttongroup/Buttongroup.module.css +45 -28
  322. package/lib/Buttongroup/__test__/Buttongroup.spec.js +10 -0
  323. package/lib/Buttongroup/props/defaultProps.js +3 -1
  324. package/lib/Buttongroup/props/propTypes.js +6 -1
  325. package/lib/Card/Card.js +119 -55
  326. package/lib/Card/__tests__/Card.spec.js +10 -1
  327. package/lib/Card/index.js +4 -0
  328. package/lib/Card/props/defaultProps.js +16 -4
  329. package/lib/Card/props/propTypes.js +5 -2
  330. package/lib/CheckBox/CheckBox.js +76 -48
  331. package/lib/CheckBox/CheckBox.module.css +16 -16
  332. package/lib/CheckBox/__tests__/CheckBox.spec.js +3 -0
  333. package/lib/CheckBox/props/propTypes.js +4 -0
  334. package/lib/DateTime/CalendarView.js +95 -38
  335. package/lib/DateTime/DateTime.js +309 -216
  336. package/lib/DateTime/DateTime.module.css +51 -48
  337. package/lib/DateTime/DateTimePopupFooter.js +30 -5
  338. package/lib/DateTime/DateTimePopupHeader.js +69 -23
  339. package/lib/DateTime/DateWidget.js +370 -260
  340. package/lib/DateTime/DateWidget.module.css +5 -5
  341. package/lib/DateTime/DaysRow.js +28 -3
  342. package/lib/DateTime/Time.js +72 -29
  343. package/lib/DateTime/YearView.js +89 -30
  344. package/lib/DateTime/YearView.module.css +33 -15
  345. package/lib/DateTime/__tests__/CalendarView.spec.js +13 -5
  346. package/lib/DateTime/__tests__/DateTime.spec.js +51 -37
  347. package/lib/DateTime/__tests__/DateWidget.spec.js +10 -8
  348. package/lib/DateTime/common.js +6 -0
  349. package/lib/DateTime/constants.js +1 -0
  350. package/lib/DateTime/dateFormatUtils/dateFormat.js +184 -122
  351. package/lib/DateTime/dateFormatUtils/dateFormats.js +50 -0
  352. package/lib/DateTime/dateFormatUtils/dayChange.js +14 -7
  353. package/lib/DateTime/dateFormatUtils/index.js +99 -13
  354. package/lib/DateTime/dateFormatUtils/monthChange.js +19 -9
  355. package/lib/DateTime/dateFormatUtils/timeChange.js +52 -20
  356. package/lib/DateTime/dateFormatUtils/yearChange.js +22 -11
  357. package/lib/DateTime/index.js +3 -1
  358. package/lib/DateTime/objectUtils.js +24 -20
  359. package/lib/DateTime/props/defaultProps.js +2 -1
  360. package/lib/DateTime/props/propTypes.js +21 -2
  361. package/lib/DateTime/typeChecker.js +4 -0
  362. package/lib/DateTime/validator.js +69 -6
  363. package/lib/DropBox/DropBox.js +102 -249
  364. package/lib/DropBox/DropBoxElement/DropBoxElement.js +145 -0
  365. package/lib/DropBox/DropBoxElement/css/DropBoxElement.module.css +435 -0
  366. package/lib/DropBox/DropBoxElement/css/cssJSLogic.js +81 -0
  367. package/lib/DropBox/DropBoxElement/props/defaultProps.js +25 -0
  368. package/lib/DropBox/DropBoxElement/props/propTypes.js +56 -0
  369. package/lib/DropBox/DropBoxElement/useDropboxPosCalc.js +60 -0
  370. package/lib/DropBox/__tests__/DropBox.spec.js +8 -4
  371. package/lib/DropBox/css/DropBox.module.css +59 -0
  372. package/lib/DropBox/css/cssJSLogic.js +20 -0
  373. package/lib/DropBox/props/defaultProps.js +20 -17
  374. package/lib/DropBox/props/propTypes.js +22 -43
  375. package/lib/DropDown/DropDown.js +58 -10
  376. package/lib/DropDown/DropDown.module.css +2 -2
  377. package/lib/DropDown/DropDownHeading.js +47 -18
  378. package/lib/DropDown/DropDownHeading.module.css +3 -3
  379. package/lib/DropDown/DropDownItem.js +43 -18
  380. package/lib/DropDown/DropDownItem.module.css +9 -9
  381. package/lib/DropDown/DropDownSearch.js +39 -14
  382. package/lib/DropDown/DropDownSeparator.js +23 -1
  383. package/lib/DropDown/DropDownSeparator.module.css +2 -2
  384. package/lib/DropDown/__tests__/DropDown.spec.js +15 -9
  385. package/lib/DropDown/__tests__/DropDownItem.spec.js +9 -4
  386. package/lib/DropDown/__tests__/DropDownSearch.spec.js +3 -0
  387. package/lib/DropDown/index.js +65 -0
  388. package/lib/DropDown/props/defaultProps.js +3 -1
  389. package/lib/DropDown/props/propTypes.js +7 -1
  390. package/lib/Heading/Heading.js +42 -16
  391. package/lib/Heading/Heading.module.css +2 -2
  392. package/lib/Heading/props/propTypes.js +3 -0
  393. package/lib/Label/Label.js +47 -19
  394. package/lib/Label/Label.module.css +1 -1
  395. package/lib/Label/__tests__/Label.spec.js +14 -1
  396. package/lib/Label/props/defaultProps.js +2 -1
  397. package/lib/Label/props/propTypes.js +4 -0
  398. package/lib/Layout/Box.js +41 -16
  399. package/lib/Layout/Container.js +39 -15
  400. package/lib/Layout/Layout.module.css +15 -15
  401. package/lib/Layout/__tests__/Box.spec.js +65 -49
  402. package/lib/Layout/__tests__/Container.spec.js +67 -50
  403. package/lib/Layout/index.js +4 -11
  404. package/lib/Layout/props/defaultProps.js +6 -2
  405. package/lib/Layout/props/propTypes.js +10 -3
  406. package/lib/Layout/utils.js +15 -1
  407. package/lib/ListItem/ListContainer.js +61 -34
  408. package/lib/ListItem/ListItem.js +92 -50
  409. package/lib/ListItem/ListItem.module.css +37 -30
  410. package/lib/ListItem/ListItemWithAvatar.js +98 -54
  411. package/lib/ListItem/ListItemWithCheckBox.js +82 -41
  412. package/lib/ListItem/ListItemWithIcon.js +92 -50
  413. package/lib/ListItem/ListItemWithRadio.js +83 -42
  414. package/lib/ListItem/index.js +55 -0
  415. package/lib/ListItem/props/defaultProps.js +18 -6
  416. package/lib/ListItem/props/propTypes.js +18 -3
  417. package/lib/Modal/Modal.js +51 -13
  418. package/lib/Modal/props/propTypes.js +3 -0
  419. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +300 -167
  420. package/lib/MultiSelect/AdvancedMultiSelect.js +212 -130
  421. package/lib/MultiSelect/EmptyState.js +48 -21
  422. package/lib/MultiSelect/MultiSelect.js +341 -205
  423. package/lib/MultiSelect/MultiSelect.module.css +32 -31
  424. package/lib/MultiSelect/MultiSelectHeader.js +29 -5
  425. package/lib/MultiSelect/MultiSelectWithAvatar.js +126 -65
  426. package/lib/MultiSelect/SelectedOptions.js +42 -14
  427. package/lib/MultiSelect/SelectedOptions.module.css +5 -5
  428. package/lib/MultiSelect/Suggestions.js +66 -29
  429. package/lib/MultiSelect/__tests__/MultiSelect.spec.js +86 -75
  430. package/lib/MultiSelect/index.js +39 -0
  431. package/lib/MultiSelect/props/defaultProps.js +13 -4
  432. package/lib/MultiSelect/props/propTypes.js +20 -5
  433. package/lib/PopOver/PopOver.js +101 -53
  434. package/lib/PopOver/__tests__/PopOver.spec.js +4 -1
  435. package/lib/PopOver/index.js +31 -0
  436. package/lib/PopOver/props/propTypes.js +3 -0
  437. package/lib/Popup/Popup.js +158 -83
  438. package/lib/Popup/__tests__/Popup.spec.js +42 -5
  439. package/lib/Popup/viewPort.js +28 -14
  440. package/lib/Provider/AvatarSize.js +5 -0
  441. package/lib/Provider/Config.js +2 -0
  442. package/lib/Provider/CssProvider.js +4 -0
  443. package/lib/Provider/IdProvider.js +23 -12
  444. package/lib/Provider/LibraryContext.js +32 -10
  445. package/lib/Provider/LibraryContextInit.js +4 -0
  446. package/lib/Provider/NumberGenerator/NumberGenerator.js +43 -14
  447. package/lib/Provider/ZindexProvider.js +15 -3
  448. package/lib/Provider/index.js +81 -0
  449. package/lib/Radio/Radio.js +65 -40
  450. package/lib/Radio/Radio.module.css +3 -3
  451. package/lib/Radio/__tests__/Radiospec.js +9 -5
  452. package/lib/Radio/props/propTypes.js +3 -0
  453. package/lib/Responsive/CustomResponsive.js +76 -26
  454. package/lib/Responsive/RefWrapper.js +15 -7
  455. package/lib/Responsive/ResizeComponent.js +58 -27
  456. package/lib/Responsive/ResizeObserver.js +23 -6
  457. package/lib/Responsive/Responsive.js +76 -24
  458. package/lib/Responsive/index.js +49 -22
  459. package/lib/Responsive/props/propTypes.js +3 -0
  460. package/lib/Responsive/sizeObservers.js +51 -13
  461. package/lib/Responsive/utils/index.js +11 -3
  462. package/lib/Responsive/utils/shallowCompare.js +11 -2
  463. package/lib/Responsive/windowResizeObserver.js +8 -0
  464. package/lib/ResponsiveDropBox/ResponsiveDropBox.js +44 -14
  465. package/lib/ResponsiveDropBox/ResponsiveDropBox.module.css +2 -2
  466. package/lib/ResponsiveDropBox/props/propTypes.js +3 -0
  467. package/lib/Ribbon/Ribbon.js +48 -21
  468. package/lib/Ribbon/Ribbon.module.css +133 -55
  469. package/lib/Ribbon/__tests__/Ribbon.spec.js +22 -0
  470. package/lib/Ribbon/props/defaultProps.js +2 -1
  471. package/lib/Ribbon/props/propTypes.js +5 -1
  472. package/lib/RippleEffect/RippleEffect.js +23 -14
  473. package/lib/RippleEffect/props/propTypes.js +3 -0
  474. package/lib/Select/GroupSelect.js +240 -137
  475. package/lib/Select/Select.js +320 -220
  476. package/lib/Select/Select.module.css +23 -23
  477. package/lib/Select/SelectWithAvatar.js +112 -59
  478. package/lib/Select/SelectWithIcon.js +145 -82
  479. package/lib/Select/__tests__/Select.spec.js +131 -89
  480. package/lib/Select/index.js +39 -0
  481. package/lib/Select/props/defaultProps.js +10 -2
  482. package/lib/Select/props/propTypes.js +13 -4
  483. package/lib/Stencils/Stencils.js +35 -13
  484. package/lib/Stencils/Stencils.module.css +2 -2
  485. package/lib/Stencils/__tests__/Stencils.spec.js +12 -0
  486. package/lib/Stencils/props/propTypes.js +3 -0
  487. package/lib/Switch/Switch.js +64 -35
  488. package/lib/Switch/Switch.module.css +49 -32
  489. package/lib/Switch/props/defaultProps.js +2 -1
  490. package/lib/Switch/props/propTypes.js +4 -0
  491. package/lib/Tab/Tab.js +49 -33
  492. package/lib/Tab/Tab.module.css +14 -15
  493. package/lib/Tab/TabContent.js +15 -6
  494. package/lib/Tab/TabContentWrapper.js +15 -6
  495. package/lib/Tab/TabWrapper.js +37 -17
  496. package/lib/Tab/Tabs.js +193 -94
  497. package/lib/Tab/Tabs.module.css +36 -40
  498. package/lib/Tab/__tests__/Tab.spec.js +74 -70
  499. package/lib/Tab/__tests__/TabContent.spec.js +10 -6
  500. package/lib/Tab/__tests__/TabContentWrapper.spec.js +28 -20
  501. package/lib/Tab/__tests__/TabWrapper.spec.js +12 -0
  502. package/lib/Tab/__tests__/Tabs.spec.js +53 -39
  503. package/lib/Tab/index.js +6 -0
  504. package/lib/Tab/props/defaultProps.js +10 -5
  505. package/lib/Tab/props/propTypes.js +13 -5
  506. package/lib/Tag/Tag.js +82 -48
  507. package/lib/Tag/Tag.module.css +10 -10
  508. package/lib/Tag/__tests__/Tag.spec.js +14 -8
  509. package/lib/Tag/props/defaultProps.js +2 -1
  510. package/lib/Tag/props/propTypes.js +5 -1
  511. package/lib/TextBox/TextBox.js +93 -61
  512. package/lib/TextBox/TextBox.module.css +6 -5
  513. package/lib/TextBox/__tests__/TextBox.spec.js +14 -4
  514. package/lib/TextBox/props/defaultProps.js +2 -1
  515. package/lib/TextBox/props/propTypes.js +6 -1
  516. package/lib/TextBoxIcon/TextBoxIcon.js +108 -60
  517. package/lib/TextBoxIcon/TextBoxIcon.module.css +7 -6
  518. package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +14 -5
  519. package/lib/TextBoxIcon/props/defaultProps.js +2 -1
  520. package/lib/TextBoxIcon/props/propTypes.js +4 -0
  521. package/lib/Textarea/Textarea.js +63 -32
  522. package/lib/Textarea/Textarea.module.css +6 -6
  523. package/lib/Textarea/__tests__/Textarea.spec.js +14 -2
  524. package/lib/Textarea/props/defaultProps.js +2 -1
  525. package/lib/Textarea/props/propTypes.js +4 -0
  526. package/lib/Tooltip/Tooltip.js +102 -35
  527. package/lib/Tooltip/Tooltip.module.css +40 -8
  528. package/lib/Tooltip/__tests__/Tooltip.spec.js +23 -0
  529. package/lib/Tooltip/props/propTypes.js +3 -0
  530. package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +43 -17
  531. package/lib/VelocityAnimation/VelocityAnimation/props/propTypes.js +3 -0
  532. package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +55 -24
  533. package/lib/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +3 -0
  534. package/lib/VelocityAnimation/index.js +23 -0
  535. package/lib/common/a11y.module.css +4 -0
  536. package/lib/common/animation.module.css +8 -8
  537. package/lib/common/avatarsizes.module.css +6 -2
  538. package/lib/common/basicReset.module.css +3 -3
  539. package/lib/common/boxShadow.module.css +34 -0
  540. package/lib/common/common.module.css +24 -24
  541. package/lib/common/customscroll.module.css +4 -2
  542. package/lib/common/reset.module.css +1 -0
  543. package/lib/css.js +42 -1
  544. package/lib/deprecated/AdvancedMultiSelect.module.css +18 -18
  545. package/lib/deprecated/PortalLayer/PortalLayer.js +50 -24
  546. package/lib/deprecated/PortalLayer/props/propTypes.js +3 -0
  547. package/lib/index.js +214 -210
  548. package/lib/semantic/Button/Button.js +47 -24
  549. package/lib/semantic/Button/props/propTypes.js +3 -0
  550. package/lib/semantic/Button/semanticButton.module.css +1 -1
  551. package/lib/semantic/index.js +15 -0
  552. package/lib/utils/Common.js +136 -17
  553. package/lib/utils/ContextOptimizer.js +16 -10
  554. package/lib/utils/__tests__/constructFullName.spec.js +1 -0
  555. package/lib/utils/__tests__/debounce.spec.js +3 -2
  556. package/lib/utils/__tests__/getInitial.spec.js +1 -0
  557. package/lib/utils/constructFullName.js +11 -2
  558. package/lib/utils/css/compileClassNames.js +37 -0
  559. package/lib/utils/css/mergeStyle.js +69 -0
  560. package/lib/utils/css/utils.js +41 -0
  561. package/lib/utils/datetime/GMTZones.js +55 -0
  562. package/lib/utils/datetime/common.js +52 -7
  563. package/lib/utils/debounce.js +6 -1
  564. package/lib/utils/dropDownUtils.js +177 -56
  565. package/lib/utils/dummyFunction.js +2 -0
  566. package/lib/utils/getHTMLFontSize.js +1 -0
  567. package/lib/utils/getInitial.js +6 -0
  568. package/lib/utils/index.js +121 -0
  569. package/lib/utils/scrollTo.js +2 -0
  570. package/lib/utils/shallowEqual.js +8 -0
  571. package/package.json +61 -26
  572. package/postPublish.js +8 -0
  573. package/prePublish.js +70 -0
  574. package/docs/external/active-line.js +0 -72
  575. package/docs/external/autorefresh.js +0 -47
  576. package/docs/external/codemirror.js +0 -9681
  577. package/docs/external/css/hopscotch.css +0 -576
  578. package/docs/external/css/styleGuide.css +0 -1100
  579. package/docs/external/css.js +0 -466
  580. package/docs/external/designTokens.js +0 -1
  581. package/docs/external/foldcode.js +0 -152
  582. package/docs/external/format.js +0 -129
  583. package/docs/external/htmlmixed.js +0 -84
  584. package/docs/external/images/bottom.png +0 -0
  585. package/docs/external/images/bottombg.jpg +0 -0
  586. package/docs/external/images/desk.png +0 -0
  587. package/docs/external/images/desklogo.png +0 -0
  588. package/docs/external/images/menu.png +0 -0
  589. package/docs/external/index.html +0 -127
  590. package/docs/external/javascript.js +0 -422
  591. package/docs/external/jsx.js +0 -148
  592. package/docs/external/matchbrackets.js +0 -145
  593. package/docs/external/xml.js +0 -322
  594. package/docs/package.json +0 -41
  595. package/docs/src/index.js +0 -1311
  596. package/es/Button/__tests__/Button.spec.js +0 -190
  597. package/es/Button/__tests__/__snapshots__/Button.spec.js.snap +0 -191
  598. package/es/DropBox/DropBox.module.css +0 -406
  599. package/lib/Button/__tests__/Button.spec.js +0 -193
  600. package/lib/Button/__tests__/__snapshots__/Button.spec.js.snap +0 -191
  601. package/lib/DropBox/DropBox.module.css +0 -406
package/es/index.js CHANGED
@@ -1,157 +1,41 @@
1
- // export { default as React } from 'react';
2
- // export { default as ReactDOM } from 'react-dom';
3
- // export { renderToStaticMarkup } from 'react-dom/server';
4
- export * from './Layout';
5
- // export { default as Layout__default } from './Layout/docs/Layout__default.docs';
6
- // export { default as Layout__two_Column } from './Layout/docs/Layout__two_Column.docs';
7
- // export { default as Layout__three_Column } from './Layout/docs/Layout__three_Column.docs';
8
- // export { default as Layout__four_Column } from './Layout/docs/Layout__four_Column.docs';
9
- // export { default as Layout__Hidden } from './Layout/docs/Layout__Hidden.docs';
10
- export { default as AppContainer } from './AppContainer/AppContainer';
11
- // export { default as AppContainer__default } from './AppContainer/docs/AppContainer__default.docs';
12
- export { default as Accordion } from './Accordion/Accordion';
13
- // export { default as Accordion__Demo } from './Accordion/docs/Accordion__Demo.docs';
1
+ export * from './Accordion';
14
2
  export { default as Animation } from './Animation/Animation';
15
- // export { default as Animation__default } from './Animation/docs/Animation__default.docs';
16
- // export { default as Animation__fadeIn } from './Animation/docs/Animation__fadeIn.docs';
17
- // export { default as Animation__scaleIn } from './Animation/docs/Animation__scaleIn.docs';
18
- // export { default as Animation__slideDown } from './Animation/docs/Animation__slideDown.docs';
19
- // export { default as Animation__slideLeft } from './Animation/docs/Animation__slideLeft.docs';
20
- // export { default as Animation__zoomIn } from './Animation/docs/Animation__zoomIn.docs';
21
- // export { default as Animation__skewIn } from './Animation/docs/Animation__skewIn.docs';
22
- export { default as Card } from './Card/Card';
23
- // export { default as Card__Default } from './Card/docs/Card__Default.docs';
24
- // export { default as Card__Scroll } from './Card/docs/Card__Scroll.docs';
25
- // export { default as Card__Custom } from './Card/docs/Card__Custom.docs';
3
+ export { default as AppContainer } from './AppContainer/AppContainer';
26
4
  export { default as Avatar } from './Avatar/Avatar';
27
- // export { default as Avatar__default } from './Avatar/docs/Avatar__default.docs';
28
- // export { default as Avatar__palette } from './Avatar/docs/Avatar__palette.docs';
29
- // export { default as Avatar__text } from './Avatar/docs/Avatar__text.docs';
30
- // export { default as Avatar__custom } from './Avatar/docs/Avatar__custom.docs';
31
5
  export { default as AvatarTeam } from './AvatarTeam/AvatarTeam';
32
- // export { default as AvatarTeam__default } from './AvatarTeam/docs/AvatarTeam__default.docs';
33
- // export { default as AvatarTeam__size } from './AvatarTeam/docs/AvatarTeam__size.docs';
34
- // export { default as AvatarTeam__palette } from './AvatarTeam/docs/AvatarTeam__palette.docs';
35
- // export { default as AvatarTeam__custom } from './AvatarTeam/docs/AvatarTeam__custom.docs';
36
6
  export { default as Button } from './Button/Button';
37
- // export { default as Button__default } from './Button/docs/Button__default.docs';
38
- // export { default as Button__custom } from './Button/docs/Button__custom.docs';
39
7
  export { default as Buttongroup } from './Buttongroup/Buttongroup';
40
- // export { default as Buttongroup__footer } from './Buttongroup/docs/Buttongroup__footer.docs';
41
- // export { default as Buttongroup__header } from './Buttongroup/docs/Buttongroup__header.docs';
42
- // export { default as Buttongroup__custom } from './Buttongroup/docs/Buttongroup__custom.docs';
43
- export { default as Switch } from './Switch/Switch';
44
- // export { default as Switch__default } from './Switch/docs/Switch__default.docs';
45
- // export { default as Switch__custom } from './Switch/docs/Switch__custom.docs';
46
- export { default as Radio } from './Radio/Radio';
47
- // export { default as Radio__default } from './Radio/docs/Radio__default.docs';
48
- // export { default as Radio__custom } from './Radio/docs/Radio__custom.docs';
49
- export { default as Textarea } from './Textarea/Textarea';
50
- // export { default as Textarea__default } from './Textarea/docs/Textarea__default.docs';
51
- // export { default as Textarea__animated } from './Textarea/docs/Textarea__animated.docs';
52
- // export { default as Textarea__disabled } from './Textarea/docs/Textarea__disabled.docs';
53
- // export { default as Textarea__custom } from './Textarea/docs/Textarea__custom.docs';
54
- export { default as Label } from './Label/Label';
55
- // export { default as Label__palette } from './Label/docs/Label__palette.docs';
56
- // export { default as Label__size } from './Label/docs/Label__size.docs';
57
- // export { default as Label__clipped } from './Label/docs/Label__clipped.docs';
58
- // export { default as Label__type } from './Label/docs/Label__type.docs';
59
- // export { default as Label__custom } from './Label/docs/Label__custom.docs';
60
- export { default as DropDownHeading } from './DropDown/DropDownHeading';
61
- // export { default as DropDownHeading__Heading } from './DropDown/docs/DropDownHeading__default.docs';
62
- // export { default as DropDownHeading__Custom } from './DropDown/docs/DropDownHeading__custom.docs';
8
+ export * from './Card';
63
9
  export { default as CheckBox } from './CheckBox/CheckBox';
64
- // export { default as CheckBox__default } from './CheckBox/docs/CheckBox__default.docs';
65
- // export { default as CheckBox__custom } from './CheckBox/docs/CheckBox__custom.docs';
10
+ export * from './DateTime';
11
+ export { default as DropBox } from './DropBox/DropBox';
12
+ export * from './DropDown';
13
+ export { default as Heading } from './Heading/Heading';
14
+ export { default as Label } from './Label/Label';
15
+ export * from './Layout';
16
+ export * from './ListItem';
17
+ export { default as Modal } from './Modal/Modal';
18
+ export * from './MultiSelect';
19
+ import * as _PopOver from './PopOver';
20
+ export { _PopOver as PopOver };
21
+ export { default as Popup } from './Popup/Popup';
22
+ import * as _Providers from './Provider';
23
+ export { _Providers as Providers };
24
+ export { default as Radio } from './Radio/Radio';
25
+ export * from './Responsive';
26
+ export { default as ResponsiveDropBox } from './ResponsiveDropBox/ResponsiveDropBox';
66
27
  export { default as Ribbon } from './Ribbon/Ribbon';
67
- // export { default as Ribbon__default } from './Ribbon/docs/Ribbon__default.docs';
68
- // export { default as Ribbon__custom } from './Ribbon/docs/Ribbon__custom.docs';
69
- export { default as Tag } from './Tag/Tag';
70
- // export { default as Tag__default } from './Tag/docs/Tag__default.docs';
71
- // export { default as Tag__custom } from './Tag/docs/Tag__custom.docs';
28
+ export { default as RippleEffect } from './RippleEffect/RippleEffect';
29
+ export * from './Select';
30
+ export { default as Stencils } from './Stencils/Stencils';
31
+ export { default as Switch } from './Switch/Switch';
72
32
  export * from './Tab';
73
- // export { default as Tab__default } from './Tab/docs/Tab__default.docs';
33
+ export { default as Tag } from './Tag/Tag';
34
+ export { default as Textarea } from './Textarea/Textarea';
74
35
  export { default as TextBox } from './TextBox/TextBox';
75
- // export { default as TextBox__default } from './TextBox/docs/TextBox__default.docs';
76
- // export { default as TextBox__size } from './TextBox/docs/TextBox__size.docs';
77
- // export { default as TextBox__variant } from './TextBox/docs/TextBox__variant.docs';
78
- // export { default as TextBox__custom } from './TextBox/docs/TextBox__custom.docs';
79
36
  export { default as TextBoxIcon } from './TextBoxIcon/TextBoxIcon';
80
- // export { default as TextBoxIcon__default } from './TextBoxIcon/docs/TextBoxIcon__default.docs';
81
- // export { default as TextBoxIcon__custom } from './TextBoxIcon/docs/TextBoxIcon__custom.docs';
82
37
  export { default as Tooltip } from './Tooltip/Tooltip';
83
- // export { default as Tooltip__default } from './Tooltip/docs/Tooltip__default.docs';
84
- export { default as Select } from './Select/Select';
85
- // export { default as Select__Select } from './Select/docs/Select__default.docs';
86
- export { default as SelectWithIcon } from './Select/SelectWithIcon';
87
- // export { default as SelectWithIcon__SelectWithIcon } from './Select/docs/SelectWithIcon__default.docs';
88
- export { default as GroupSelect } from './Select/GroupSelect';
89
- // export { default as GroupSelect__GroupSelect } from './Select/docs/GroupSelect__default.docs';
90
- export { default as SelectWithAvatar } from './Select/SelectWithAvatar';
91
- // export { default as SelectWithAvatar__SelectWithAvatar } from './Select/docs/SelectWithAvatar__default.docs';
92
- export { default as MultiSelect } from './MultiSelect/MultiSelect';
93
- // export { default as MultiSelect__MultiSelect } from './MultiSelect/docs/MultiSelect__default.docs';
94
- export { default as AdvancedMultiSelect } from './MultiSelect/AdvancedMultiSelect';
95
- // export { default as AdvancedMultiSelect__AdvancedMultiSelect } from './MultiSelect/docs/AdvancedMultiSelect__default.docs';
96
- export { default as AdvancedGroupMultiSelect } from './MultiSelect/AdvancedGroupMultiSelect';
97
- // export { default as AdvancedGroupMultiSelect__AdvancedGroupMultiSelect } from './MultiSelect/docs/AdvancedGroupMultiSelect__default.docs';
98
- export { default as MultiSelectWithAvatar } from './MultiSelect/MultiSelectWithAvatar';
99
- // export { default as MultiSelectWithAvatar__MultiSelectWithAvatar } from './MultiSelect/docs/MultiSelectWithAvatar__default.docs';
100
- export { default as DateWidget } from './DateTime/DateWidget';
101
- // export { default as DateWidget__dateWidget } from './DateTime/docs/DateWidget__default.docs';
102
- // export { default as DateWidget__datetime } from './DateTime/docs/DateTime__default.docs';
103
- export { default as ListItem } from './ListItem/ListItem';
104
- // export { default as ListItem__default } from './ListItem/docs/ListItem__default.docs';
105
- // export { default as ListItem__custom } from './ListItem/docs/ListItem__custom.docs';
106
- export { default as ListItemWithIcon } from './ListItem/ListItemWithIcon';
107
- // export { default as ListItemWithIcon__default } from './ListItem/docs/ListItemWithIcon__default.docs';
108
- // export { default as ListItemWithIcon__custom } from './ListItem/docs/ListItemWithIcon__custom.docs';
109
- export { default as ListItemWithCheckBox } from './ListItem/ListItemWithCheckBox';
110
- // export { default as ListItemWithCheckBox__default } from './ListItem/docs/ListItemWithCheckBox__default.docs';
111
- // export { default as ListItemWithCheckBox__custom } from './ListItem/docs/ListItemWithCheckBox__custom.docs';
112
- export { default as ListItemWithRadio } from './ListItem/ListItemWithRadio';
113
- // export { default as ListItemWithRadio__default } from './ListItem/docs/ListItemWithRadio__default.docs';
114
- // export { default as ListItemWithRadio__custom } from './ListItem/docs/ListItemWithRadio__custom.docs';
115
- export { default as ListItemWithAvatar } from './ListItem/ListItemWithAvatar';
116
- // export { default as ListItemWithAvatar__default } from './ListItem/docs/ListItemWithAvatar__default.docs';
117
- // export { default as ListItemWithAvatar__custom } from './ListItem/docs/ListItemWithAvatar__custom.docs';
118
- export { default as DropBox } from './DropBox/DropBox';
119
- // export { default as DropBox__position } from './DropBox/docs/DropBox__position.docs';
120
- // export { default as DropBox__size } from './DropBox/docs/DropBox__size.docs';
121
- // export { default as DropBox__custom } from './DropBox/docs/DropBox__custom.docs';
122
- // export { default as DropBox__customOrder } from './DropBox/docs/DropBox__customOrder.docs.js';
123
- // export { default as DropBox__fixedPosition } from './DropBox/docs/DropBox__fixedPosition.docs.js';
124
- export { default as PopOver } from './PopOver/PopOver';
125
- // export { default as PopOver__default } from './PopOver/docs/PopOver__default.docs.js';
126
- export { default as Stencils } from './Stencils/Stencils';
127
- // export { default as Stencils__default } from './Stencils/docs/Stencils__default.docs';
128
- // export { default as Stencils__custom } from './Stencils/docs/Stencils__custom.docs';
129
- export { default as Modal } from './Modal/Modal';
130
- // export { default as Modal__default } from './Modal/__docs__/Modal__default.docs';
131
- export * from './Responsive';
132
- // export { default as Responsive__Custom } from './Responsive/docs/Responsive__Custom.docs';
133
- // export { default as Responsive__default } from './Responsive/docs/Responsive__default.docs';
134
- export { default as RippleEffect } from './RippleEffect/RippleEffect';
135
- // export { default as RippleEffect__default } from './RippleEffect/docs/RippleEffect__default.docs';
136
- export { default as PortalLayer } from './deprecated/PortalLayer/PortalLayer';
137
- // export { default as PortalLayer__default } from './deprecated/PortalLayer/docs/PortalLayer__default.docs';
138
-
139
- export { default as VelocityAnimation } from './VelocityAnimation/VelocityAnimation/VelocityAnimation';
140
- // export { default as VelocityAnimation__VelocityAnimation } from './VelocityAnimation/VelocityAnimation/docs/VelocityAnimation__demo.docs';
141
- export { default as VelocityAnimationGroup } from './VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup';
142
- // export { default as VelocityAnimationGroup__VelocityAnimationGroup } from './VelocityAnimation/VelocityAnimationGroup/docs/VelocityAnimationGroup__demo.docs';
143
-
144
- export { Provider } from './Provider/IdProvider';
145
- // export { default as Provider__Id_For_ClassComponent } from './Provider/docs/Provider_Id__Class.docs';
146
- // export { default as Provider__Id_For_FunctionComponent } from './Provider/docs/Provider_Id__Function.docs';
147
- // export { default as Provider__Zindex_For_ClassComponent } from './Provider/docs/Provider_Zindex__Class.docs';
148
- // export { default as Provider__Zindex_For_FunctionComponent } from './Provider/docs/Provider_Zindex__Function.docs';
149
-
150
- //semantic//
151
- export { default as SemanticButton } from './semantic/Button/Button';
152
- // export { default as SemanticButton__default } from './semantic/Button/docs/Button__default.docs.js';
153
-
154
- // export { default as LightNightMode__AlternativeColors } from './LightNightMode/docs/AlternativeColors.docs';
155
- export { default as ResponsiveDropBox } from './ResponsiveDropBox/ResponsiveDropBox';
156
- export { default as Heading } from './Heading/Heading';
157
- // export { default as Heading__default } from './Heading/docs/Heading__default.docs.js';
38
+ import * as _utils from './utils';
39
+ export { _utils as utils };
40
+ export * from './VelocityAnimation';
41
+ export * from './semantic';
@@ -6,6 +6,7 @@ export default class Button extends React.Component {
6
6
  constructor(props) {
7
7
  super(props);
8
8
  }
9
+
9
10
  render() {
10
11
  const {
11
12
  value,
@@ -43,16 +44,17 @@ export default class Button extends React.Component {
43
44
  disabled: disabled,
44
45
  ref: ref,
45
46
  "data-id": dataId,
47
+ "data-test-id": dataId,
46
48
  onClick: onClick,
47
49
  "data-title": title
48
50
  }, children ? children : text);
49
51
  }
52
+
50
53
  }
51
54
  Button.defaultProps = defaultProps;
52
- Button.propTypes = propTypes;
53
- if (false) {
54
- Button.docs = {
55
- componentGroup: 'semantic',
56
- folderName: 'DefaultComponents'
57
- };
58
- }
55
+ Button.propTypes = propTypes; // if (__DOCS__) {
56
+ // Button.docs = {
57
+ // componentGroup: 'semantic',
58
+ // folderName: 'DefaultComponents'
59
+ // };
60
+ // }
@@ -4,6 +4,6 @@
4
4
  color: inherit;
5
5
  border: inherit;
6
6
  background-color: inherit;
7
- padding: 0;
7
+ padding: 0 ;
8
8
  text-align: inherit;
9
9
  }
@@ -0,0 +1 @@
1
+ export { default as SemanticButton } from './Button/Button';
@@ -9,12 +9,18 @@ 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();
15
19
  };
16
-
17
- // export function getCommentsDetails(
20
+ export function cancelBubblingEffect(e) {
21
+ e && e.stopPropagation && e.stopPropagation();
22
+ e && e.nativeEvent && e.nativeEvent.stopImmediatePropagation && e.nativeEvent.stopImmediatePropagation();
23
+ } // export function getCommentsDetails(
18
24
  // commentIds = [],
19
25
  // comments = {},
20
26
  // agents = {}
@@ -37,6 +43,7 @@ export function encodeForHtml(str) {
37
43
  str = str.replace(/\\/g, '\');
38
44
  str = str.replace(/'/g, ''');
39
45
  }
46
+
40
47
  return str;
41
48
  }
42
49
  export function getListOfDetails() {
@@ -48,6 +55,7 @@ export function getListOfDetails() {
48
55
  export function capitalize() {
49
56
  let value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
50
57
  let newValue = '';
58
+
51
59
  for (let i = 0; i < value.length; i++) {
52
60
  if (i == 0) {
53
61
  newValue += value[i].toUpperCase();
@@ -55,12 +63,14 @@ export function capitalize() {
55
63
  newValue += value[i].toLowerCase();
56
64
  }
57
65
  }
66
+
58
67
  return newValue;
59
68
  }
60
69
  export function bind() {
61
70
  for (var _len = arguments.length, handlers = new Array(_len), _key = 0; _key < _len; _key++) {
62
71
  handlers[_key] = arguments[_key];
63
72
  }
73
+
64
74
  handlers.forEach(handler => {
65
75
  this[handler] = this[handler].bind(this);
66
76
  });
@@ -69,12 +79,15 @@ export function getFullName() {
69
79
  let firstName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
70
80
  let lastName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
71
81
  let fullName = '';
82
+
72
83
  if (firstName !== null && firstName !== '') {
73
84
  fullName = firstName;
74
85
  }
86
+
75
87
  if (lastName !== null && lastName !== '') {
76
88
  fullName = `${fullName}${lastName}`;
77
89
  }
90
+
78
91
  return fullName;
79
92
  }
80
93
  export function getStringifiedOutputForJson() {
@@ -82,6 +95,7 @@ export function getStringifiedOutputForJson() {
82
95
  const keys = Object.keys(input);
83
96
  const modifiedInput = keys.reduce((curr, next) => {
84
97
  const values = input[next] || [];
98
+
85
99
  if (values.length) {
86
100
  const valueList = values.reduce((curr, next) => {
87
101
  curr.push(next.id);
@@ -90,6 +104,7 @@ export function getStringifiedOutputForJson() {
90
104
  curr[next] = valueList;
91
105
  return curr;
92
106
  }
107
+
93
108
  return curr;
94
109
  }, {});
95
110
  return JSON.stringify(modifiedInput);
@@ -105,6 +120,7 @@ export function filterValue(obj, val) {
105
120
  const ids = obj ? Object.keys(obj) : [];
106
121
  ids.forEach(key => {
107
122
  const value = obj[key] || {};
123
+
108
124
  if (value.name === val && !value.isCustomField) {
109
125
  result = value.id;
110
126
  }
@@ -126,34 +142,42 @@ export function formatValue() {
126
142
  let textField = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'name';
127
143
  return values && values.map(value => {
128
144
  let formattedValue = value;
145
+
129
146
  if (typeof value === 'string' || typeof value === 'number') {
130
147
  formattedValue = {};
131
148
  formattedValue[valueField] = value;
132
149
  formattedValue[textField] = value;
133
150
  }
151
+
134
152
  return formattedValue;
135
153
  }) || [];
136
154
  }
137
155
  export function bytesToSize(bytes) {
138
156
  bytes = parseInt(bytes, 10);
139
157
  const sizes = ['B', 'KB', 'MB', 'GB', 'TB'];
158
+
140
159
  if (bytes === 0) {
141
160
  return '0 Byte';
142
161
  }
162
+
143
163
  const i = parseInt(Math.floor(Math.log(bytes) / Math.log(1024)), 10);
144
164
  return `${Math.round(bytes / Math.pow(1024, i), 2)} ${sizes[i]}`;
145
165
  }
146
166
  export function getMemSize(bytes) {
147
167
  let size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !0;
148
168
  const thresh = size ? 1000 : 1024;
169
+
149
170
  if (Math.abs(bytes) < thresh) {
150
171
  return `${bytes} B`;
151
172
  }
173
+
152
174
  let units = size ? ['kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'] : ['KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB'],
153
- i = -1;
175
+ i = -1;
176
+
154
177
  do {
155
178
  bytes /= thresh, ++i;
156
179
  } while (Math.abs(bytes) >= thresh && i < units.length - 1);
180
+
157
181
  {
158
182
  return `${bytes.toFixed(1)} ${units[i]}`;
159
183
  }
@@ -162,18 +186,24 @@ export function checkIsImageFile(fileName) {
162
186
  fileName = fileName || '';
163
187
  return /jpeg|jpg|png|gif|bmp|tiff|tif|ico/gi.test(fileName.substr(fileName.lastIndexOf('.') + 1));
164
188
  }
189
+
165
190
  function getI18NValue(key, values) {
166
191
  if (typeof i18n === 'undefined' || key === '' || typeof key === 'undefined') {
167
192
  return key;
168
193
  }
194
+
169
195
  let i18nStr = i18n[key];
196
+
170
197
  if (i18nStr === undefined) {
171
198
  return key;
172
199
  }
200
+
173
201
  i18nStr = replaceI18NValuesWithRegex(i18nStr, values);
174
202
  return unescapeUnicode(i18nStr);
175
203
  }
204
+
176
205
  global.getI18NValue = getI18NValue;
206
+
177
207
  function replaceI18NValuesWithRegex(i18nStr, values) {
178
208
  if (typeof values !== 'undefined') {
179
209
  if (Array.isArray(values)) {
@@ -184,22 +214,27 @@ function replaceI18NValuesWithRegex(i18nStr, values) {
184
214
  i18nStr = i18nStr.replace(new RegExp('\\{0\\}', 'g'), values);
185
215
  }
186
216
  }
217
+
187
218
  return i18nStr;
188
219
  }
220
+
189
221
  function unescapeUnicode(str) {
190
222
  return str.replace(/\\u([a-fA-F0-9]{4})/g, (g, m1) => String.fromCharCode(parseInt(m1, 16)));
191
223
  }
224
+
192
225
  export function getPortalName(portalList, portalId) {
193
226
  return portalList && portalList.reduce((res, portal) => {
194
227
  if (portal.orgId === portalId) {
195
228
  return portal.orgName;
196
229
  }
230
+
197
231
  return res;
198
232
  }, null);
199
233
  }
200
234
  export function getFullDateString(fullDateObj) {
201
235
  let dateStr = '';
202
236
  const monthArr = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
237
+
203
238
  if (fullDateObj.toDateString() == new Date().toDateString()) {
204
239
  dateStr = format12Hour(fullDateObj);
205
240
  } else {
@@ -209,6 +244,7 @@ export function getFullDateString(fullDateObj) {
209
244
  const time = format12Hour(fullDateObj);
210
245
  dateStr = `${month} ${date} ${year} ${time}`;
211
246
  }
247
+
212
248
  return dateStr;
213
249
  }
214
250
  export function format12Hour(date) {
@@ -217,6 +253,7 @@ export function format12Hour(date) {
217
253
  const ampm = hours >= 12 ? 'pm' : 'am';
218
254
  hours %= 12;
219
255
  hours = hours ? hours : 12; // the hour '0' should be '12'
256
+
220
257
  minutes = minutes < 10 ? `0${minutes}` : minutes;
221
258
  const strTime = `${hours}:${minutes} ${ampm}`;
222
259
  return strTime;
@@ -224,6 +261,7 @@ export function format12Hour(date) {
224
261
  export function getDateOnly(fullDateObj) {
225
262
  let dateStr = '';
226
263
  const monthArr = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
264
+
227
265
  if (fullDateObj.toDateString() == new Date().toDateString()) {
228
266
  dateStr = 'Today';
229
267
  } else {
@@ -232,6 +270,7 @@ export function getDateOnly(fullDateObj) {
232
270
  const date = fullDateObj.getDate();
233
271
  dateStr = `${month} ${date} ${year}`;
234
272
  }
273
+
235
274
  return dateStr;
236
275
  }
237
276
  export function doAfterScrollEnd(element, callback) {
@@ -245,6 +284,7 @@ export function doAfterScrollEnd(element, callback) {
245
284
  scrollHeight
246
285
  } = element;
247
286
  const scrollPercent = scrollTop / (scrollHeight - clientHeight) * 100;
287
+
248
288
  if (scrollPercent > 80) {
249
289
  callback && callback();
250
290
  }
@@ -261,9 +301,11 @@ export const throttle = function (func, wait) {
261
301
  for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
262
302
  args[_key2 - 2] = arguments[_key2];
263
303
  }
304
+
264
305
  if (timerId) {
265
306
  return;
266
307
  }
308
+
267
309
  timerId = setTimeout(() => {
268
310
  try {
269
311
  func(...args);
@@ -276,6 +318,7 @@ export const scrollTo = function (suggestionContainer, selSuggestion) {
276
318
  if (!suggestionContainer || !selSuggestion) {
277
319
  return;
278
320
  }
321
+
279
322
  const {
280
323
  rectGap
281
324
  } = frameRelativeRects(selSuggestion, suggestionContainer) || {};
@@ -283,9 +326,11 @@ export const scrollTo = function (suggestionContainer, selSuggestion) {
283
326
  top = 0,
284
327
  bottom = 0
285
328
  } = rectGap || {};
329
+
286
330
  if (top < 0 && bottom < 0) {
287
331
  return;
288
332
  }
333
+
289
334
  const isElementInViewPort = top < 0 || bottom < 0 ? false : true;
290
335
  const suggestionContainerScrollTop = suggestionContainer.scrollTop;
291
336
  suggestionContainer.scrollTop = !isElementInViewPort ? bottom < 0 ? suggestionContainer.scrollTop + Math.abs(bottom) : top < 0 ? suggestionContainer.scrollTop - Math.abs(top) : suggestionContainerScrollTop : suggestionContainerScrollTop;
@@ -297,17 +342,21 @@ export function remConvert(val) {
297
342
  }
298
343
  export function isDescendant(parent, child) {
299
344
  let node = child.parentNode;
345
+
300
346
  while (node !== null) {
301
347
  if (node === parent) {
302
348
  return true;
303
349
  }
350
+
304
351
  node = node.parentNode;
305
352
  }
353
+
306
354
  return false;
307
355
  }
308
356
  export function getElementSpace(elementRef) {
309
357
  let neededSpace = 0,
310
- availableInsideSpace = 0;
358
+ availableInsideSpace = 0;
359
+
311
360
  if (elementRef) {
312
361
  let getStyle = window.getComputedStyle(elementRef);
313
362
  let margin = parseFloat(getStyle.marginLeft) + parseFloat(getStyle.marginRight);
@@ -316,6 +365,7 @@ export function getElementSpace(elementRef) {
316
365
  neededSpace = width + margin;
317
366
  availableInsideSpace = width - padding;
318
367
  }
368
+
319
369
  return {
320
370
  neededSpace: neededSpace,
321
371
  availableInsideSpace: availableInsideSpace
@@ -325,7 +375,6 @@ export function getSearchString() {
325
375
  let charachers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
326
376
  return (charachers || '').toString().toLowerCase(); //.replace(/\s+/g, '');
327
377
  }
328
-
329
378
  export function findScrollEnd(element) {
330
379
  let {
331
380
  scrollHeight,
@@ -334,12 +383,30 @@ export function findScrollEnd(element) {
334
383
  clientHeight
335
384
  } = element || {};
336
385
  let isElementScrollable = scrollHeight > clientHeight;
386
+
337
387
  if (isElementScrollable) {
338
388
  if (scrollHeight <= Math.ceil(scrollTop + offsetHeight)) {
339
389
  return true;
340
390
  }
341
- } else {
342
- throw 'Is scroll not present in this element';
391
+ } // else {
392
+ // throw 'Is scroll not present in this element';
393
+ // }
394
+
395
+
396
+ return false;
397
+ }
398
+ export function isTextSelected() {
399
+ let selectedText = '';
400
+
401
+ if (window.getSelection) {
402
+ selectedText = window.getSelection().toString();
403
+ } else if (document.getSelection) {
404
+ selectedText = document.getSelection().toString();
343
405
  }
406
+
407
+ if (selectedText !== '') {
408
+ return true;
409
+ }
410
+
344
411
  return false;
345
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') {
@@ -0,0 +1,28 @@
1
+ import { dataTypes, isDataTypeOf } from './utils';
2
+
3
+ const collectClassNames = function (processedClassNameList) {
4
+ for (let index = 0; index < (arguments.length <= 1 ? 0 : arguments.length - 1); index++) {
5
+ let classInfo = index + 1 < 1 || arguments.length <= index + 1 ? undefined : arguments[index + 1];
6
+
7
+ if (!classInfo) {
8
+ continue;
9
+ } else if (isDataTypeOf(classInfo, dataTypes.object)) {
10
+ for (let property in classInfo) {
11
+ if (Object.hasOwnProperty.call(classInfo, property) && property !== 'undefined' && property !== 'null' && classInfo[property] && !processedClassNameList.includes(property)) {
12
+ processedClassNameList.push(property);
13
+ }
14
+ }
15
+ }
16
+ }
17
+ };
18
+
19
+ export default function compileClassNames() {
20
+ let resultClassNameList = [];
21
+
22
+ for (var _len = arguments.length, classinfoList = new Array(_len), _key = 0; _key < _len; _key++) {
23
+ classinfoList[_key] = arguments[_key];
24
+ }
25
+
26
+ collectClassNames(resultClassNameList, ...classinfoList);
27
+ return resultClassNameList.filter(a => a !== '').join(' ');
28
+ }