@zohodesk/components 1.0.0-temp-206.5 → 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 (347) hide show
  1. package/.cli/propValidation_report.html +1 -1
  2. package/README.md +9 -0
  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 +7 -7
  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/Modal/Modal.js +3 -3
  103. package/es/Modal/__tests__/Modal.spec.js +1 -1
  104. package/es/MultiSelect/AdvancedGroupMultiSelect.js +17 -17
  105. package/es/MultiSelect/AdvancedMultiSelect.js +17 -17
  106. package/es/MultiSelect/EmptyState.js +3 -3
  107. package/es/MultiSelect/MobileHeader/MobileHeader.js +5 -5
  108. package/es/MultiSelect/MobileHeader/__tests__/MobileHeader.spec.js +1 -1
  109. package/es/MultiSelect/MultiSelect.js +20 -20
  110. package/es/MultiSelect/MultiSelectHeader.js +4 -4
  111. package/es/MultiSelect/MultiSelectWithAvatar.js +16 -16
  112. package/es/MultiSelect/SelectedOptions.js +5 -5
  113. package/es/MultiSelect/Suggestions.js +6 -6
  114. package/es/MultiSelect/__tests__/AdvancedGroupMultiSelect.spec.js +1 -1
  115. package/es/MultiSelect/__tests__/AdvancedMultiSelect.spec.js +1 -1
  116. package/es/MultiSelect/__tests__/EmptyState.spec.js +1 -1
  117. package/es/MultiSelect/__tests__/MultiSelect.spec.js +1 -1
  118. package/es/MultiSelect/__tests__/MultiSelectHeader.spec.js +1 -1
  119. package/es/MultiSelect/__tests__/MultiSelectWithAvatar.spec.js +1 -1
  120. package/es/MultiSelect/__tests__/SelectedOptions.spec.js +1 -1
  121. package/es/MultiSelect/__tests__/Suggestions.spec.js +1 -1
  122. package/es/MultiSelect/index.js +4 -4
  123. package/es/MultiSelect/props/defaultProps.js +1 -1
  124. package/es/PopOver/PopOver.js +6 -6
  125. package/es/PopOver/__tests__/PopOver.spec.js +1 -1
  126. package/es/PopOver/index.js +3 -3
  127. package/es/Popup/Popup.js +3 -3
  128. package/es/Provider/AvatarSize.js +1 -1
  129. package/es/Provider/CssProvider.js +1 -1
  130. package/es/Provider/IdProvider.js +2 -2
  131. package/es/Provider/LibraryContext.js +2 -2
  132. package/es/Provider/ZindexProvider.js +2 -2
  133. package/es/Provider/index.js +4 -4
  134. package/es/Radio/Radio.js +5 -5
  135. package/es/Radio/__tests__/Radio.spec.js +1 -1
  136. package/es/Responsive/CustomResponsive.js +12 -19
  137. package/es/Responsive/RefWrapper.js +1 -2
  138. package/es/Responsive/ResizeComponent.js +2 -2
  139. package/es/Responsive/Responsive.js +6 -6
  140. package/es/Responsive/index.js +3 -3
  141. package/es/Responsive/props/propTypes.js +1 -2
  142. package/es/Responsive/utils/index.js +1 -1
  143. package/es/Responsive/windowResizeObserver.js +1 -1
  144. package/es/ResponsiveDropBox/ResponsiveDropBox.js +6 -6
  145. package/es/ResponsiveDropBox/__tests__/ResponsiveDropBox.spec.js +1 -1
  146. package/es/ResponsiveDropBox/props/propTypes.js +1 -1
  147. package/es/Ribbon/Ribbon.js +3 -3
  148. package/es/Ribbon/__tests__/Ribbon.spec.js +1 -1
  149. package/es/RippleEffect/RippleEffect.js +4 -4
  150. package/es/RippleEffect/__tests__/RippleEffect.spec.js +1 -1
  151. package/es/Select/GroupSelect.js +16 -16
  152. package/es/Select/Select.js +15 -15
  153. package/es/Select/SelectWithAvatar.js +17 -17
  154. package/es/Select/SelectWithIcon.js +13 -13
  155. package/es/Select/__tests__/GroupSelect.spec.js +1 -1
  156. package/es/Select/__tests__/Select.spec.js +1 -1
  157. package/es/Select/__tests__/SelectWithAvatar.spec.js +1 -1
  158. package/es/Select/__tests__/SelectWithIcon.spec.js +1 -1
  159. package/es/Select/index.js +4 -4
  160. package/es/Select/props/defaultProps.js +1 -1
  161. package/es/Stencils/Stencils.js +3 -3
  162. package/es/Stencils/__tests__/Stencils.spec.js +1 -1
  163. package/es/Switch/Switch.js +5 -5
  164. package/es/Switch/__tests__/Switch.spec.js +1 -1
  165. package/es/Tab/Tab.js +5 -5
  166. package/es/Tab/TabContent.js +4 -4
  167. package/es/Tab/TabContentWrapper.js +3 -3
  168. package/es/Tab/TabWrapper.js +3 -3
  169. package/es/Tab/Tabs.js +16 -16
  170. package/es/Tab/Tabs.module.css +2 -2
  171. package/es/Tab/__tests__/Tab.spec.js +1 -1
  172. package/es/Tab/__tests__/TabContent.spec.js +1 -1
  173. package/es/Tab/__tests__/TabContentWrapper.spec.js +1 -1
  174. package/es/Tab/__tests__/TabWrapper.spec.js +1 -1
  175. package/es/Tab/__tests__/Tabs.spec.js +1 -1
  176. package/es/Tab/index.js +5 -5
  177. package/es/Tab/props/propTypes.js +2 -2
  178. package/es/Tag/Tag.js +7 -7
  179. package/es/Tag/__tests__/Tag.spec.js +1 -1
  180. package/es/TextBox/TextBox.js +3 -3
  181. package/es/TextBox/__tests__/TextBox.spec.js +1 -1
  182. package/es/TextBoxIcon/TextBoxIcon.js +6 -6
  183. package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +1 -1
  184. package/es/TextBoxIcon/props/propTypes.js +1 -1
  185. package/es/Textarea/Textarea.js +154 -27
  186. package/es/Textarea/Textarea.module.css +55 -4
  187. package/es/Textarea/TextareaOne.js +349 -0
  188. package/es/Textarea/__tests__/Textarea.spec.js +1 -1
  189. package/es/Textarea/props/propTypes.js +4 -1
  190. package/es/Textarea/utils/calculateNodeHeight.js +58 -0
  191. package/es/Textarea/utils/calculateNodeHeightOne.js +66 -0
  192. package/es/Textarea/utils/debounce.js +24 -0
  193. package/es/Textarea/utils/getSizingData.js +27 -0
  194. package/es/Textarea/utils/ownerDocument.js +5 -0
  195. package/es/Textarea/utils/ownerWindow.js +8 -0
  196. package/es/Textarea/utils/updateState.js +30 -0
  197. package/es/Tooltip/Tooltip.js +17 -7
  198. package/es/Tooltip/Tooltip.module.css +0 -8
  199. package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +3 -3
  200. package/es/VelocityAnimation/VelocityAnimation/__tests__/VelocityAnimation.spec.js +1 -1
  201. package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +3 -3
  202. package/es/VelocityAnimation/VelocityAnimationGroup/__tests__/VelocityAnimationGroup.spec.js +1 -1
  203. package/es/VelocityAnimation/index.js +2 -2
  204. package/es/common/common.module.css +24 -0
  205. package/es/css.js +37 -37
  206. package/es/deprecated/PortalLayer/PortalLayer.js +3 -3
  207. package/es/index.js +39 -39
  208. package/es/semantic/Button/Button.js +3 -3
  209. package/es/semantic/Button/__tests__/Button.spec.js +1 -1
  210. package/es/semantic/index.js +1 -1
  211. package/es/utils/Common.js +1 -1
  212. package/es/utils/ContextOptimizer.js +1 -1
  213. package/es/utils/cssUtils.js +11 -0
  214. package/es/utils/datetime/common.js +1 -1
  215. package/es/utils/dropDownUtils.js +1 -1
  216. package/es/utils/index.js +1 -1
  217. package/es/v1/Accordion/Accordion.js +2 -2
  218. package/es/v1/Accordion/AccordionItem.js +4 -4
  219. package/es/v1/Accordion/index.js +2 -2
  220. package/es/v1/Animation/Animation.js +3 -3
  221. package/es/v1/Animation/utils.js +1 -1
  222. package/es/v1/AppContainer/AppContainer.js +9 -9
  223. package/es/v1/Avatar/Avatar.js +5 -5
  224. package/es/v1/AvatarTeam/AvatarTeam.js +4 -4
  225. package/es/v1/Button/Button.js +4 -4
  226. package/es/v1/Button/props/defaultProps.js +1 -1
  227. package/es/v1/Buttongroup/Buttongroup.js +3 -3
  228. package/es/v1/Card/Card.js +5 -5
  229. package/es/v1/Card/index.js +4 -4
  230. package/es/v1/CheckBox/CheckBox.js +6 -6
  231. package/es/v1/DateTime/CalendarView.js +7 -7
  232. package/es/v1/DateTime/DateTime.js +15 -15
  233. package/es/v1/DateTime/DateTimePopupFooter.js +5 -5
  234. package/es/v1/DateTime/DateTimePopupHeader.js +4 -4
  235. package/es/v1/DateTime/DateWidget.js +17 -17
  236. package/es/v1/DateTime/DaysRow.js +3 -3
  237. package/es/v1/DateTime/Time.js +5 -5
  238. package/es/v1/DateTime/YearView.js +6 -6
  239. package/es/v1/DateTime/index.js +1 -1
  240. package/es/v1/DateTime/props/propTypes.js +1 -1
  241. package/es/v1/DropBox/DropBox.js +9 -9
  242. package/es/v1/DropBox/DropBoxElement/DropBoxElement.js +6 -6
  243. package/es/v1/DropBox/props/defaultProps.js +1 -1
  244. package/es/v1/DropBox/props/propTypes.js +1 -1
  245. package/es/v1/DropBox/utils/isMobilePopover.js +1 -1
  246. package/es/v1/DropDown/DropDown.js +4 -4
  247. package/es/v1/DropDown/DropDownHeading.js +3 -3
  248. package/es/v1/DropDown/DropDownItem.js +3 -3
  249. package/es/v1/DropDown/DropDownSearch.js +4 -4
  250. package/es/v1/DropDown/DropDownSeparator.js +2 -2
  251. package/es/v1/DropDown/props/propTypes.js +1 -1
  252. package/es/v1/Heading/Heading.js +8 -5
  253. package/es/v1/Heading/props/propTypes.js +2 -1
  254. package/es/v1/Label/Label.js +4 -4
  255. package/es/v1/Layout/Box.js +4 -4
  256. package/es/v1/Layout/Container.js +4 -4
  257. package/es/v1/Layout/index.js +2 -2
  258. package/es/v1/ListItem/ListContainer.js +6 -6
  259. package/es/v1/ListItem/ListItem.js +5 -5
  260. package/es/v1/ListItem/ListItemWithAvatar.js +7 -7
  261. package/es/v1/ListItem/ListItemWithCheckBox.js +6 -6
  262. package/es/v1/ListItem/ListItemWithIcon.js +5 -5
  263. package/es/v1/ListItem/ListItemWithRadio.js +6 -6
  264. package/es/v1/ListItem/index.js +6 -6
  265. package/es/v1/Modal/Modal.js +3 -3
  266. package/es/v1/MultiSelect/AdvancedGroupMultiSelect.js +17 -17
  267. package/es/v1/MultiSelect/AdvancedMultiSelect.js +17 -17
  268. package/es/v1/MultiSelect/EmptyState.js +3 -3
  269. package/es/v1/MultiSelect/MobileHeader/MobileHeader.js +5 -5
  270. package/es/v1/MultiSelect/MultiSelect.js +19 -19
  271. package/es/v1/MultiSelect/MultiSelectHeader.js +4 -4
  272. package/es/v1/MultiSelect/MultiSelectWithAvatar.js +16 -16
  273. package/es/v1/MultiSelect/SelectedOptions.js +5 -5
  274. package/es/v1/MultiSelect/Suggestions.js +6 -6
  275. package/es/v1/MultiSelect/index.js +4 -4
  276. package/es/v1/MultiSelect/props/defaultProps.js +1 -1
  277. package/es/v1/PopOver/PopOver.js +6 -6
  278. package/es/v1/Popup/Popup.js +3 -3
  279. package/es/v1/Radio/Radio.js +5 -5
  280. package/es/v1/ResponsiveDropBox/ResponsiveDropBox.js +6 -6
  281. package/es/v1/ResponsiveDropBox/props/propTypes.js +1 -1
  282. package/es/v1/Ribbon/Ribbon.js +3 -3
  283. package/es/v1/RippleEffect/RippleEffect.js +4 -4
  284. package/es/v1/Select/GroupSelect.js +16 -16
  285. package/es/v1/Select/Select.js +15 -15
  286. package/es/v1/Select/SelectWithAvatar.js +17 -17
  287. package/es/v1/Select/SelectWithIcon.js +13 -13
  288. package/es/v1/Select/index.js +4 -4
  289. package/es/v1/Select/props/defaultProps.js +1 -1
  290. package/es/v1/Stencils/Stencils.js +3 -3
  291. package/es/v1/Switch/Switch.js +5 -5
  292. package/es/v1/Tab/Tab.js +5 -5
  293. package/es/v1/Tab/TabContent.js +4 -4
  294. package/es/v1/Tab/TabContentWrapper.js +3 -3
  295. package/es/v1/Tab/TabWrapper.js +3 -3
  296. package/es/v1/Tab/Tabs.js +16 -16
  297. package/es/v1/Tab/index.js +5 -5
  298. package/es/v1/Tab/props/propTypes.js +2 -2
  299. package/es/v1/Tab/v1Tabs.module.css +2 -2
  300. package/es/v1/Tag/Tag.js +7 -7
  301. package/es/v1/TextBox/TextBox.js +3 -3
  302. package/es/v1/TextBoxIcon/TextBoxIcon.js +6 -6
  303. package/es/v1/TextBoxIcon/props/propTypes.js +1 -1
  304. package/es/v1/Textarea/Textarea.js +3 -3
  305. package/es/v1/Tooltip/Tooltip.js +17 -7
  306. package/es/v1/Typography/Typography.js +4 -4
  307. package/es/v1/Typography/css/cssJSLogic.js +1 -1
  308. package/es/v1/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +3 -3
  309. package/es/v1/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +3 -3
  310. package/es/v1/semantic/Button/Button.js +3 -3
  311. package/es/v1/semantic/index.js +1 -1
  312. package/lib/DateTime/__tests__/__snapshots__/DateTime.spec.js.snap +1 -1
  313. package/lib/DateTime/__tests__/__snapshots__/DateTimePopupHeader.spec.js.snap +1 -1
  314. package/lib/DateTime/__tests__/__snapshots__/YearView.spec.js.snap +1 -1
  315. package/lib/Heading/Heading.js +7 -3
  316. package/lib/Heading/__tests__/Heading.spec.js +9 -0
  317. package/lib/Heading/__tests__/__snapshots__/Heading.spec.js.snap +55 -1
  318. package/lib/Heading/props/propTypes.js +2 -1
  319. package/lib/Responsive/CustomResponsive.js +5 -12
  320. package/lib/Responsive/RefWrapper.js +3 -4
  321. package/lib/Responsive/props/propTypes.js +1 -2
  322. package/lib/Tab/Tabs.js +54 -53
  323. package/lib/Tab/Tabs.module.css +2 -2
  324. package/lib/Tab/props/propTypes.js +2 -2
  325. package/lib/Textarea/Textarea.js +188 -43
  326. package/lib/Textarea/Textarea.module.css +55 -4
  327. package/lib/Textarea/TextareaOne.js +422 -0
  328. package/lib/Textarea/props/propTypes.js +4 -1
  329. package/lib/Textarea/utils/calculateNodeHeight.js +69 -0
  330. package/lib/Textarea/utils/calculateNodeHeightOne.js +74 -0
  331. package/lib/Textarea/utils/debounce.js +33 -0
  332. package/lib/Textarea/utils/getSizingData.js +37 -0
  333. package/lib/Textarea/utils/ownerDocument.js +13 -0
  334. package/lib/Textarea/utils/ownerWindow.js +18 -0
  335. package/lib/Textarea/utils/updateState.js +36 -0
  336. package/lib/Tooltip/Tooltip.js +15 -4
  337. package/lib/Tooltip/Tooltip.module.css +0 -8
  338. package/lib/common/common.module.css +24 -0
  339. package/lib/utils/cssUtils.js +22 -0
  340. package/lib/v1/Heading/Heading.js +7 -3
  341. package/lib/v1/Heading/props/propTypes.js +2 -1
  342. package/lib/v1/Tab/Tabs.js +3 -3
  343. package/lib/v1/Tab/props/propTypes.js +2 -2
  344. package/lib/v1/Tab/v1Tabs.module.css +2 -2
  345. package/lib/v1/Tooltip/Tooltip.js +15 -4
  346. package/package.json +8 -8
  347. package/result.json +1 -1
@@ -12,6 +12,7 @@
12
12
  /* textarea placeholder default variable */
13
13
  --textarea_placeholder_text_color: var(--zdt_textarea_placeholder_text);
14
14
  }
15
+
15
16
  .basic {
16
17
  composes: varClass;
17
18
  -webkit-appearance: none;
@@ -22,119 +23,169 @@
22
23
  color: var(--textarea_text_color);
23
24
  cursor: var(--textarea_cursor);
24
25
  }
26
+
25
27
  .basic, .noBorder {
26
28
  border-width: var(--textarea_border_width);
27
29
  }
30
+
28
31
  .basic::placeholder {
29
32
  color: var(--textarea_placeholder_text_color);
30
33
  }
34
+
31
35
  .basic::-webkit-placeholder {
32
36
  color: var(--textarea_placeholder_text_color);
33
37
  }
38
+
34
39
  .basic::-moz-placeholder {
35
40
  color: var(--textarea_placeholder_text_color);
36
41
  }
42
+
37
43
  .basic::-ms-placeholder {
38
44
  color: var(--textarea_placeholder_text_color);
39
45
  }
46
+
40
47
  .basic:disabled {
41
48
  --textarea_cursor: not-allowed;
42
49
  --textarea_text_color: var(--zdt_textarea_default_text);
43
50
  }
51
+
44
52
  .readonly {
45
53
  --textarea_cursor: not-allowed;
46
54
  }
55
+
47
56
  .resizeX {
48
57
  composes: resizeX from '../common/common.module.css';
49
58
  }
59
+
50
60
  .resizeY {
51
61
  composes: resizeY from '../common/common.module.css';
52
62
  }
63
+
53
64
  .noresize {
54
65
  composes: resizenone from '../common/common.module.css';
55
66
  }
67
+
56
68
  .resizeboth {
57
69
  composes: resizeboth from '../common/common.module.css';
58
70
  }
71
+
59
72
  /* css:lineheight-validation:ignore */
60
73
  .container {
61
74
  composes: basic;
62
- transition: border var(--zd_transition2) linear 0s,
75
+ transition: .3s;
76
+ /* transition: border var(--zd_transition2) linear 0s,
63
77
  height var(--zd_transition2) linear 0s;
64
- -moz-transition: border var(--zd_transition2) linear 0s,
78
+ -webkit-transition: border var(--zd_transition2) linear 0s,
65
79
  height var(--zd_transition2) linear 0s;
80
+ -moz-transition: border var(--zd_transition2) linear 0s,
81
+ height var(--zd_transition2) linear 0s; */
66
82
  width: 100% ;
67
83
  max-width: 100% ;
68
84
  min-width: var(--zd_size100) ;
69
85
  font-size: var(--textarea_font_size);
70
86
  line-height: var(--textarea_line_height);
71
87
  height: var(--textarea_height);
72
- -webkit-transition: border var(--zd_transition2) linear 0s,
73
- height var(--zd_transition2) linear 0s;
74
88
  border-style: solid;
75
89
  background-color: var(--zdt_textarea_default_bg);
76
90
  border-color: var(--textarea_border_color);
77
91
  padding: var(--textarea_padding);
78
92
  }
93
+
79
94
  .needBorder {
80
95
  --textarea_border_width: 0 0 1px 0;
81
96
  }
97
+
82
98
  .borderColor_transparent {
83
99
  --textarea_border_color: var(--zdt_textarea_transparent_border);
84
100
  }
101
+
85
102
  .borderColor_default {
86
103
  --textarea_border_color: var(--zdt_textarea_default_border);
87
104
  }
105
+
88
106
  .effect:hover {
89
107
  --textarea_border_color: var(--zdt_textarea_hover_border);
90
108
  }
109
+
91
110
  .effect:focus {
92
111
  --textarea_border_color: var(--zdt_textarea_focus_border);
93
112
  }
113
+
94
114
  .xsmall,
95
115
  .xmedium {
96
116
  vertical-align: middle;
97
117
  }
118
+
98
119
  .xsmall {
99
120
  --textarea_font_size: var(--zd_font_size14);
100
121
  --textarea_padding: var(--zd_size4) 0 var(--zd_size2);
101
122
  --textarea_height: var(--zd_size28);
102
123
  --textarea_line_height: 1.3572;
103
124
  }
125
+
104
126
  .xmedium {
105
127
  --textarea_font_size: var(--zd_font_size13);
106
128
  --textarea_padding: var(--zd_size4) 0 var(--zd_size2);
107
129
  --textarea_height: var(--zd_size25);
108
130
  --textarea_line_height: 1.3077;
109
131
  }
132
+
110
133
  .small {
111
134
  --textarea_height: var(--zd_size30);
112
135
  --textarea_padding: var(--zd_size2) 0;
113
136
  }
137
+
114
138
  .smallanimated:focus,
115
139
  .xsmallanimated:focus,
116
140
  .xmediumanimated:focus {
117
141
  --textarea_height: var(--zd_size70);
118
142
  }
143
+
119
144
  .medium {
120
145
  --textarea_height: var(--zd_size88);
121
146
  --textarea_padding: var(--zd_size2);
122
147
  }
148
+
123
149
  .large {
124
150
  --textarea_height: var(--zd_size45);
125
151
  --textarea_padding: var(--zd_size2);
126
152
  }
153
+
127
154
  .largeanimated:focus {
128
155
  --textarea_height: var(--zd_size220);
129
156
  }
157
+
130
158
  .xlarge {
131
159
  --textarea_height: var(--zd_size184);
132
160
  }
161
+
133
162
  .default {
134
163
  font-family: var(--zd_regular);
135
164
  --textarea_text_color: var(--zdt_textarea_black_text);
136
165
  }
166
+
137
167
  .primary {
138
168
  composes: semibold from '../common/common.module.css';
139
169
  --textarea_text_color: var(--zdt_textarea_black_text);
140
170
  }
171
+
172
+ .forceHiddenStyle {
173
+ /* Visibility needed to hide the extra text area on iPads */
174
+ visibility: hidden;
175
+ /* Remove from the content flow */
176
+ position: absolute;
177
+ /* Ignore the scrollbar width */
178
+ overflow: hidden;
179
+ height: 0 ;
180
+ top: 0 ;
181
+ /* Create a new layer, increase the isolation of the computed values */
182
+ transform: translateZ(0);
183
+ }
184
+
185
+ [dir=ltr] .forceHiddenStyle {
186
+ left: 0 ;
187
+ }
188
+
189
+ [dir=rtl] .forceHiddenStyle {
190
+ right: 0 ;
191
+ }
@@ -0,0 +1,422 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _reactDom = _interopRequireDefault(require("react-dom"));
13
+
14
+ var _defaultProps = require("./props/defaultProps");
15
+
16
+ var _propTypes = require("./props/propTypes");
17
+
18
+ var _TextareaModule = _interopRequireDefault(require("./Textarea.module.css"));
19
+
20
+ var _ownerWindow = _interopRequireDefault(require("./ownerWindow"));
21
+
22
+ var _debounce = _interopRequireDefault(require("./debounce"));
23
+
24
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
25
+
26
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
27
+
28
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
29
+
30
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
31
+
32
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
33
+
34
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
35
+
36
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
37
+
38
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
39
+
40
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
41
+
42
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
43
+
44
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
45
+
46
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
47
+
48
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
49
+
50
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
51
+
52
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
53
+
54
+ var styles = {
55
+ shadow: {
56
+ // Visibility needed to hide the extra text area on iPads
57
+ visibility: "hidden",
58
+ // Remove from the content flow
59
+ position: "absolute",
60
+ // Ignore the scrollbar width
61
+ overflow: "hidden",
62
+ height: 0,
63
+ top: 0,
64
+ left: 0,
65
+ // Create a new layer, increase the isolation of the computed values
66
+ transform: "translateZ(0)"
67
+ }
68
+ };
69
+
70
+ var Textarea = /*#__PURE__*/function (_React$Component) {
71
+ _inherits(Textarea, _React$Component);
72
+
73
+ var _super = _createSuper(Textarea);
74
+
75
+ function Textarea(props) {
76
+ var _this;
77
+
78
+ _classCallCheck(this, Textarea);
79
+
80
+ _this = _super.call(this, props);
81
+ _this.onChange = _this.onChange.bind(_assertThisInitialized(_this));
82
+ _this.onKeyDown = _this.onKeyDown.bind(_assertThisInitialized(_this));
83
+ _this.onBlur = _this.onBlur.bind(_assertThisInitialized(_this));
84
+ _this.inputRef = _this.inputRef.bind(_assertThisInitialized(_this));
85
+ _this.getUpdatedState = _this.getUpdatedState.bind(_assertThisInitialized(_this));
86
+ _this.isEmpty = _this.isEmpty.bind(_assertThisInitialized(_this));
87
+ _this.getStyleValue = _this.getStyleValue.bind(_assertThisInitialized(_this));
88
+ _this.updateState = _this.updateState.bind(_assertThisInitialized(_this));
89
+ _this.syncHeight = _this.syncHeight.bind(_assertThisInitialized(_this));
90
+ _this.syncHeightWithFlushSync = _this.syncHeightWithFlushSync.bind(_assertThisInitialized(_this));
91
+ _this.handleResize = _this.handleResize.bind(_assertThisInitialized(_this));
92
+ _this.rAFHandleResize = _this.rAFHandleResize.bind(_assertThisInitialized(_this));
93
+ _this.rAF = null;
94
+ _this.resizeObserver = null;
95
+ _this.debounceHandleResize = null;
96
+ _this.shadowRef = /*#__PURE__*/_react["default"].createRef();
97
+ _this.rendersRef = /*#__PURE__*/_react["default"].createRef();
98
+ _this.state = {
99
+ outerHeightStyle: 0,
100
+ overflow: false
101
+ };
102
+ return _this;
103
+ }
104
+
105
+ _createClass(Textarea, [{
106
+ key: "onBlur",
107
+ value: function onBlur(e) {
108
+ e && e.preventDefault();
109
+ var onBlur = this.props.onBlur;
110
+ onBlur && onBlur(e.target.value, e);
111
+ this.syncHeight();
112
+ }
113
+ }, {
114
+ key: "onKeyDown",
115
+ value: function onKeyDown(e) {
116
+ var onKeyDown = this.props.onKeyDown;
117
+ onKeyDown && onKeyDown(e);
118
+ }
119
+ }, {
120
+ key: "inputRef",
121
+ value: function inputRef(e) {
122
+ var getRef = this.props.getRef;
123
+ this.textareaRef = e;
124
+ getRef && getRef(e);
125
+ }
126
+ }, {
127
+ key: "isEmpty",
128
+ value: function isEmpty(obj) {
129
+ return obj === undefined || obj === null || Object.keys(obj).length === 0 || obj.outerHeightStyle === 0 && !obj.overflow;
130
+ }
131
+ }, {
132
+ key: "getStyleValue",
133
+ value: function getStyleValue(value) {
134
+ return parseInt(value, 10) || 0;
135
+ }
136
+ }, {
137
+ key: "getUpdatedState",
138
+ value: function getUpdatedState() {
139
+ var _this$props = this.props,
140
+ _this$props$minRows = _this$props.minRows,
141
+ minRows = _this$props$minRows === void 0 ? 1 : _this$props$minRows,
142
+ _this$props$maxRows = _this$props.maxRows,
143
+ maxRows = _this$props$maxRows === void 0 ? 5 : _this$props$maxRows,
144
+ placeHolder = _this$props.placeHolder;
145
+ var input = this.textareaRef;
146
+ var containerWindow = (0, _ownerWindow["default"])(input);
147
+ var computedStyle = containerWindow.getComputedStyle(input); // If input's width is shrunk and it's not visible, don't sync height.
148
+
149
+ if (computedStyle.width === "0px") {
150
+ return {
151
+ outerHeightStyle: 0
152
+ };
153
+ }
154
+
155
+ var inputShallow = this.shadowRef.current;
156
+ inputShallow.style.width = computedStyle.width;
157
+ inputShallow.value = input.value || placeHolder || "x"; // if (inputShallow.value.slice(-1) === "\n") {
158
+ // Certain fonts which overflow the line height will cause the textarea
159
+ // to report a different scrollHeight depending on whether the last line
160
+ // is empty. Make it non-empty to avoid this issue.
161
+ // inputShallow.value += " ";
162
+ // }
163
+
164
+ var boxSizing = computedStyle.boxSizing;
165
+ var padding = this.getStyleValue(computedStyle.paddingBottom) + this.getStyleValue(computedStyle.paddingTop);
166
+ var border = this.getStyleValue(computedStyle.borderBottomWidth) + this.getStyleValue(computedStyle.borderTopWidth); // The height of the inner content
167
+
168
+ var innerHeight = inputShallow.scrollHeight; // Measure height of a textarea with a single row
169
+
170
+ inputShallow.value = "x";
171
+ var singleRowHeight = inputShallow.scrollHeight; // The height of the outer content
172
+
173
+ var outerHeight = innerHeight;
174
+
175
+ if (minRows) {
176
+ outerHeight = Math.max(Number(minRows) * singleRowHeight, outerHeight);
177
+ }
178
+
179
+ if (maxRows) {
180
+ outerHeight = Math.min(Number(maxRows) * singleRowHeight, outerHeight);
181
+ }
182
+
183
+ outerHeight = Math.max(outerHeight, singleRowHeight); // Take the box sizing into account for applying this value as a style.
184
+
185
+ var outerHeightStyle = outerHeight + (boxSizing === "border-box" ? padding + border : 0);
186
+ var overflow = Math.abs(outerHeight - innerHeight) <= 1;
187
+ console.log("outerHeightStyle-->", outerHeightStyle);
188
+ return {
189
+ outerHeightStyle: outerHeightStyle,
190
+ overflow: overflow
191
+ };
192
+ }
193
+ }, {
194
+ key: "updateState",
195
+ value: function updateState(prevState, newState) {
196
+ var outerHeightStyle = newState.outerHeightStyle,
197
+ overflow = newState.overflow;
198
+ var renders = this.rendersRef; // Need a large enough difference to update the height.
199
+ // This prevents infinite rendering loop.
200
+
201
+ if (renders.current < 20 && (outerHeightStyle > 0 && Math.abs((prevState.outerHeightStyle || 0) - outerHeightStyle) > 1 || prevState.overflow !== overflow)) {
202
+ renders.current += 1;
203
+ return {
204
+ overflow: overflow,
205
+ outerHeightStyle: outerHeightStyle
206
+ };
207
+ } // if (process.env.NODE_ENV !== "production") {
208
+ // if (renders.current === 20) {
209
+ // console.error(
210
+ // [
211
+ // "MUI: Too many re-renders. The layout is unstable.",
212
+ // "TextareaAutosize limits the number of renders to prevent an infinite loop."
213
+ // ].join("\n")
214
+ // )
215
+ // }
216
+ // }
217
+
218
+
219
+ return prevState;
220
+ }
221
+ }, {
222
+ key: "syncHeight",
223
+ value: function syncHeight() {
224
+ var _this2 = this;
225
+
226
+ var newState = this.getUpdatedState();
227
+
228
+ if (this.isEmpty(newState)) {
229
+ return;
230
+ }
231
+
232
+ this.setState(function (prevState) {
233
+ return _this2.updateState(prevState, newState);
234
+ });
235
+ }
236
+ }, {
237
+ key: "onChange",
238
+ value: function onChange(e) {
239
+ e && e.preventDefault();
240
+ var _this$props2 = this.props,
241
+ onChange = _this$props2.onChange,
242
+ text = _this$props2.text;
243
+ this.rendersRef.current = 0;
244
+ var isControlled = text !== undefined;
245
+
246
+ if (!isControlled) {
247
+ this.syncHeight();
248
+ }
249
+
250
+ onChange && onChange(e.target.value, e);
251
+ }
252
+ }, {
253
+ key: "syncHeightWithFlushSync",
254
+ value: function syncHeightWithFlushSync() {
255
+ var _this3 = this;
256
+
257
+ var newState = this.getUpdatedState();
258
+
259
+ if (this.isEmpty(newState)) {
260
+ return;
261
+ }
262
+
263
+ _reactDom["default"].flushSync(function () {
264
+ _this3.setState(function (prevState) {
265
+ return _this3.updateState(prevState, newState);
266
+ });
267
+ });
268
+ }
269
+ }, {
270
+ key: "handleResize",
271
+ value: function handleResize() {
272
+ this.rendersRef.current = 0;
273
+ this.syncHeightWithFlushSync();
274
+ }
275
+ }, {
276
+ key: "rAFHandleResize",
277
+ value: function rAFHandleResize() {
278
+ var _this4 = this;
279
+
280
+ cancelAnimationFrame(this.rAF);
281
+ this.rAF = requestAnimationFrame(function () {
282
+ _this4.handleResize();
283
+ });
284
+ }
285
+ }, {
286
+ key: "componentDidMount",
287
+ value: function componentDidMount() {
288
+ var input = this.textareaRef;
289
+ var containerWindow = (0, _ownerWindow["default"])(input);
290
+ this.debounceHandleResize = (0, _debounce["default"])(this.handleResize);
291
+ containerWindow.addEventListener("resize", this.debounceHandleResize);
292
+
293
+ if (typeof ResizeObserver !== "undefined") {
294
+ this.resizeObserver = new ResizeObserver(this.rAFHandleResize);
295
+ this.resizeObserver.observe(input);
296
+ }
297
+ }
298
+ }, {
299
+ key: "componentWillUnmount",
300
+ value: function componentWillUnmount() {
301
+ var input = this.textareaRef;
302
+ var containerWindow = (0, _ownerWindow["default"])(input);
303
+ this.debounceHandleResize.clear();
304
+ cancelAnimationFrame(this.rAF);
305
+ containerWindow.removeEventListener("resize", this.debounceHandleResize);
306
+
307
+ if (this.resizeObserver) {
308
+ this.resizeObserver.disconnect();
309
+ }
310
+ }
311
+ }, {
312
+ key: "componentDidUpdate",
313
+ value: function componentDidUpdate(prevProps) {
314
+ if (prevProps.text !== this.props.text) {
315
+ this.rendersRef.current = 0;
316
+ this.syncHeight();
317
+ }
318
+ }
319
+ }, {
320
+ key: "render",
321
+ value: function render() {
322
+ var _this$props3 = this.props,
323
+ size = _this$props3.size,
324
+ placeHolder = _this$props3.placeHolder,
325
+ needBorder = _this$props3.needBorder,
326
+ text = _this$props3.text,
327
+ isDisabled = _this$props3.isDisabled,
328
+ resize = _this$props3.resize,
329
+ maxLength = _this$props3.maxLength,
330
+ animated = _this$props3.animated,
331
+ variant = _this$props3.variant,
332
+ getRef = _this$props3.getRef,
333
+ onFocus = _this$props3.onFocus,
334
+ dataId = _this$props3.dataId,
335
+ dataSelectorId = _this$props3.dataSelectorId,
336
+ isReadOnly = _this$props3.isReadOnly,
337
+ needAppearance = _this$props3.needAppearance,
338
+ needReadOnlyStyle = _this$props3.needReadOnlyStyle,
339
+ borderColor = _this$props3.borderColor,
340
+ needEffect = _this$props3.needEffect,
341
+ autoFocus = _this$props3.autoFocus,
342
+ htmlId = _this$props3.htmlId,
343
+ a11y = _this$props3.a11y,
344
+ customClass = _this$props3.customClass,
345
+ maxRows = _this$props3.maxRows,
346
+ _this$props3$minRows = _this$props3.minRows,
347
+ minRows = _this$props3$minRows === void 0 ? 3 : _this$props3$minRows,
348
+ inlineStyle = _this$props3.inlineStyle;
349
+ var ariaLabel = a11y.ariaLabel,
350
+ ariaLabelledby = a11y.ariaLabelledby;
351
+ var resizes = {
352
+ horizontal: "resizeX",
353
+ vertical: "resizeY",
354
+ both: "resizeboth",
355
+ none: "noresize"
356
+ };
357
+ var options = {};
358
+
359
+ if (isReadOnly) {
360
+ options.readOnly = "readOnly";
361
+ }
362
+
363
+ if (isDisabled) {
364
+ options.disabled = "disabled";
365
+ }
366
+
367
+ if (autoFocus) {
368
+ options.autoFocus = true;
369
+ }
370
+
371
+ var classList = needAppearance ? "".concat(_TextareaModule["default"].container, " ").concat(_TextareaModule["default"][size], " ").concat(_TextareaModule["default"][variant], " ").concat(needBorder ? _TextareaModule["default"].needBorder : _TextareaModule["default"].noBorder, " ").concat(resize ? _TextareaModule["default"][resizes[resize]] : _TextareaModule["default"][resizes.none], " ").concat(animated ? "".concat(_TextareaModule["default"]["".concat(size, "animated")]) : "", " ").concat(isDisabled && !needEffect || isReadOnly && !needEffect ? "" : _TextareaModule["default"].effect) : "".concat(_TextareaModule["default"].basic);
372
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("textarea", _extends({
373
+ "aria-label": ariaLabel,
374
+ "aria-labelledby": ariaLabelledby,
375
+ className: "".concat(customClass, " ").concat(isReadOnly && needReadOnlyStyle ? _TextareaModule["default"].readonly : "", " ").concat(classList, " ").concat(_TextareaModule["default"]["borderColor_".concat(borderColor)]),
376
+ placeholder: placeHolder
377
+ }, options, {
378
+ "data-id": dataId,
379
+ "data-test-id": dataId,
380
+ maxLength: maxLength,
381
+ onChange: this.onChange,
382
+ onKeyDown: this.onKeyDown,
383
+ onFocus: onFocus,
384
+ onBlur: this.onBlur,
385
+ ref: this.inputRef,
386
+ value: text,
387
+ id: htmlId,
388
+ "data-selector-id": dataSelectorId,
389
+ rows: minRows,
390
+ style: _objectSpread({
391
+ height: this.state.outerHeightStyle,
392
+ // Need a large enough difference to allow scrolling.
393
+ // This prevents infinite rendering loop.
394
+ overflow: this.state.overflow ? "hidden" : undefined
395
+ }, inlineStyle)
396
+ })), /*#__PURE__*/_react["default"].createElement("textarea", {
397
+ "aria-hidden": true,
398
+ readOnly: true,
399
+ ref: this.shadowRef,
400
+ tabIndex: -1,
401
+ className: "".concat(customClass, " ").concat(classList, " ").concat(_TextareaModule["default"]["borderColor_".concat(borderColor)]),
402
+ style: _objectSpread(_objectSpread(_objectSpread({}, styles.shadow), inlineStyle), {}, {
403
+ paddingTop: 0,
404
+ paddingBottom: 0
405
+ })
406
+ }));
407
+ }
408
+ }]);
409
+
410
+ return Textarea;
411
+ }(_react["default"].Component);
412
+
413
+ exports["default"] = Textarea;
414
+ Textarea.defaultProps = _defaultProps.defaultProps;
415
+ Textarea.propTypes = _propTypes.propTypes; // if (__DOCS__) {
416
+ // Textarea.docs = {
417
+ // componentGroup: 'Form Elements',
418
+ // folderName: 'Style Guide',
419
+ // external: true,
420
+ // description: ' '
421
+ // };
422
+ // }
@@ -37,6 +37,9 @@ var propTypes = {
37
37
  a11y: _propTypes["default"].shape({
38
38
  ariaLabel: _propTypes["default"].string,
39
39
  ariaLabelledby: _propTypes["default"].string
40
- })
40
+ }),
41
+ maxRows: _propTypes["default"].string,
42
+ minRows: _propTypes["default"].string,
43
+ inlineStyle: _propTypes["default"].string
41
44
  };
42
45
  exports.propTypes = propTypes;
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = calculateNodeHeight;
7
+
8
+ var _getSizingData2 = _interopRequireDefault(require("./getSizingData"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
+
12
+ function calculateNodeHeight(_ref) {
13
+ var _ref$minRows = _ref.minRows,
14
+ minRows = _ref$minRows === void 0 ? 1 : _ref$minRows,
15
+ _ref$maxRows = _ref.maxRows,
16
+ maxRows = _ref$maxRows === void 0 ? 5 : _ref$maxRows,
17
+ textareaEle = _ref.textareaEle,
18
+ hiddenTextareaEle = _ref.hiddenTextareaEle;
19
+
20
+ var _getSizingData = (0, _getSizingData2["default"])(textareaEle),
21
+ computedStyle = _getSizingData.computedStyle,
22
+ paddingSize = _getSizingData.paddingSize,
23
+ borderSize = _getSizingData.borderSize,
24
+ boxSizing = _getSizingData.boxSizing;
25
+
26
+ var isBorderBox = boxSizing === "border-box"; // If input's width is shrunk and it's not visible, don't sync height.
27
+
28
+ if (computedStyle.width === '0px') {
29
+ return {
30
+ height: 0
31
+ };
32
+ }
33
+
34
+ var hiddenTextarea = hiddenTextareaEle;
35
+ hiddenTextarea.style.width = computedStyle.width;
36
+ hiddenTextarea.value = textareaEle.value || textareaEle.placeholder || "x";
37
+
38
+ if (hiddenTextarea.value.slice(-1) === "\n") {
39
+ // // Certain fonts which overflow the line height will cause the textarea
40
+ // // to report a different scrollHeight depending on whether the last line
41
+ // // is empty. Make it non-empty to avoid this issue.
42
+ hiddenTextarea.value += " ";
43
+ } // The height of the inner content
44
+
45
+
46
+ var innerHeight = hiddenTextarea.scrollHeight; // Measure height of a textarea with a single row
47
+
48
+ hiddenTextarea.value = "x";
49
+ var singleRowHeight = hiddenTextarea.scrollHeight - paddingSize || parseInt(computedStyle.lineHeight); // The height of the outer content
50
+
51
+ var outerHeight = innerHeight;
52
+
53
+ if (minRows) {
54
+ outerHeight = Math.max(Number(minRows) * singleRowHeight, outerHeight);
55
+ }
56
+
57
+ if (maxRows) {
58
+ outerHeight = Math.min(Number(maxRows) * singleRowHeight, outerHeight);
59
+ }
60
+
61
+ outerHeight = Math.max(outerHeight, singleRowHeight); // Take the box sizing into account for applying this value as a style.
62
+
63
+ var height = outerHeight + (isBorderBox ? paddingSize + borderSize : 0);
64
+ var overflow = Math.abs(outerHeight - innerHeight) <= 1;
65
+ return {
66
+ height: height,
67
+ overflow: overflow
68
+ };
69
+ }