@zohodesk/components 1.0.0-temp-206.4 → 1.0.0-temp-207

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 (373) hide show
  1. package/.cli/propValidation_report.html +1 -1
  2. package/README.md +7 -8
  3. package/es/Accordion/Accordion.js +2 -2
  4. package/es/Accordion/AccordionItem.js +4 -4
  5. package/es/Accordion/__tests__/Accordion.spec.js +1 -1
  6. package/es/Accordion/__tests__/AccordionItem.spec.js +1 -1
  7. package/es/Accordion/index.js +2 -2
  8. package/es/Animation/Animation.js +3 -3
  9. package/es/Animation/__tests__/Animation.spec.js +1 -1
  10. package/es/Animation/utils.js +1 -1
  11. package/es/AppContainer/AppContainer.js +9 -9
  12. package/es/AppContainer/__tests__/AppContainer.spec.js +1 -1
  13. package/es/Avatar/Avatar.js +5 -5
  14. package/es/Avatar/__tests__/Avatar.spec.js +1 -1
  15. package/es/AvatarTeam/AvatarTeam.js +4 -4
  16. package/es/AvatarTeam/__tests__/AvatarTeam.spec.js +1 -1
  17. package/es/Button/Button.js +4 -4
  18. package/es/Button/__tests__/Button.spec.js +1 -1
  19. package/es/Button/index.js +2 -2
  20. package/es/Button/props/defaultProps.js +1 -1
  21. package/es/Buttongroup/Buttongroup.js +3 -3
  22. package/es/Buttongroup/__tests__/Buttongroup.spec.js +1 -1
  23. package/es/Card/Card.js +5 -5
  24. package/es/Card/__tests__/Card.spec.js +1 -1
  25. package/es/Card/index.js +4 -4
  26. package/es/CheckBox/CheckBox.js +6 -6
  27. package/es/CheckBox/__tests__/CheckBox.spec.js +1 -1
  28. package/es/DateTime/CalendarView.js +6 -6
  29. package/es/DateTime/DateTime.js +15 -15
  30. package/es/DateTime/DateTimePopupFooter.js +5 -5
  31. package/es/DateTime/DateTimePopupHeader.js +4 -4
  32. package/es/DateTime/DateWidget.js +17 -17
  33. package/es/DateTime/DaysRow.js +3 -3
  34. package/es/DateTime/Time.js +5 -5
  35. package/es/DateTime/YearView.js +6 -6
  36. package/es/DateTime/__tests__/CalendarView.spec.js +1 -1
  37. package/es/DateTime/__tests__/DateTime.spec.js +1 -1
  38. package/es/DateTime/__tests__/DateTimePopupFooter.spec.js +1 -1
  39. package/es/DateTime/__tests__/DateTimePopupHeader.spec.js +1 -1
  40. package/es/DateTime/__tests__/DateWidget.spec.js +1 -1
  41. package/es/DateTime/__tests__/DaysRow.spec.js +1 -1
  42. package/es/DateTime/__tests__/Time.spec.js +1 -1
  43. package/es/DateTime/__tests__/YearView.spec.js +1 -1
  44. package/es/DateTime/__tests__/__snapshots__/DateTime.spec.js.snap +1 -1
  45. package/es/DateTime/__tests__/__snapshots__/DateTimePopupHeader.spec.js.snap +1 -1
  46. package/es/DateTime/__tests__/__snapshots__/YearView.spec.js.snap +1 -1
  47. package/es/DateTime/dateFormatUtils/dateFormat.js +4 -4
  48. package/es/DateTime/dateFormatUtils/dayChange.js +2 -2
  49. package/es/DateTime/dateFormatUtils/index.js +3 -3
  50. package/es/DateTime/dateFormatUtils/monthChange.js +2 -2
  51. package/es/DateTime/dateFormatUtils/timeChange.js +2 -2
  52. package/es/DateTime/dateFormatUtils/yearChange.js +2 -2
  53. package/es/DateTime/index.js +1 -1
  54. package/es/DateTime/props/propTypes.js +1 -1
  55. package/es/DateTime/validator.js +2 -2
  56. package/es/DropBox/DropBox.js +9 -9
  57. package/es/DropBox/DropBoxElement/DropBoxElement.js +6 -6
  58. package/es/DropBox/DropBoxElement/__tests__/DropBoxElement.spec.js +1 -1
  59. package/es/DropBox/DropBoxElement/css/cssJSLogic.js +1 -1
  60. package/es/DropBox/DropBoxElement/useDropboxPosCalc.js +1 -1
  61. package/es/DropBox/__tests__/DropBox.spec.js +1 -1
  62. package/es/DropBox/css/cssJSLogic.js +1 -1
  63. package/es/DropBox/props/defaultProps.js +1 -1
  64. package/es/DropBox/props/propTypes.js +1 -1
  65. package/es/DropBox/utils/isMobilePopover.js +1 -1
  66. package/es/DropDown/DropDown.js +4 -4
  67. package/es/DropDown/DropDownHeading.js +3 -3
  68. package/es/DropDown/DropDownItem.js +3 -3
  69. package/es/DropDown/DropDownSearch.js +4 -4
  70. package/es/DropDown/DropDownSeparator.js +2 -2
  71. package/es/DropDown/__tests__/DropDown.spec.js +1 -1
  72. package/es/DropDown/__tests__/DropDownHeading.spec.js +1 -1
  73. package/es/DropDown/__tests__/DropDownItem.spec.js +1 -1
  74. package/es/DropDown/__tests__/DropDownSearch.spec.js +1 -1
  75. package/es/DropDown/__tests__/DropDownSeparator.spec.js +1 -1
  76. package/es/DropDown/index.js +7 -7
  77. package/es/DropDown/props/propTypes.js +1 -1
  78. package/es/Heading/Heading.js +8 -5
  79. package/es/Heading/__tests__/Heading.spec.js +10 -1
  80. package/es/Heading/__tests__/__snapshots__/Heading.spec.js.snap +55 -1
  81. package/es/Heading/props/propTypes.js +2 -1
  82. package/es/Label/Label.js +4 -4
  83. package/es/Label/__tests__/Label.spec.js +1 -1
  84. package/es/Layout/Box.js +4 -4
  85. package/es/Layout/Container.js +4 -4
  86. package/es/Layout/__tests__/Box.spec.js +1 -1
  87. package/es/Layout/__tests__/Container.spec.js +1 -1
  88. package/es/Layout/index.js +2 -2
  89. package/es/ListItem/ListContainer.js +6 -6
  90. package/es/ListItem/ListItem.js +5 -5
  91. package/es/ListItem/ListItemWithAvatar.js +12 -16
  92. package/es/ListItem/ListItemWithCheckBox.js +6 -6
  93. package/es/ListItem/ListItemWithIcon.js +5 -5
  94. package/es/ListItem/ListItemWithRadio.js +6 -6
  95. package/es/ListItem/__tests__/ListContainer.spec.js +1 -1
  96. package/es/ListItem/__tests__/ListItem.spec.js +1 -1
  97. package/es/ListItem/__tests__/ListItemWithAvatar.spec.js +1 -1
  98. package/es/ListItem/__tests__/ListItemWithCheckBox.spec.js +1 -1
  99. package/es/ListItem/__tests__/ListItemWithIcon.spec.js +1 -1
  100. package/es/ListItem/__tests__/ListItemWithRadio.spec.js +1 -1
  101. package/es/ListItem/index.js +6 -6
  102. package/es/ListItem/props/defaultProps.js +0 -1
  103. package/es/ListItem/props/propTypes.js +1 -4
  104. package/es/Modal/Modal.js +3 -3
  105. package/es/Modal/__tests__/Modal.spec.js +1 -1
  106. package/es/MultiSelect/AdvancedGroupMultiSelect.js +17 -17
  107. package/es/MultiSelect/AdvancedMultiSelect.js +17 -17
  108. package/es/MultiSelect/EmptyState.js +3 -3
  109. package/es/MultiSelect/MobileHeader/MobileHeader.js +5 -5
  110. package/es/MultiSelect/MobileHeader/__tests__/MobileHeader.spec.js +1 -1
  111. package/es/MultiSelect/MultiSelect.js +20 -20
  112. package/es/MultiSelect/MultiSelectHeader.js +4 -4
  113. package/es/MultiSelect/MultiSelectWithAvatar.js +16 -16
  114. package/es/MultiSelect/SelectedOptions.js +5 -5
  115. package/es/MultiSelect/Suggestions.js +6 -8
  116. package/es/MultiSelect/__tests__/AdvancedGroupMultiSelect.spec.js +1 -1
  117. package/es/MultiSelect/__tests__/AdvancedMultiSelect.spec.js +1 -1
  118. package/es/MultiSelect/__tests__/EmptyState.spec.js +1 -1
  119. package/es/MultiSelect/__tests__/MultiSelect.spec.js +1 -1
  120. package/es/MultiSelect/__tests__/MultiSelectHeader.spec.js +1 -1
  121. package/es/MultiSelect/__tests__/MultiSelectWithAvatar.spec.js +1 -1
  122. package/es/MultiSelect/__tests__/SelectedOptions.spec.js +1 -1
  123. package/es/MultiSelect/__tests__/Suggestions.spec.js +1 -1
  124. package/es/MultiSelect/index.js +4 -4
  125. package/es/MultiSelect/props/defaultProps.js +1 -1
  126. package/es/MultiSelect/props/propTypes.js +0 -1
  127. package/es/PopOver/PopOver.js +6 -6
  128. package/es/PopOver/__tests__/PopOver.spec.js +1 -1
  129. package/es/PopOver/index.js +3 -3
  130. package/es/Popup/Popup.js +3 -3
  131. package/es/Provider/AvatarSize.js +1 -1
  132. package/es/Provider/CssProvider.js +1 -1
  133. package/es/Provider/IdProvider.js +2 -2
  134. package/es/Provider/LibraryContext.js +2 -2
  135. package/es/Provider/ZindexProvider.js +2 -2
  136. package/es/Provider/index.js +4 -4
  137. package/es/Radio/Radio.js +5 -5
  138. package/es/Radio/__tests__/Radio.spec.js +1 -1
  139. package/es/Responsive/CustomResponsive.js +10 -17
  140. package/es/Responsive/ResizeComponent.js +2 -2
  141. package/es/Responsive/Responsive.js +6 -6
  142. package/es/Responsive/index.js +3 -3
  143. package/es/Responsive/props/propTypes.js +1 -2
  144. package/es/Responsive/utils/index.js +1 -1
  145. package/es/Responsive/windowResizeObserver.js +1 -1
  146. package/es/ResponsiveDropBox/ResponsiveDropBox.js +6 -6
  147. package/es/ResponsiveDropBox/__tests__/ResponsiveDropBox.spec.js +1 -1
  148. package/es/ResponsiveDropBox/props/propTypes.js +1 -1
  149. package/es/Ribbon/Ribbon.js +3 -3
  150. package/es/Ribbon/__tests__/Ribbon.spec.js +1 -1
  151. package/es/RippleEffect/RippleEffect.js +4 -4
  152. package/es/RippleEffect/__tests__/RippleEffect.spec.js +1 -1
  153. package/es/Select/GroupSelect.js +16 -16
  154. package/es/Select/Select.js +15 -15
  155. package/es/Select/SelectWithAvatar.js +17 -17
  156. package/es/Select/SelectWithIcon.js +13 -13
  157. package/es/Select/__tests__/GroupSelect.spec.js +1 -1
  158. package/es/Select/__tests__/Select.spec.js +1 -1
  159. package/es/Select/__tests__/SelectWithAvatar.spec.js +1 -1
  160. package/es/Select/__tests__/SelectWithIcon.spec.js +1 -1
  161. package/es/Select/index.js +4 -4
  162. package/es/Select/props/defaultProps.js +1 -1
  163. package/es/Stencils/Stencils.js +3 -3
  164. package/es/Stencils/__tests__/Stencils.spec.js +1 -1
  165. package/es/Switch/Switch.js +5 -5
  166. package/es/Switch/__tests__/Switch.spec.js +1 -1
  167. package/es/Tab/Tab.js +5 -5
  168. package/es/Tab/TabContent.js +4 -4
  169. package/es/Tab/TabContentWrapper.js +3 -3
  170. package/es/Tab/TabWrapper.js +3 -3
  171. package/es/Tab/Tabs.js +18 -25
  172. package/es/Tab/Tabs.module.css +2 -2
  173. package/es/Tab/__tests__/Tab.spec.js +1 -1
  174. package/es/Tab/__tests__/TabContent.spec.js +1 -1
  175. package/es/Tab/__tests__/TabContentWrapper.spec.js +1 -1
  176. package/es/Tab/__tests__/TabWrapper.spec.js +1 -1
  177. package/es/Tab/__tests__/Tabs.spec.js +1 -1
  178. package/es/Tab/index.js +5 -5
  179. package/es/Tab/props/propTypes.js +2 -2
  180. package/es/Tag/Tag.js +9 -11
  181. package/es/Tag/__tests__/Tag.spec.js +1 -1
  182. package/es/Tag/props/propTypes.js +1 -2
  183. package/es/TextBox/TextBox.js +3 -3
  184. package/es/TextBox/__tests__/TextBox.spec.js +1 -1
  185. package/es/TextBoxIcon/TextBoxIcon.js +6 -6
  186. package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +1 -1
  187. package/es/TextBoxIcon/props/propTypes.js +1 -1
  188. package/es/Textarea/Textarea.js +154 -27
  189. package/es/Textarea/Textarea.module.css +55 -4
  190. package/es/Textarea/TextareaOne.js +349 -0
  191. package/es/Textarea/__tests__/Textarea.spec.js +1 -1
  192. package/es/Textarea/props/propTypes.js +4 -1
  193. package/es/Textarea/utils/calculateNodeHeight.js +58 -0
  194. package/es/Textarea/utils/calculateNodeHeightOne.js +66 -0
  195. package/es/Textarea/utils/debounce.js +24 -0
  196. package/es/Textarea/utils/getSizingData.js +27 -0
  197. package/es/Textarea/utils/ownerDocument.js +5 -0
  198. package/es/Textarea/utils/ownerWindow.js +8 -0
  199. package/es/Textarea/utils/updateState.js +30 -0
  200. package/es/Tooltip/Tooltip.js +17 -7
  201. package/es/Tooltip/Tooltip.module.css +0 -8
  202. package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +3 -3
  203. package/es/VelocityAnimation/VelocityAnimation/__tests__/VelocityAnimation.spec.js +1 -1
  204. package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +3 -3
  205. package/es/VelocityAnimation/VelocityAnimationGroup/__tests__/VelocityAnimationGroup.spec.js +1 -1
  206. package/es/VelocityAnimation/index.js +2 -2
  207. package/es/common/common.module.css +24 -0
  208. package/es/css.js +37 -37
  209. package/es/deprecated/PortalLayer/PortalLayer.js +3 -3
  210. package/es/index.js +39 -39
  211. package/es/semantic/Button/Button.js +3 -3
  212. package/es/semantic/Button/__tests__/Button.spec.js +1 -1
  213. package/es/semantic/index.js +1 -1
  214. package/es/utils/Common.js +1 -1
  215. package/es/utils/ContextOptimizer.js +1 -1
  216. package/es/utils/cssUtils.js +11 -0
  217. package/es/utils/datetime/common.js +1 -1
  218. package/es/utils/dropDownUtils.js +1 -1
  219. package/es/utils/index.js +1 -1
  220. package/es/v1/Accordion/Accordion.js +2 -2
  221. package/es/v1/Accordion/AccordionItem.js +4 -4
  222. package/es/v1/Accordion/index.js +2 -2
  223. package/es/v1/Animation/Animation.js +3 -3
  224. package/es/v1/Animation/utils.js +1 -1
  225. package/es/v1/AppContainer/AppContainer.js +9 -9
  226. package/es/v1/Avatar/Avatar.js +5 -5
  227. package/es/v1/AvatarTeam/AvatarTeam.js +4 -4
  228. package/es/v1/Button/Button.js +4 -4
  229. package/es/v1/Button/props/defaultProps.js +1 -1
  230. package/es/v1/Buttongroup/Buttongroup.js +3 -3
  231. package/es/v1/Card/Card.js +5 -5
  232. package/es/v1/Card/index.js +4 -4
  233. package/es/v1/Card/props/propTypes.js +1 -1
  234. package/es/v1/CheckBox/CheckBox.js +6 -6
  235. package/es/v1/DateTime/CalendarView.js +7 -7
  236. package/es/v1/DateTime/DateTime.js +15 -15
  237. package/es/v1/DateTime/DateTimePopupFooter.js +5 -5
  238. package/es/v1/DateTime/DateTimePopupHeader.js +4 -4
  239. package/es/v1/DateTime/DateWidget.js +17 -17
  240. package/es/v1/DateTime/DaysRow.js +3 -3
  241. package/es/v1/DateTime/Time.js +5 -5
  242. package/es/v1/DateTime/YearView.js +6 -6
  243. package/es/v1/DateTime/index.js +1 -1
  244. package/es/v1/DateTime/props/propTypes.js +2 -2
  245. package/es/v1/DropBox/DropBox.js +9 -9
  246. package/es/v1/DropBox/DropBoxElement/DropBoxElement.js +6 -6
  247. package/es/v1/DropBox/props/defaultProps.js +1 -1
  248. package/es/v1/DropBox/props/propTypes.js +1 -1
  249. package/es/v1/DropBox/utils/isMobilePopover.js +1 -1
  250. package/es/v1/DropDown/DropDown.js +4 -4
  251. package/es/v1/DropDown/DropDownHeading.js +3 -3
  252. package/es/v1/DropDown/DropDownItem.js +3 -3
  253. package/es/v1/DropDown/DropDownSearch.js +4 -4
  254. package/es/v1/DropDown/DropDownSeparator.js +2 -2
  255. package/es/v1/DropDown/props/propTypes.js +1 -1
  256. package/es/v1/Heading/Heading.js +8 -5
  257. package/es/v1/Heading/props/propTypes.js +2 -1
  258. package/es/v1/Label/Label.js +4 -4
  259. package/es/v1/Layout/Box.js +4 -4
  260. package/es/v1/Layout/Container.js +4 -4
  261. package/es/v1/Layout/index.js +2 -2
  262. package/es/v1/ListItem/ListContainer.js +6 -6
  263. package/es/v1/ListItem/ListItem.js +5 -5
  264. package/es/v1/ListItem/ListItemWithAvatar.js +12 -16
  265. package/es/v1/ListItem/ListItemWithCheckBox.js +6 -6
  266. package/es/v1/ListItem/ListItemWithIcon.js +5 -5
  267. package/es/v1/ListItem/ListItemWithRadio.js +6 -6
  268. package/es/v1/ListItem/index.js +6 -6
  269. package/es/v1/ListItem/props/defaultProps.js +0 -1
  270. package/es/v1/ListItem/props/propTypes.js +1 -4
  271. package/es/v1/Modal/Modal.js +3 -3
  272. package/es/v1/MultiSelect/AdvancedGroupMultiSelect.js +17 -17
  273. package/es/v1/MultiSelect/AdvancedMultiSelect.js +17 -17
  274. package/es/v1/MultiSelect/EmptyState.js +3 -3
  275. package/es/v1/MultiSelect/MobileHeader/MobileHeader.js +5 -5
  276. package/es/v1/MultiSelect/MultiSelect.js +19 -19
  277. package/es/v1/MultiSelect/MultiSelectHeader.js +4 -4
  278. package/es/v1/MultiSelect/MultiSelectWithAvatar.js +16 -16
  279. package/es/v1/MultiSelect/SelectedOptions.js +5 -5
  280. package/es/v1/MultiSelect/Suggestions.js +6 -8
  281. package/es/v1/MultiSelect/index.js +4 -4
  282. package/es/v1/MultiSelect/props/defaultProps.js +1 -1
  283. package/es/v1/MultiSelect/props/propTypes.js +0 -1
  284. package/es/v1/PopOver/PopOver.js +6 -6
  285. package/es/v1/Popup/Popup.js +3 -3
  286. package/es/v1/Radio/Radio.js +5 -5
  287. package/es/v1/ResponsiveDropBox/ResponsiveDropBox.js +6 -6
  288. package/es/v1/ResponsiveDropBox/props/propTypes.js +2 -2
  289. package/es/v1/Ribbon/Ribbon.js +3 -3
  290. package/es/v1/Ribbon/props/propTypes.js +1 -1
  291. package/es/v1/RippleEffect/RippleEffect.js +4 -4
  292. package/es/v1/Select/GroupSelect.js +16 -16
  293. package/es/v1/Select/Select.js +15 -15
  294. package/es/v1/Select/SelectWithAvatar.js +17 -17
  295. package/es/v1/Select/SelectWithIcon.js +13 -13
  296. package/es/v1/Select/index.js +4 -4
  297. package/es/v1/Select/props/defaultProps.js +1 -1
  298. package/es/v1/Stencils/Stencils.js +3 -3
  299. package/es/v1/Switch/Switch.js +5 -5
  300. package/es/v1/Tab/Tab.js +5 -5
  301. package/es/v1/Tab/TabContent.js +4 -4
  302. package/es/v1/Tab/TabContentWrapper.js +3 -3
  303. package/es/v1/Tab/TabWrapper.js +3 -3
  304. package/es/v1/Tab/Tabs.js +18 -25
  305. package/es/v1/Tab/index.js +5 -5
  306. package/es/v1/Tab/props/propTypes.js +2 -2
  307. package/es/v1/Tab/v1Tabs.module.css +2 -2
  308. package/es/v1/Tag/Tag.js +9 -11
  309. package/es/v1/Tag/props/propTypes.js +1 -2
  310. package/es/v1/TextBox/TextBox.js +3 -3
  311. package/es/v1/TextBoxIcon/TextBoxIcon.js +6 -6
  312. package/es/v1/TextBoxIcon/props/propTypes.js +1 -1
  313. package/es/v1/Textarea/Textarea.js +3 -3
  314. package/es/v1/Tooltip/Tooltip.js +17 -7
  315. package/es/v1/Typography/Typography.js +4 -4
  316. package/es/v1/Typography/css/cssJSLogic.js +1 -1
  317. package/es/v1/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +3 -3
  318. package/es/v1/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +3 -3
  319. package/es/v1/semantic/Button/Button.js +3 -3
  320. package/es/v1/semantic/index.js +1 -1
  321. package/lib/DateTime/__tests__/__snapshots__/DateTime.spec.js.snap +1 -1
  322. package/lib/DateTime/__tests__/__snapshots__/DateTimePopupHeader.spec.js.snap +1 -1
  323. package/lib/DateTime/__tests__/__snapshots__/YearView.spec.js.snap +1 -1
  324. package/lib/Heading/Heading.js +7 -3
  325. package/lib/Heading/__tests__/Heading.spec.js +9 -0
  326. package/lib/Heading/__tests__/__snapshots__/Heading.spec.js.snap +55 -1
  327. package/lib/Heading/props/propTypes.js +2 -1
  328. package/lib/ListItem/ListItemWithAvatar.js +5 -9
  329. package/lib/ListItem/props/defaultProps.js +0 -1
  330. package/lib/ListItem/props/propTypes.js +2 -4
  331. package/lib/MultiSelect/Suggestions.js +0 -2
  332. package/lib/MultiSelect/props/propTypes.js +0 -1
  333. package/lib/Responsive/CustomResponsive.js +3 -10
  334. package/lib/Responsive/props/propTypes.js +1 -2
  335. package/lib/Tab/Tabs.js +57 -63
  336. package/lib/Tab/Tabs.module.css +2 -2
  337. package/lib/Tab/props/propTypes.js +2 -2
  338. package/lib/Tag/Tag.js +2 -4
  339. package/lib/Tag/props/propTypes.js +1 -2
  340. package/lib/Textarea/Textarea.js +188 -43
  341. package/lib/Textarea/Textarea.module.css +55 -4
  342. package/lib/Textarea/TextareaOne.js +422 -0
  343. package/lib/Textarea/props/propTypes.js +4 -1
  344. package/lib/Textarea/utils/calculateNodeHeight.js +69 -0
  345. package/lib/Textarea/utils/calculateNodeHeightOne.js +74 -0
  346. package/lib/Textarea/utils/debounce.js +33 -0
  347. package/lib/Textarea/utils/getSizingData.js +37 -0
  348. package/lib/Textarea/utils/ownerDocument.js +13 -0
  349. package/lib/Textarea/utils/ownerWindow.js +18 -0
  350. package/lib/Textarea/utils/updateState.js +36 -0
  351. package/lib/Tooltip/Tooltip.js +15 -4
  352. package/lib/Tooltip/Tooltip.module.css +0 -8
  353. package/lib/common/common.module.css +24 -0
  354. package/lib/utils/cssUtils.js +22 -0
  355. package/lib/v1/Card/props/propTypes.js +1 -1
  356. package/lib/v1/DateTime/props/propTypes.js +1 -1
  357. package/lib/v1/Heading/Heading.js +7 -3
  358. package/lib/v1/Heading/props/propTypes.js +2 -1
  359. package/lib/v1/ListItem/ListItemWithAvatar.js +5 -9
  360. package/lib/v1/ListItem/props/defaultProps.js +0 -1
  361. package/lib/v1/ListItem/props/propTypes.js +2 -4
  362. package/lib/v1/MultiSelect/Suggestions.js +0 -2
  363. package/lib/v1/MultiSelect/props/propTypes.js +0 -1
  364. package/lib/v1/ResponsiveDropBox/props/propTypes.js +1 -1
  365. package/lib/v1/Ribbon/props/propTypes.js +1 -1
  366. package/lib/v1/Tab/Tabs.js +6 -13
  367. package/lib/v1/Tab/props/propTypes.js +2 -2
  368. package/lib/v1/Tab/v1Tabs.module.css +2 -2
  369. package/lib/v1/Tag/Tag.js +2 -4
  370. package/lib/v1/Tag/props/propTypes.js +1 -2
  371. package/lib/v1/Tooltip/Tooltip.js +15 -4
  372. package/package.json +8 -8
  373. package/result.json +1 -1
@@ -0,0 +1,349 @@
1
+ import React from "react";
2
+ import ReactDOM from "react-dom";
3
+ import { defaultProps } from "./props/defaultProps";
4
+ import { propTypes } from "./props/propTypes";
5
+ /* eslint css-modules/no-unused-class: [2, { markAsUsed: ['resizeX', 'resizeY', 'noresize', 'resizeboth', 'xsmall', 'small', 'medium', 'large', 'xlarge', 'default', 'primary'] }] */
6
+
7
+ import style from "./Textarea.module.css";
8
+ import ownerWindow from "./ownerWindow";
9
+ import debounce from "./debounce";
10
+ const styles = {
11
+ shadow: {
12
+ // Visibility needed to hide the extra text area on iPads
13
+ visibility: "hidden",
14
+ // Remove from the content flow
15
+ position: "absolute",
16
+ // Ignore the scrollbar width
17
+ overflow: "hidden",
18
+ height: 0,
19
+ top: 0,
20
+ left: 0,
21
+ // Create a new layer, increase the isolation of the computed values
22
+ transform: "translateZ(0)"
23
+ }
24
+ };
25
+ export default class Textarea extends React.Component {
26
+ constructor(props) {
27
+ super(props);
28
+ this.onChange = this.onChange.bind(this);
29
+ this.onKeyDown = this.onKeyDown.bind(this);
30
+ this.onBlur = this.onBlur.bind(this);
31
+ this.inputRef = this.inputRef.bind(this);
32
+ this.getUpdatedState = this.getUpdatedState.bind(this);
33
+ this.isEmpty = this.isEmpty.bind(this);
34
+ this.getStyleValue = this.getStyleValue.bind(this);
35
+ this.updateState = this.updateState.bind(this);
36
+ this.syncHeight = this.syncHeight.bind(this);
37
+ this.syncHeightWithFlushSync = this.syncHeightWithFlushSync.bind(this);
38
+ this.handleResize = this.handleResize.bind(this);
39
+ this.rAFHandleResize = this.rAFHandleResize.bind(this);
40
+ this.rAF = null;
41
+ this.resizeObserver = null;
42
+ this.debounceHandleResize = null;
43
+ this.shadowRef = /*#__PURE__*/React.createRef();
44
+ this.rendersRef = /*#__PURE__*/React.createRef();
45
+ this.state = {
46
+ outerHeightStyle: 0,
47
+ overflow: false
48
+ };
49
+ }
50
+
51
+ onBlur(e) {
52
+ e && e.preventDefault();
53
+ let {
54
+ onBlur
55
+ } = this.props;
56
+ onBlur && onBlur(e.target.value, e);
57
+ this.syncHeight();
58
+ }
59
+
60
+ onKeyDown(e) {
61
+ let {
62
+ onKeyDown
63
+ } = this.props;
64
+ onKeyDown && onKeyDown(e);
65
+ }
66
+
67
+ inputRef(e) {
68
+ let {
69
+ getRef
70
+ } = this.props;
71
+ this.textareaRef = e;
72
+ getRef && getRef(e);
73
+ }
74
+
75
+ isEmpty(obj) {
76
+ return obj === undefined || obj === null || Object.keys(obj).length === 0 || obj.outerHeightStyle === 0 && !obj.overflow;
77
+ }
78
+
79
+ getStyleValue(value) {
80
+ return parseInt(value, 10) || 0;
81
+ }
82
+
83
+ getUpdatedState() {
84
+ const {
85
+ minRows = 1,
86
+ maxRows = 5,
87
+ placeHolder
88
+ } = this.props;
89
+ const input = this.textareaRef;
90
+ const containerWindow = ownerWindow(input);
91
+ const computedStyle = containerWindow.getComputedStyle(input); // If input's width is shrunk and it's not visible, don't sync height.
92
+
93
+ if (computedStyle.width === "0px") {
94
+ return {
95
+ outerHeightStyle: 0
96
+ };
97
+ }
98
+
99
+ const inputShallow = this.shadowRef.current;
100
+ inputShallow.style.width = computedStyle.width;
101
+ inputShallow.value = input.value || placeHolder || "x"; // if (inputShallow.value.slice(-1) === "\n") {
102
+ // Certain fonts which overflow the line height will cause the textarea
103
+ // to report a different scrollHeight depending on whether the last line
104
+ // is empty. Make it non-empty to avoid this issue.
105
+ // inputShallow.value += " ";
106
+ // }
107
+
108
+ const boxSizing = computedStyle.boxSizing;
109
+ const padding = this.getStyleValue(computedStyle.paddingBottom) + this.getStyleValue(computedStyle.paddingTop);
110
+ const border = this.getStyleValue(computedStyle.borderBottomWidth) + this.getStyleValue(computedStyle.borderTopWidth); // The height of the inner content
111
+
112
+ const innerHeight = inputShallow.scrollHeight; // Measure height of a textarea with a single row
113
+
114
+ inputShallow.value = "x";
115
+ const singleRowHeight = inputShallow.scrollHeight; // The height of the outer content
116
+
117
+ let outerHeight = innerHeight;
118
+
119
+ if (minRows) {
120
+ outerHeight = Math.max(Number(minRows) * singleRowHeight, outerHeight);
121
+ }
122
+
123
+ if (maxRows) {
124
+ outerHeight = Math.min(Number(maxRows) * singleRowHeight, outerHeight);
125
+ }
126
+
127
+ outerHeight = Math.max(outerHeight, singleRowHeight); // Take the box sizing into account for applying this value as a style.
128
+
129
+ const outerHeightStyle = outerHeight + (boxSizing === "border-box" ? padding + border : 0);
130
+ const overflow = Math.abs(outerHeight - innerHeight) <= 1;
131
+ console.log("outerHeightStyle-->", outerHeightStyle);
132
+ return {
133
+ outerHeightStyle,
134
+ overflow
135
+ };
136
+ }
137
+
138
+ updateState(prevState, newState) {
139
+ const {
140
+ outerHeightStyle,
141
+ overflow
142
+ } = newState;
143
+ const renders = this.rendersRef; // Need a large enough difference to update the height.
144
+ // This prevents infinite rendering loop.
145
+
146
+ if (renders.current < 20 && (outerHeightStyle > 0 && Math.abs((prevState.outerHeightStyle || 0) - outerHeightStyle) > 1 || prevState.overflow !== overflow)) {
147
+ renders.current += 1;
148
+ return {
149
+ overflow,
150
+ outerHeightStyle
151
+ };
152
+ } // if (process.env.NODE_ENV !== "production") {
153
+ // if (renders.current === 20) {
154
+ // console.error(
155
+ // [
156
+ // "MUI: Too many re-renders. The layout is unstable.",
157
+ // "TextareaAutosize limits the number of renders to prevent an infinite loop."
158
+ // ].join("\n")
159
+ // )
160
+ // }
161
+ // }
162
+
163
+
164
+ return prevState;
165
+ }
166
+
167
+ syncHeight() {
168
+ const newState = this.getUpdatedState();
169
+
170
+ if (this.isEmpty(newState)) {
171
+ return;
172
+ }
173
+
174
+ this.setState(prevState => this.updateState(prevState, newState));
175
+ }
176
+
177
+ onChange(e) {
178
+ e && e.preventDefault();
179
+ let {
180
+ onChange,
181
+ text
182
+ } = this.props;
183
+ this.rendersRef.current = 0;
184
+ const isControlled = text !== undefined;
185
+
186
+ if (!isControlled) {
187
+ this.syncHeight();
188
+ }
189
+
190
+ onChange && onChange(e.target.value, e);
191
+ }
192
+
193
+ syncHeightWithFlushSync() {
194
+ const newState = this.getUpdatedState();
195
+
196
+ if (this.isEmpty(newState)) {
197
+ return;
198
+ }
199
+
200
+ ReactDOM.flushSync(() => {
201
+ this.setState(prevState => this.updateState(prevState, newState));
202
+ });
203
+ }
204
+
205
+ handleResize() {
206
+ this.rendersRef.current = 0;
207
+ this.syncHeightWithFlushSync();
208
+ }
209
+
210
+ rAFHandleResize() {
211
+ cancelAnimationFrame(this.rAF);
212
+ this.rAF = requestAnimationFrame(() => {
213
+ this.handleResize();
214
+ });
215
+ }
216
+
217
+ componentDidMount() {
218
+ const input = this.textareaRef;
219
+ const containerWindow = ownerWindow(input);
220
+ this.debounceHandleResize = debounce(this.handleResize);
221
+ containerWindow.addEventListener("resize", this.debounceHandleResize);
222
+
223
+ if (typeof ResizeObserver !== "undefined") {
224
+ this.resizeObserver = new ResizeObserver(this.rAFHandleResize);
225
+ this.resizeObserver.observe(input);
226
+ }
227
+ }
228
+
229
+ componentWillUnmount() {
230
+ const input = this.textareaRef;
231
+ const containerWindow = ownerWindow(input);
232
+ this.debounceHandleResize.clear();
233
+ cancelAnimationFrame(this.rAF);
234
+ containerWindow.removeEventListener("resize", this.debounceHandleResize);
235
+
236
+ if (this.resizeObserver) {
237
+ this.resizeObserver.disconnect();
238
+ }
239
+ }
240
+
241
+ componentDidUpdate(prevProps) {
242
+ if (prevProps.text !== this.props.text) {
243
+ this.rendersRef.current = 0;
244
+ this.syncHeight();
245
+ }
246
+ }
247
+
248
+ render() {
249
+ let {
250
+ size,
251
+ placeHolder,
252
+ needBorder,
253
+ text,
254
+ isDisabled,
255
+ resize,
256
+ maxLength,
257
+ animated,
258
+ variant,
259
+ getRef,
260
+ onFocus,
261
+ dataId,
262
+ dataSelectorId,
263
+ isReadOnly,
264
+ needAppearance,
265
+ needReadOnlyStyle,
266
+ borderColor,
267
+ needEffect,
268
+ autoFocus,
269
+ htmlId,
270
+ a11y,
271
+ customClass,
272
+ maxRows,
273
+ minRows = 3,
274
+ inlineStyle
275
+ } = this.props;
276
+ let {
277
+ ariaLabel,
278
+ ariaLabelledby
279
+ } = a11y;
280
+ let resizes = {
281
+ horizontal: "resizeX",
282
+ vertical: "resizeY",
283
+ both: "resizeboth",
284
+ none: "noresize"
285
+ };
286
+ let options = {};
287
+
288
+ if (isReadOnly) {
289
+ options.readOnly = "readOnly";
290
+ }
291
+
292
+ if (isDisabled) {
293
+ options.disabled = "disabled";
294
+ }
295
+
296
+ if (autoFocus) {
297
+ options.autoFocus = true;
298
+ }
299
+
300
+ let classList = needAppearance ? `${style.container} ${style[size]} ${style[variant]} ${needBorder ? style.needBorder : style.noBorder} ${resize ? style[resizes[resize]] : style[resizes.none]} ${animated ? `${style[`${size}animated`]}` : ""} ${isDisabled && !needEffect || isReadOnly && !needEffect ? "" : style.effect}` : `${style.basic}`;
301
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("textarea", {
302
+ "aria-label": ariaLabel,
303
+ "aria-labelledby": ariaLabelledby,
304
+ className: `${customClass} ${isReadOnly && needReadOnlyStyle ? style.readonly : ""} ${classList} ${style[`borderColor_${borderColor}`]}`,
305
+ placeholder: placeHolder,
306
+ ...options,
307
+ "data-id": dataId,
308
+ "data-test-id": dataId,
309
+ maxLength: maxLength,
310
+ onChange: this.onChange,
311
+ onKeyDown: this.onKeyDown,
312
+ onFocus: onFocus,
313
+ onBlur: this.onBlur,
314
+ ref: this.inputRef,
315
+ value: text,
316
+ id: htmlId,
317
+ "data-selector-id": dataSelectorId,
318
+ rows: minRows,
319
+ style: {
320
+ height: this.state.outerHeightStyle,
321
+ // Need a large enough difference to allow scrolling.
322
+ // This prevents infinite rendering loop.
323
+ overflow: this.state.overflow ? "hidden" : undefined,
324
+ ...inlineStyle
325
+ }
326
+ }), /*#__PURE__*/React.createElement("textarea", {
327
+ "aria-hidden": true,
328
+ readOnly: true,
329
+ ref: this.shadowRef,
330
+ tabIndex: -1,
331
+ className: `${customClass} ${classList} ${style[`borderColor_${borderColor}`]}`,
332
+ style: { ...styles.shadow,
333
+ ...inlineStyle,
334
+ paddingTop: 0,
335
+ paddingBottom: 0
336
+ }
337
+ }));
338
+ }
339
+
340
+ }
341
+ Textarea.defaultProps = defaultProps;
342
+ Textarea.propTypes = propTypes; // if (__DOCS__) {
343
+ // Textarea.docs = {
344
+ // componentGroup: 'Form Elements',
345
+ // folderName: 'Style Guide',
346
+ // external: true,
347
+ // description: ' '
348
+ // };
349
+ // }
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import Textarea from '../Textarea';
2
+ import Textarea from "../Textarea";
3
3
  import { render } from "@testing-library/react";
4
4
  describe('Textarea component', () => {
5
5
  const size = ['xsmall', 'small', 'xmedium', 'medium', 'large'];
@@ -27,5 +27,8 @@ export const propTypes = {
27
27
  a11y: PropTypes.shape({
28
28
  ariaLabel: PropTypes.string,
29
29
  ariaLabelledby: PropTypes.string
30
- })
30
+ }),
31
+ maxRows: PropTypes.string,
32
+ minRows: PropTypes.string,
33
+ inlineStyle: PropTypes.string
31
34
  };
@@ -0,0 +1,58 @@
1
+ import getSizingData from "./getSizingData";
2
+ export default function calculateNodeHeight(_ref) {
3
+ let {
4
+ minRows = 1,
5
+ maxRows = 5,
6
+ textareaEle,
7
+ hiddenTextareaEle
8
+ } = _ref;
9
+ const {
10
+ computedStyle,
11
+ paddingSize,
12
+ borderSize,
13
+ boxSizing
14
+ } = getSizingData(textareaEle);
15
+ const isBorderBox = boxSizing === "border-box"; // If input's width is shrunk and it's not visible, don't sync height.
16
+
17
+ if (computedStyle.width === '0px') {
18
+ return {
19
+ height: 0
20
+ };
21
+ }
22
+
23
+ let hiddenTextarea = hiddenTextareaEle;
24
+ hiddenTextarea.style.width = computedStyle.width;
25
+ hiddenTextarea.value = textareaEle.value || textareaEle.placeholder || "x";
26
+
27
+ if (hiddenTextarea.value.slice(-1) === "\n") {
28
+ // // Certain fonts which overflow the line height will cause the textarea
29
+ // // to report a different scrollHeight depending on whether the last line
30
+ // // is empty. Make it non-empty to avoid this issue.
31
+ hiddenTextarea.value += " ";
32
+ } // The height of the inner content
33
+
34
+
35
+ const innerHeight = hiddenTextarea.scrollHeight; // Measure height of a textarea with a single row
36
+
37
+ hiddenTextarea.value = "x";
38
+ const singleRowHeight = hiddenTextarea.scrollHeight - paddingSize || parseInt(computedStyle.lineHeight); // The height of the outer content
39
+
40
+ let outerHeight = innerHeight;
41
+
42
+ if (minRows) {
43
+ outerHeight = Math.max(Number(minRows) * singleRowHeight, outerHeight);
44
+ }
45
+
46
+ if (maxRows) {
47
+ outerHeight = Math.min(Number(maxRows) * singleRowHeight, outerHeight);
48
+ }
49
+
50
+ outerHeight = Math.max(outerHeight, singleRowHeight); // Take the box sizing into account for applying this value as a style.
51
+
52
+ const height = outerHeight + (isBorderBox ? paddingSize + borderSize : 0);
53
+ const overflow = Math.abs(outerHeight - innerHeight) <= 1;
54
+ return {
55
+ height,
56
+ overflow
57
+ };
58
+ }
@@ -0,0 +1,66 @@
1
+ import getSizingData from "./getSizingData";
2
+
3
+ const getHeight = (node, _ref) => {
4
+ let {
5
+ borderSize,
6
+ paddingSize,
7
+ isBorderBox
8
+ } = _ref;
9
+ const height = node.scrollHeight;
10
+
11
+ if (isBorderBox) {
12
+ // border-box: add border, since height = content + padding + border
13
+ return height + borderSize;
14
+ } // remove padding, since height = content
15
+
16
+
17
+ return height - paddingSize;
18
+ };
19
+
20
+ export default function calculateNodeHeightOne(_ref2) {
21
+ let {
22
+ minRows = 1,
23
+ maxRows = 5,
24
+ textareaEle,
25
+ hiddenTextareaEle
26
+ } = _ref2;
27
+ const {
28
+ computedStyle,
29
+ paddingSize,
30
+ borderSize,
31
+ boxSizing
32
+ } = getSizingData(hiddenTextareaEle);
33
+ const isBorderBox = boxSizing === "border-box"; // If input's width is shrunk and it's not visible, don't sync height.
34
+
35
+ if (computedStyle.width === '0px') {
36
+ return {
37
+ height: 0
38
+ };
39
+ }
40
+
41
+ let hiddenTextarea = hiddenTextareaEle; // The height of the inner content
42
+
43
+ let height = getHeight(hiddenTextarea, {
44
+ paddingSize,
45
+ borderSize,
46
+ isBorderBox
47
+ });
48
+ const innerHeight = getHeight(hiddenTextarea, {
49
+ paddingSize,
50
+ borderSize,
51
+ isBorderBox
52
+ }); // measure height of a textarea with a single row
53
+
54
+ hiddenTextarea.value = textareaEle.value || textareaEle.placeholder || "x";
55
+ hiddenTextarea.style.width = computedStyle.width;
56
+ const rowHeight = hiddenTextarea.scrollHeight - paddingSize;
57
+ let minHeight = rowHeight * minRows + (isBorderBox ? paddingSize + borderSize : 0);
58
+ let maxHeight = rowHeight * maxRows + (isBorderBox ? paddingSize + borderSize : 0);
59
+ height = Math.min(maxHeight, Math.max(minHeight, height)); // Take the box sizing into account for applying this value as a style.
60
+
61
+ const overflow = Math.abs(height - innerHeight) <= 1;
62
+ return {
63
+ height,
64
+ overflow
65
+ };
66
+ }
@@ -0,0 +1,24 @@
1
+ // Corresponds to 10 frames at 60 Hz.
2
+ export default function debounce(func) {
3
+ let wait = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 166;
4
+ let timeout;
5
+
6
+ function debounced() {
7
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
8
+ args[_key] = arguments[_key];
9
+ }
10
+
11
+ const later = () => {
12
+ func.apply(this, args);
13
+ };
14
+
15
+ clearTimeout(timeout);
16
+ timeout = setTimeout(later, wait);
17
+ }
18
+
19
+ debounced.clear = () => {
20
+ clearTimeout(timeout);
21
+ };
22
+
23
+ return debounced;
24
+ }
@@ -0,0 +1,27 @@
1
+ import ownerWindow from "./ownerWindow";
2
+
3
+ const getStyleValue = value => {
4
+ return parseInt(value, 10) || 0;
5
+ };
6
+
7
+ const getSizingData = node => {
8
+ const containerWindow = ownerWindow(node);
9
+ const computedStyle = containerWindow.getComputedStyle(node);
10
+
11
+ if (computedStyle === null) {
12
+ return null;
13
+ }
14
+
15
+ const boxSizing = computedStyle.boxSizing;
16
+ const paddingSize = getStyleValue(computedStyle.paddingBottom) + getStyleValue(computedStyle.paddingTop);
17
+ const borderSize = getStyleValue(computedStyle.borderBottomWidth) + getStyleValue(computedStyle.borderTopWidth);
18
+ return {
19
+ boxSizing,
20
+ paddingSize,
21
+ borderSize,
22
+ containerWindow,
23
+ computedStyle
24
+ };
25
+ };
26
+
27
+ export default getSizingData;
@@ -0,0 +1,5 @@
1
+ const ownerDocument = node => {
2
+ return node && node.ownerDocument || document;
3
+ };
4
+
5
+ export default ownerDocument;
@@ -0,0 +1,8 @@
1
+ import ownerDocument from "./ownerDocument";
2
+
3
+ const ownerWindow = node => {
4
+ const document = ownerDocument(node);
5
+ return document.defaultView || window;
6
+ };
7
+
8
+ export default ownerWindow;
@@ -0,0 +1,30 @@
1
+ const updateState = (prevState, newState, renderRef) => {
2
+ const {
3
+ height,
4
+ overflow
5
+ } = newState;
6
+ const renders = renderRef; // Need a large enough difference to update the height.
7
+ // This prevents infinite rendering loop.
8
+
9
+ if (renders.current < 20 && (height > 0 && Math.abs((prevState.height || 0) - height) > 1 || prevState.overflow !== overflow)) {
10
+ renders.current += 1;
11
+ return {
12
+ overflow,
13
+ height
14
+ };
15
+ } // if (process.env.NODE_ENV !== "production") {
16
+ // if (renders.current === 20) {
17
+ // console.error(
18
+ // [
19
+ // "MUI: Too many re-renders. The layout is unstable.",
20
+ // "TextareaAutosize limits the number of renders to prevent an infinite loop."
21
+ // ].join("\n")
22
+ // )
23
+ // }
24
+ // }
25
+
26
+
27
+ return prevState;
28
+ };
29
+
30
+ export default updateState;
@@ -1,10 +1,11 @@
1
1
  import React from 'react';
2
- import { defaultProps } from './props/defaultProps';
3
- import { propTypes } from './props/propTypes';
4
- import { getLibraryConfig } from '../Provider/Config';
5
- import style from './Tooltip.module.css';
6
- import ResizeObserver from '../Responsive/ResizeObserver';
2
+ import { defaultProps } from "./props/defaultProps";
3
+ import { propTypes } from "./props/propTypes";
4
+ import { getLibraryConfig } from "../Provider/Config";
5
+ import ResizeObserver from "../Responsive/ResizeObserver";
7
6
  import selectn from 'selectn';
7
+ import { whiteSpaceClassMapping } from "../utils/cssUtils";
8
+ import style from "./Tooltip.module.css";
8
9
  export default class Tooltip extends React.Component {
9
10
  constructor(props) {
10
11
  super(props);
@@ -192,7 +193,8 @@ export default class Tooltip extends React.Component {
192
193
 
193
194
  let isHtml = titleDiv.getAttribute('data-ishtml');
194
195
  let dataTooltipnoArrow = titleDiv.getAttribute('data-tooltip-noarrow') === 'true' ? true : false;
195
- let dataTooltipWrap = titleDiv.getAttribute('data-title-wrap') === 'true' ? true : false;
196
+ let dataTooltipWrap = titleDiv.getAttribute('data-title-wrap') || 'normal'; // values: normal, pre, pre-wrap, pre-line, nowrap, break-spaces
197
+
196
198
  let clientRect = titleDiv.getBoundingClientRect();
197
199
  let boxLayout = this.getClientRectOfContEl(containerElement);
198
200
  this.setState({
@@ -481,7 +483,15 @@ export default class Tooltip extends React.Component {
481
483
  } = this.props;
482
484
  let arrowStyle = isArrowHorizontal ? isArrowRight ? style.arrowRight : style.arrowLeft : isArrowDown ? style.arrowDown : style.arrowUp;
483
485
  title = title ? title.trim() : null;
484
- let tooltipCss = `${style.tooltipcont} ${dataTooltipWrap ? style.tooltipWrapCont : style.tooltipNormalCont}`;
486
+ let tooltipWhiteSpaceModification = dataTooltipWrap;
487
+
488
+ if (dataTooltipWrap == 'pre') {
489
+ tooltipWhiteSpaceModification = 'preWrap';
490
+ } else if (dataTooltipWrap == 'nowrap') {
491
+ tooltipWhiteSpaceModification = 'normal';
492
+ }
493
+
494
+ let tooltipCss = `${style.tooltipcont} ${whiteSpaceClassMapping[tooltipWhiteSpaceModification]}`;
485
495
  return title ? /*#__PURE__*/React.createElement("div", {
486
496
  className: `${customClass} ${style.tooltiptext}`,
487
497
  style: {
@@ -26,14 +26,6 @@
26
26
  border-color: transparent;
27
27
  border-radius: var(--zd_size4);
28
28
  }
29
-
30
- .tooltipWrapCont {
31
- white-space: pre-wrap;
32
- }
33
-
34
- .tooltipNormalCont {
35
- white-space: normal;
36
- }
37
29
  .tooltiparrow {
38
30
  content: '';
39
31
  position: absolute;
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
- import { defaultProps } from './props/defaultProps';
3
- import { propTypes } from './props/propTypes';
2
+ import { defaultProps } from "./props/defaultProps";
3
+ import { propTypes } from "./props/propTypes";
4
4
  import { VelocityComponent } from 'velocity-react';
5
5
  import 'velocity-animate/velocity.ui';
6
- import LibraryContext from '../../Provider/LibraryContextInit';
6
+ import LibraryContext from "../../Provider/LibraryContextInit";
7
7
  export default class VelocityAnimation extends React.Component {
8
8
  constructor(props) {
9
9
  super(props);
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { render } from '@testing-library/react';
3
- import VelocityAnimation from '../VelocityAnimation';
3
+ import VelocityAnimation from "../VelocityAnimation";
4
4
  describe('VelocityAnimation', () => {
5
5
  test('rendering the defult props', () => {
6
6
  const {
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
- import { defaultProps } from './props/defaultProps';
3
- import { propTypes } from './props/propTypes';
2
+ import { defaultProps } from "./props/defaultProps";
3
+ import { propTypes } from "./props/propTypes";
4
4
  import { VelocityTransitionGroup } from 'velocity-react';
5
5
  import 'velocity-animate/velocity.ui';
6
- import LibraryContext from '../../Provider/LibraryContextInit';
6
+ import LibraryContext from "../../Provider/LibraryContextInit";
7
7
 
8
8
  function clearProps(props) {
9
9
  let newProps = Object.assign({}, props);