@salutejs/plasma-new-hope 0.171.0-canary.1492.11402523696.0 → 0.172.0-canary.1459.11417545272.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (447) hide show
  1. package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.js +19 -13
  2. package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.js.map +1 -1
  3. package/cjs/components/Autocomplete/Autocomplete.css +35 -19
  4. package/cjs/components/Autocomplete/Autocomplete.js +4 -2
  5. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  6. package/cjs/components/Combobox/ComboboxNew/Combobox.css +39 -18
  7. package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.css +39 -18
  8. package/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.css +39 -18
  9. package/cjs/components/DatePicker/RangeDate/RangeDate.css +34 -18
  10. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +34 -18
  11. package/cjs/components/DatePicker/SingleDate/SingleDate.css +36 -20
  12. package/cjs/components/Range/Range.css +40 -19
  13. package/cjs/components/Slider/Slider.css +40 -19
  14. package/cjs/components/Slider/Slider.js +2 -0
  15. package/cjs/components/Slider/Slider.js.map +1 -1
  16. package/cjs/components/Slider/components/Double/Double.css +40 -19
  17. package/cjs/components/TextArea/TextArea.js +112 -20
  18. package/cjs/components/TextArea/TextArea.js.map +1 -1
  19. package/cjs/components/TextArea/TextArea.styles.js +166 -63
  20. package/cjs/components/TextArea/TextArea.styles.js.map +1 -1
  21. package/cjs/components/TextArea/TextArea.styles_1ke2ihc.css +18 -0
  22. package/cjs/components/TextArea/TextArea.tokens.js +45 -5
  23. package/cjs/components/TextArea/TextArea.tokens.js.map +1 -1
  24. package/cjs/components/TextArea/hooks/useAutoResize.js +3 -5
  25. package/cjs/components/TextArea/hooks/useAutoResize.js.map +1 -1
  26. package/cjs/components/TextArea/ui/Hint/Hint.css +30 -0
  27. package/cjs/components/TextArea/ui/Hint/Hint.js +53 -0
  28. package/cjs/components/TextArea/ui/Hint/Hint.js.map +1 -0
  29. package/cjs/components/TextArea/variations/_clear/base.js +1 -1
  30. package/cjs/components/TextArea/variations/_clear/base.js.map +1 -1
  31. package/cjs/components/TextArea/variations/_clear/base_iz2qkw.css +1 -0
  32. package/cjs/components/TextArea/variations/_hint-size/base.js +9 -0
  33. package/cjs/components/TextArea/variations/_hint-size/base.js.map +1 -0
  34. package/cjs/components/TextArea/variations/_hint-size/base_1ipgv90.css +1 -0
  35. package/cjs/components/TextArea/variations/_hint-view/base.js +9 -0
  36. package/cjs/components/TextArea/variations/_hint-view/base.js.map +1 -0
  37. package/cjs/components/TextArea/variations/_hint-view/base_111a0qe.css +1 -0
  38. package/cjs/components/TextArea/variations/_view/base.js +1 -1
  39. package/cjs/components/TextArea/variations/_view/base.js.map +1 -1
  40. package/cjs/components/TextArea/variations/_view/base_1xgrm3x.css +1 -0
  41. package/cjs/components/TextField/TextField.js +100 -10
  42. package/cjs/components/TextField/TextField.js.map +1 -1
  43. package/cjs/components/TextField/TextField.styles.js +82 -23
  44. package/cjs/components/TextField/TextField.styles.js.map +1 -1
  45. package/cjs/components/TextField/TextField.styles_grgg7q.css +22 -0
  46. package/cjs/components/TextField/TextField.tokens.js +42 -2
  47. package/cjs/components/TextField/TextField.tokens.js.map +1 -1
  48. package/cjs/components/TextField/ui/Hint/Hint.css +34 -0
  49. package/cjs/components/TextField/ui/Hint/Hint.js +53 -0
  50. package/cjs/components/TextField/ui/Hint/Hint.js.map +1 -0
  51. package/cjs/components/TextField/variations/_clear/base.js +1 -1
  52. package/cjs/components/TextField/variations/_clear/base.js.map +1 -1
  53. package/cjs/components/TextField/variations/_clear/base_1i91sjp.css +1 -0
  54. package/cjs/components/TextField/variations/_disabled/base.js +1 -1
  55. package/cjs/components/TextField/variations/_disabled/{base_2tv0nz.css → base_4d3opa.css} +1 -1
  56. package/cjs/components/TextField/variations/_hint-size/base.js +9 -0
  57. package/cjs/components/TextField/variations/_hint-size/base.js.map +1 -0
  58. package/cjs/components/TextField/variations/_hint-size/base_1x99605.css +1 -0
  59. package/cjs/components/TextField/variations/_hint-view/base.js +9 -0
  60. package/cjs/components/TextField/variations/_hint-view/base.js.map +1 -0
  61. package/cjs/components/TextField/variations/_hint-view/base_l8etux.css +1 -0
  62. package/cjs/components/TextField/variations/_label-placement/base.js +1 -1
  63. package/cjs/components/TextField/variations/_label-placement/base.js.map +1 -1
  64. package/cjs/components/TextField/variations/_label-placement/base_3domm.css +1 -0
  65. package/cjs/components/TextField/variations/_read-only/base.js +1 -1
  66. package/cjs/components/TextField/variations/_read-only/base.js.map +1 -1
  67. package/cjs/components/TextField/variations/_read-only/base_17ypmu7.css +1 -0
  68. package/cjs/components/TextField/variations/_size/base.js +1 -1
  69. package/cjs/components/TextField/variations/_size/base.js.map +1 -1
  70. package/cjs/components/TextField/variations/_size/base_1xdmaqh.css +1 -0
  71. package/cjs/components/TextField/variations/_view/base.js +1 -1
  72. package/cjs/components/TextField/variations/_view/base.js.map +1 -1
  73. package/cjs/components/TextField/variations/_view/base_qhyte8.css +1 -0
  74. package/cjs/components/TextFieldGroup/TextFieldGroup.css +1 -1
  75. package/cjs/components/TextFieldGroup/variations/_shape/base.js +1 -1
  76. package/cjs/components/TextFieldGroup/variations/_shape/base_52bndd.css +1 -0
  77. package/cjs/components/_Icon/Icon.assets/InfoCircleOutline.js +23 -0
  78. package/cjs/components/_Icon/Icon.assets/InfoCircleOutline.js.map +1 -0
  79. package/cjs/components/_Icon/Icons/IconInfoCircleOutline.js +23 -0
  80. package/cjs/components/_Icon/Icons/IconInfoCircleOutline.js.map +1 -0
  81. package/cjs/index.css +56 -34
  82. package/emotion/cjs/components/Accordion/Accordion.template-doc.mdx +32 -0
  83. package/emotion/cjs/components/Accordion/ui/AccordionItem/AccordionItem.js +19 -13
  84. package/emotion/cjs/components/Autocomplete/Autocomplete.js +4 -2
  85. package/emotion/cjs/components/TextArea/TextArea.js +115 -23
  86. package/emotion/cjs/components/TextArea/TextArea.styles.js +103 -41
  87. package/emotion/cjs/components/TextArea/TextArea.template-doc.mdx +6 -1
  88. package/emotion/cjs/components/TextArea/TextArea.tokens.js +45 -5
  89. package/emotion/cjs/components/TextArea/hooks/useAutoResize.js +3 -5
  90. package/emotion/cjs/components/TextArea/ui/Hint/Hint.js +53 -0
  91. package/emotion/cjs/components/TextArea/ui/Hint/Hint.types.js +5 -0
  92. package/emotion/cjs/components/TextArea/variations/_clear/base.js +1 -1
  93. package/emotion/cjs/components/TextArea/variations/_hint-size/base.js +11 -0
  94. package/emotion/cjs/components/TextArea/variations/_hint-size/tokens.json +21 -0
  95. package/emotion/cjs/components/TextArea/variations/_hint-view/base.js +11 -0
  96. package/emotion/cjs/components/TextArea/variations/_hint-view/tokens.json +5 -0
  97. package/emotion/cjs/components/TextArea/variations/_view/base.js +2 -1
  98. package/emotion/cjs/components/TextField/TextField.js +103 -13
  99. package/emotion/cjs/components/TextField/TextField.styles.js +88 -37
  100. package/emotion/cjs/components/TextField/TextField.template-doc.mdx +6 -1
  101. package/emotion/cjs/components/TextField/TextField.tokens.js +42 -2
  102. package/emotion/cjs/components/TextField/ui/Hint/Hint.js +53 -0
  103. package/emotion/cjs/components/TextField/ui/Hint/Hint.types.js +5 -0
  104. package/emotion/cjs/components/TextField/variations/_clear/base.js +1 -1
  105. package/emotion/cjs/components/TextField/variations/_hint-size/base.js +11 -0
  106. package/emotion/cjs/components/TextField/variations/_hint-size/tokens.json +21 -0
  107. package/emotion/cjs/components/TextField/variations/_hint-view/base.js +11 -0
  108. package/emotion/cjs/components/TextField/variations/_hint-view/tokens.json +5 -0
  109. package/emotion/cjs/components/TextField/variations/_label-placement/base.js +1 -1
  110. package/emotion/cjs/components/TextField/variations/_read-only/base.js +1 -1
  111. package/emotion/cjs/components/TextField/variations/_size/base.js +1 -1
  112. package/emotion/cjs/components/TextField/variations/_view/base.js +1 -1
  113. package/emotion/cjs/components/_Icon/Icon.assets/InfoCircleOutline.js +22 -0
  114. package/emotion/cjs/components/_Icon/Icons/IconInfoCircleOutline.js +22 -0
  115. package/emotion/cjs/components/_Icon/index.js +8 -1
  116. package/emotion/cjs/examples/plasma_b2c/components/Accordion/Accordion.stories.tsx +63 -1
  117. package/emotion/cjs/examples/plasma_b2c/components/TextArea/TextArea.config.js +17 -10
  118. package/emotion/cjs/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +72 -0
  119. package/emotion/cjs/examples/plasma_b2c/components/TextField/TextField.config.js +20 -13
  120. package/emotion/cjs/examples/plasma_b2c/components/TextField/TextField.stories.tsx +73 -1
  121. package/emotion/cjs/examples/plasma_web/components/Accordion/Accordion.stories.tsx +63 -1
  122. package/emotion/cjs/examples/plasma_web/components/TextArea/TextArea.config.js +17 -10
  123. package/emotion/cjs/examples/plasma_web/components/TextArea/TextArea.stories.tsx +72 -0
  124. package/emotion/cjs/examples/plasma_web/components/TextField/TextField.config.js +20 -13
  125. package/emotion/cjs/examples/plasma_web/components/TextField/TextField.stories.tsx +82 -10
  126. package/emotion/es/components/Accordion/Accordion.template-doc.mdx +32 -0
  127. package/emotion/es/components/Accordion/ui/AccordionItem/AccordionItem.js +20 -14
  128. package/emotion/es/components/Autocomplete/Autocomplete.js +4 -2
  129. package/emotion/es/components/TextArea/TextArea.js +116 -24
  130. package/emotion/es/components/TextArea/TextArea.styles.js +102 -40
  131. package/emotion/es/components/TextArea/TextArea.template-doc.mdx +6 -1
  132. package/emotion/es/components/TextArea/TextArea.tokens.js +45 -5
  133. package/emotion/es/components/TextArea/hooks/useAutoResize.js +3 -5
  134. package/emotion/es/components/TextArea/ui/Hint/Hint.js +44 -0
  135. package/emotion/es/components/TextArea/ui/Hint/Hint.types.js +1 -0
  136. package/emotion/es/components/TextArea/variations/_clear/base.js +2 -2
  137. package/emotion/es/components/TextArea/variations/_hint-size/base.js +5 -0
  138. package/emotion/es/components/TextArea/variations/_hint-size/tokens.json +21 -0
  139. package/emotion/es/components/TextArea/variations/_hint-view/base.js +5 -0
  140. package/emotion/es/components/TextArea/variations/_hint-view/tokens.json +5 -0
  141. package/emotion/es/components/TextArea/variations/_view/base.js +2 -1
  142. package/emotion/es/components/TextField/TextField.js +102 -12
  143. package/emotion/es/components/TextField/TextField.styles.js +87 -36
  144. package/emotion/es/components/TextField/TextField.template-doc.mdx +6 -1
  145. package/emotion/es/components/TextField/TextField.tokens.js +42 -2
  146. package/emotion/es/components/TextField/ui/Hint/Hint.js +44 -0
  147. package/emotion/es/components/TextField/ui/Hint/Hint.types.js +1 -0
  148. package/emotion/es/components/TextField/variations/_clear/base.js +2 -2
  149. package/emotion/es/components/TextField/variations/_hint-size/base.js +5 -0
  150. package/emotion/es/components/TextField/variations/_hint-size/tokens.json +21 -0
  151. package/emotion/es/components/TextField/variations/_hint-view/base.js +5 -0
  152. package/emotion/es/components/TextField/variations/_hint-view/tokens.json +5 -0
  153. package/emotion/es/components/TextField/variations/_label-placement/base.js +1 -1
  154. package/emotion/es/components/TextField/variations/_read-only/base.js +2 -2
  155. package/emotion/es/components/TextField/variations/_size/base.js +2 -2
  156. package/emotion/es/components/TextField/variations/_view/base.js +2 -2
  157. package/emotion/es/components/_Icon/Icon.assets/InfoCircleOutline.js +15 -0
  158. package/emotion/es/components/_Icon/Icons/IconInfoCircleOutline.js +15 -0
  159. package/emotion/es/components/_Icon/index.js +2 -1
  160. package/emotion/es/examples/plasma_b2c/components/Accordion/Accordion.stories.tsx +63 -1
  161. package/emotion/es/examples/plasma_b2c/components/TextArea/TextArea.config.js +17 -10
  162. package/emotion/es/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +72 -0
  163. package/emotion/es/examples/plasma_b2c/components/TextField/TextField.config.js +20 -13
  164. package/emotion/es/examples/plasma_b2c/components/TextField/TextField.stories.tsx +73 -1
  165. package/emotion/es/examples/plasma_web/components/Accordion/Accordion.stories.tsx +63 -1
  166. package/emotion/es/examples/plasma_web/components/TextArea/TextArea.config.js +17 -10
  167. package/emotion/es/examples/plasma_web/components/TextArea/TextArea.stories.tsx +72 -0
  168. package/emotion/es/examples/plasma_web/components/TextField/TextField.config.js +20 -13
  169. package/emotion/es/examples/plasma_web/components/TextField/TextField.stories.tsx +82 -10
  170. package/es/components/Accordion/ui/AccordionItem/AccordionItem.js +20 -14
  171. package/es/components/Accordion/ui/AccordionItem/AccordionItem.js.map +1 -1
  172. package/es/components/Autocomplete/Autocomplete.css +35 -19
  173. package/es/components/Autocomplete/Autocomplete.js +4 -2
  174. package/es/components/Autocomplete/Autocomplete.js.map +1 -1
  175. package/es/components/Combobox/ComboboxNew/Combobox.css +39 -18
  176. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.css +39 -18
  177. package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.css +39 -18
  178. package/es/components/DatePicker/RangeDate/RangeDate.css +34 -18
  179. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +34 -18
  180. package/es/components/DatePicker/SingleDate/SingleDate.css +36 -20
  181. package/es/components/Range/Range.css +40 -19
  182. package/es/components/Slider/Slider.css +40 -19
  183. package/es/components/Slider/Slider.js +2 -0
  184. package/es/components/Slider/Slider.js.map +1 -1
  185. package/es/components/Slider/components/Double/Double.css +40 -19
  186. package/es/components/TextArea/TextArea.js +116 -24
  187. package/es/components/TextArea/TextArea.js.map +1 -1
  188. package/es/components/TextArea/TextArea.styles.js +160 -64
  189. package/es/components/TextArea/TextArea.styles.js.map +1 -1
  190. package/es/components/TextArea/TextArea.styles_1ke2ihc.css +18 -0
  191. package/es/components/TextArea/TextArea.tokens.js +45 -5
  192. package/es/components/TextArea/TextArea.tokens.js.map +1 -1
  193. package/es/components/TextArea/hooks/useAutoResize.js +3 -5
  194. package/es/components/TextArea/hooks/useAutoResize.js.map +1 -1
  195. package/es/components/TextArea/ui/Hint/Hint.css +30 -0
  196. package/es/components/TextArea/ui/Hint/Hint.js +49 -0
  197. package/es/components/TextArea/ui/Hint/Hint.js.map +1 -0
  198. package/es/components/TextArea/variations/_clear/base.js +1 -1
  199. package/es/components/TextArea/variations/_clear/base.js.map +1 -1
  200. package/es/components/TextArea/variations/_clear/base_iz2qkw.css +1 -0
  201. package/es/components/TextArea/variations/_hint-size/base.js +5 -0
  202. package/es/components/TextArea/variations/_hint-size/base.js.map +1 -0
  203. package/es/components/TextArea/variations/_hint-size/base_1ipgv90.css +1 -0
  204. package/es/components/TextArea/variations/_hint-view/base.js +5 -0
  205. package/es/components/TextArea/variations/_hint-view/base.js.map +1 -0
  206. package/es/components/TextArea/variations/_hint-view/base_111a0qe.css +1 -0
  207. package/es/components/TextArea/variations/_view/base.js +1 -1
  208. package/es/components/TextArea/variations/_view/base.js.map +1 -1
  209. package/es/components/TextArea/variations/_view/base_1xgrm3x.css +1 -0
  210. package/es/components/TextField/TextField.js +101 -11
  211. package/es/components/TextField/TextField.js.map +1 -1
  212. package/es/components/TextField/TextField.styles.js +76 -24
  213. package/es/components/TextField/TextField.styles.js.map +1 -1
  214. package/es/components/TextField/TextField.styles_grgg7q.css +22 -0
  215. package/es/components/TextField/TextField.tokens.js +42 -2
  216. package/es/components/TextField/TextField.tokens.js.map +1 -1
  217. package/es/components/TextField/ui/Hint/Hint.css +34 -0
  218. package/es/components/TextField/ui/Hint/Hint.js +49 -0
  219. package/es/components/TextField/ui/Hint/Hint.js.map +1 -0
  220. package/es/components/TextField/variations/_clear/base.js +1 -1
  221. package/es/components/TextField/variations/_clear/base.js.map +1 -1
  222. package/es/components/TextField/variations/_clear/base_1i91sjp.css +1 -0
  223. package/es/components/TextField/variations/_disabled/base.js +1 -1
  224. package/es/components/TextField/variations/_disabled/{base_2tv0nz.css → base_4d3opa.css} +1 -1
  225. package/es/components/TextField/variations/_hint-size/base.js +5 -0
  226. package/es/components/TextField/variations/_hint-size/base.js.map +1 -0
  227. package/es/components/TextField/variations/_hint-size/base_1x99605.css +1 -0
  228. package/es/components/TextField/variations/_hint-view/base.js +5 -0
  229. package/es/components/TextField/variations/_hint-view/base.js.map +1 -0
  230. package/es/components/TextField/variations/_hint-view/base_l8etux.css +1 -0
  231. package/es/components/TextField/variations/_label-placement/base.js +1 -1
  232. package/es/components/TextField/variations/_label-placement/base.js.map +1 -1
  233. package/es/components/TextField/variations/_label-placement/base_3domm.css +1 -0
  234. package/es/components/TextField/variations/_read-only/base.js +1 -1
  235. package/es/components/TextField/variations/_read-only/base.js.map +1 -1
  236. package/es/components/TextField/variations/_read-only/base_17ypmu7.css +1 -0
  237. package/es/components/TextField/variations/_size/base.js +1 -1
  238. package/es/components/TextField/variations/_size/base.js.map +1 -1
  239. package/es/components/TextField/variations/_size/base_1xdmaqh.css +1 -0
  240. package/es/components/TextField/variations/_view/base.js +1 -1
  241. package/es/components/TextField/variations/_view/base.js.map +1 -1
  242. package/es/components/TextField/variations/_view/base_qhyte8.css +1 -0
  243. package/es/components/TextFieldGroup/TextFieldGroup.css +1 -1
  244. package/es/components/TextFieldGroup/variations/_shape/base.js +1 -1
  245. package/es/components/TextFieldGroup/variations/_shape/base_52bndd.css +1 -0
  246. package/es/components/_Icon/Icon.assets/InfoCircleOutline.js +19 -0
  247. package/es/components/_Icon/Icon.assets/InfoCircleOutline.js.map +1 -0
  248. package/es/components/_Icon/Icons/IconInfoCircleOutline.js +19 -0
  249. package/es/components/_Icon/Icons/IconInfoCircleOutline.js.map +1 -0
  250. package/es/index.css +56 -34
  251. package/package.json +2 -2
  252. package/styled-components/cjs/components/Accordion/Accordion.template-doc.mdx +32 -0
  253. package/styled-components/cjs/components/Accordion/ui/AccordionItem/AccordionItem.js +19 -13
  254. package/styled-components/cjs/components/Autocomplete/Autocomplete.js +4 -2
  255. package/styled-components/cjs/components/TextArea/TextArea.js +114 -22
  256. package/styled-components/cjs/components/TextArea/TextArea.styles.js +88 -42
  257. package/styled-components/cjs/components/TextArea/TextArea.template-doc.mdx +6 -1
  258. package/styled-components/cjs/components/TextArea/TextArea.tokens.js +45 -5
  259. package/styled-components/cjs/components/TextArea/hooks/useAutoResize.js +3 -5
  260. package/styled-components/cjs/components/TextArea/ui/Hint/Hint.js +53 -0
  261. package/styled-components/cjs/components/TextArea/ui/Hint/Hint.types.js +5 -0
  262. package/styled-components/cjs/components/TextArea/variations/_clear/base.js +1 -1
  263. package/styled-components/cjs/components/TextArea/variations/_hint-size/base.js +11 -0
  264. package/styled-components/cjs/components/TextArea/variations/_hint-size/tokens.json +21 -0
  265. package/styled-components/cjs/components/TextArea/variations/_hint-view/base.js +11 -0
  266. package/styled-components/cjs/components/TextArea/variations/_hint-view/tokens.json +5 -0
  267. package/styled-components/cjs/components/TextArea/variations/_view/base.js +2 -1
  268. package/styled-components/cjs/components/TextField/TextField.js +102 -12
  269. package/styled-components/cjs/components/TextField/TextField.styles.js +49 -21
  270. package/styled-components/cjs/components/TextField/TextField.template-doc.mdx +6 -1
  271. package/styled-components/cjs/components/TextField/TextField.tokens.js +42 -2
  272. package/styled-components/cjs/components/TextField/ui/Hint/Hint.js +53 -0
  273. package/styled-components/cjs/components/TextField/ui/Hint/Hint.types.js +5 -0
  274. package/styled-components/cjs/components/TextField/variations/_clear/base.js +1 -1
  275. package/styled-components/cjs/components/TextField/variations/_hint-size/base.js +11 -0
  276. package/styled-components/cjs/components/TextField/variations/_hint-size/tokens.json +21 -0
  277. package/styled-components/cjs/components/TextField/variations/_hint-view/base.js +11 -0
  278. package/styled-components/cjs/components/TextField/variations/_hint-view/tokens.json +5 -0
  279. package/styled-components/cjs/components/TextField/variations/_label-placement/base.js +1 -1
  280. package/styled-components/cjs/components/TextField/variations/_read-only/base.js +1 -1
  281. package/styled-components/cjs/components/TextField/variations/_size/base.js +1 -1
  282. package/styled-components/cjs/components/TextField/variations/_view/base.js +1 -1
  283. package/styled-components/cjs/components/_Icon/Icon.assets/InfoCircleOutline.js +22 -0
  284. package/styled-components/cjs/components/_Icon/Icons/IconInfoCircleOutline.js +22 -0
  285. package/styled-components/cjs/components/_Icon/index.js +8 -1
  286. package/styled-components/cjs/examples/plasma_b2c/components/Accordion/Accordion.stories.tsx +63 -1
  287. package/styled-components/cjs/examples/plasma_b2c/components/TextArea/TextArea.config.js +16 -9
  288. package/styled-components/cjs/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +72 -0
  289. package/styled-components/cjs/examples/plasma_b2c/components/TextField/TextField.config.js +16 -9
  290. package/styled-components/cjs/examples/plasma_b2c/components/TextField/TextField.stories.tsx +73 -1
  291. package/styled-components/cjs/examples/plasma_web/components/Accordion/Accordion.stories.tsx +63 -1
  292. package/styled-components/cjs/examples/plasma_web/components/TextArea/TextArea.config.js +16 -9
  293. package/styled-components/cjs/examples/plasma_web/components/TextArea/TextArea.stories.tsx +72 -0
  294. package/styled-components/cjs/examples/plasma_web/components/TextField/TextField.config.js +16 -9
  295. package/styled-components/cjs/examples/plasma_web/components/TextField/TextField.stories.tsx +82 -10
  296. package/styled-components/es/components/Accordion/Accordion.template-doc.mdx +32 -0
  297. package/styled-components/es/components/Accordion/ui/AccordionItem/AccordionItem.js +20 -14
  298. package/styled-components/es/components/Autocomplete/Autocomplete.js +4 -2
  299. package/styled-components/es/components/TextArea/TextArea.js +115 -23
  300. package/styled-components/es/components/TextArea/TextArea.styles.js +87 -41
  301. package/styled-components/es/components/TextArea/TextArea.template-doc.mdx +6 -1
  302. package/styled-components/es/components/TextArea/TextArea.tokens.js +45 -5
  303. package/styled-components/es/components/TextArea/hooks/useAutoResize.js +3 -5
  304. package/styled-components/es/components/TextArea/ui/Hint/Hint.js +44 -0
  305. package/styled-components/es/components/TextArea/ui/Hint/Hint.types.js +1 -0
  306. package/styled-components/es/components/TextArea/variations/_clear/base.js +2 -2
  307. package/styled-components/es/components/TextArea/variations/_hint-size/base.js +5 -0
  308. package/styled-components/es/components/TextArea/variations/_hint-size/tokens.json +21 -0
  309. package/styled-components/es/components/TextArea/variations/_hint-view/base.js +5 -0
  310. package/styled-components/es/components/TextArea/variations/_hint-view/tokens.json +5 -0
  311. package/styled-components/es/components/TextArea/variations/_view/base.js +2 -1
  312. package/styled-components/es/components/TextField/TextField.js +101 -11
  313. package/styled-components/es/components/TextField/TextField.styles.js +48 -20
  314. package/styled-components/es/components/TextField/TextField.template-doc.mdx +6 -1
  315. package/styled-components/es/components/TextField/TextField.tokens.js +42 -2
  316. package/styled-components/es/components/TextField/ui/Hint/Hint.js +44 -0
  317. package/styled-components/es/components/TextField/ui/Hint/Hint.types.js +1 -0
  318. package/styled-components/es/components/TextField/variations/_clear/base.js +2 -2
  319. package/styled-components/es/components/TextField/variations/_hint-size/base.js +5 -0
  320. package/styled-components/es/components/TextField/variations/_hint-size/tokens.json +21 -0
  321. package/styled-components/es/components/TextField/variations/_hint-view/base.js +5 -0
  322. package/styled-components/es/components/TextField/variations/_hint-view/tokens.json +5 -0
  323. package/styled-components/es/components/TextField/variations/_label-placement/base.js +1 -1
  324. package/styled-components/es/components/TextField/variations/_read-only/base.js +2 -2
  325. package/styled-components/es/components/TextField/variations/_size/base.js +2 -2
  326. package/styled-components/es/components/TextField/variations/_view/base.js +2 -2
  327. package/styled-components/es/components/_Icon/Icon.assets/InfoCircleOutline.js +15 -0
  328. package/styled-components/es/components/_Icon/Icons/IconInfoCircleOutline.js +15 -0
  329. package/styled-components/es/components/_Icon/index.js +2 -1
  330. package/styled-components/es/examples/plasma_b2c/components/Accordion/Accordion.stories.tsx +63 -1
  331. package/styled-components/es/examples/plasma_b2c/components/TextArea/TextArea.config.js +16 -9
  332. package/styled-components/es/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +72 -0
  333. package/styled-components/es/examples/plasma_b2c/components/TextField/TextField.config.js +16 -9
  334. package/styled-components/es/examples/plasma_b2c/components/TextField/TextField.stories.tsx +73 -1
  335. package/styled-components/es/examples/plasma_web/components/Accordion/Accordion.stories.tsx +63 -1
  336. package/styled-components/es/examples/plasma_web/components/TextArea/TextArea.config.js +16 -9
  337. package/styled-components/es/examples/plasma_web/components/TextArea/TextArea.stories.tsx +72 -0
  338. package/styled-components/es/examples/plasma_web/components/TextField/TextField.config.js +16 -9
  339. package/styled-components/es/examples/plasma_web/components/TextField/TextField.stories.tsx +82 -10
  340. package/types/components/Accordion/ui/AccordionItem/AccordionItem.d.ts +17 -2
  341. package/types/components/Accordion/ui/AccordionItem/AccordionItem.d.ts.map +1 -1
  342. package/types/components/Accordion/ui/AccordionItem/AccordionItem.types.d.ts +17 -9
  343. package/types/components/Accordion/ui/AccordionItem/AccordionItem.types.d.ts.map +1 -1
  344. package/types/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  345. package/types/components/Autocomplete/ui/TextField/TextField.styles.d.ts +408 -0
  346. package/types/components/Autocomplete/ui/TextField/TextField.styles.d.ts.map +1 -1
  347. package/types/components/Combobox/ComboboxNew/ui/Target/Target.styles.d.ts +408 -0
  348. package/types/components/Combobox/ComboboxNew/ui/Target/Target.styles.d.ts.map +1 -1
  349. package/types/components/DatePicker/SingleDate/SingleDate.styles.d.ts +408 -0
  350. package/types/components/DatePicker/SingleDate/SingleDate.styles.d.ts.map +1 -1
  351. package/types/components/Dropdown/ui/DropdownOld/utils/index.d.ts +3 -2
  352. package/types/components/Dropdown/ui/DropdownOld/utils/index.d.ts.map +1 -1
  353. package/types/components/Popover/Popover.types.d.ts +2 -3
  354. package/types/components/Popover/Popover.types.d.ts.map +1 -1
  355. package/types/components/Range/Range.styles.d.ts +408 -0
  356. package/types/components/Range/Range.styles.d.ts.map +1 -1
  357. package/types/components/Slider/components/Double/Double.styles.d.ts +408 -0
  358. package/types/components/Slider/components/Double/Double.styles.d.ts.map +1 -1
  359. package/types/components/TextArea/TextArea.d.ts +9 -3
  360. package/types/components/TextArea/TextArea.d.ts.map +1 -1
  361. package/types/components/TextArea/TextArea.styles.d.ts +12 -1
  362. package/types/components/TextArea/TextArea.styles.d.ts.map +1 -1
  363. package/types/components/TextArea/TextArea.tokens.d.ts +40 -0
  364. package/types/components/TextArea/TextArea.tokens.d.ts.map +1 -1
  365. package/types/components/TextArea/TextArea.types.d.ts +78 -3
  366. package/types/components/TextArea/TextArea.types.d.ts.map +1 -1
  367. package/types/components/TextArea/hooks/useAutoResize.d.ts +1 -1
  368. package/types/components/TextArea/hooks/useAutoResize.d.ts.map +1 -1
  369. package/types/components/TextArea/ui/Hint/Hint.d.ts +4 -0
  370. package/types/components/TextArea/ui/Hint/Hint.d.ts.map +1 -0
  371. package/types/components/TextArea/ui/Hint/Hint.types.d.ts +17 -0
  372. package/types/components/TextArea/ui/Hint/Hint.types.d.ts.map +1 -0
  373. package/types/components/TextArea/variations/_clear/base.d.ts.map +1 -1
  374. package/types/components/TextArea/variations/_hint-size/base.d.ts +2 -0
  375. package/types/components/TextArea/variations/_hint-size/base.d.ts.map +1 -0
  376. package/types/components/TextArea/variations/_hint-view/base.d.ts +2 -0
  377. package/types/components/TextArea/variations/_hint-view/base.d.ts.map +1 -0
  378. package/types/components/TextArea/variations/_view/base.d.ts.map +1 -1
  379. package/types/components/TextField/TextField.d.ts +9 -3
  380. package/types/components/TextField/TextField.d.ts.map +1 -1
  381. package/types/components/TextField/TextField.styles.d.ts +9 -0
  382. package/types/components/TextField/TextField.styles.d.ts.map +1 -1
  383. package/types/components/TextField/TextField.tokens.d.ts +40 -0
  384. package/types/components/TextField/TextField.tokens.d.ts.map +1 -1
  385. package/types/components/TextField/TextField.types.d.ts +73 -2
  386. package/types/components/TextField/TextField.types.d.ts.map +1 -1
  387. package/types/components/TextField/ui/Hint/Hint.d.ts +4 -0
  388. package/types/components/TextField/ui/Hint/Hint.d.ts.map +1 -0
  389. package/types/components/TextField/ui/Hint/Hint.types.d.ts +17 -0
  390. package/types/components/TextField/ui/Hint/Hint.types.d.ts.map +1 -0
  391. package/types/components/TextField/variations/_clear/base.d.ts.map +1 -1
  392. package/types/components/TextField/variations/_hint-size/base.d.ts +2 -0
  393. package/types/components/TextField/variations/_hint-size/base.d.ts.map +1 -0
  394. package/types/components/TextField/variations/_hint-view/base.d.ts +2 -0
  395. package/types/components/TextField/variations/_hint-view/base.d.ts.map +1 -0
  396. package/types/components/TextField/variations/_label-placement/base.d.ts.map +1 -1
  397. package/types/components/TextField/variations/_read-only/base.d.ts.map +1 -1
  398. package/types/components/TextField/variations/_size/base.d.ts.map +1 -1
  399. package/types/components/TextField/variations/_view/base.d.ts.map +1 -1
  400. package/types/components/_Icon/Icon.assets/InfoCircleOutline.d.ts +4 -0
  401. package/types/components/_Icon/Icon.assets/InfoCircleOutline.d.ts.map +1 -0
  402. package/types/components/_Icon/Icons/IconInfoCircleOutline.d.ts +4 -0
  403. package/types/components/_Icon/Icons/IconInfoCircleOutline.d.ts.map +1 -0
  404. package/types/components/_Icon/index.d.ts +1 -0
  405. package/types/components/_Icon/index.d.ts.map +1 -1
  406. package/types/examples/plasma_b2c/components/Mask/Mask.d.ts +740 -12
  407. package/types/examples/plasma_b2c/components/Mask/Mask.d.ts.map +1 -1
  408. package/types/examples/plasma_b2c/components/TextArea/TextArea.config.d.ts +7 -0
  409. package/types/examples/plasma_b2c/components/TextArea/TextArea.config.d.ts.map +1 -1
  410. package/types/examples/plasma_b2c/components/TextArea/TextArea.d.ts +455 -0
  411. package/types/examples/plasma_b2c/components/TextArea/TextArea.d.ts.map +1 -1
  412. package/types/examples/plasma_b2c/components/TextField/TextField.config.d.ts +7 -0
  413. package/types/examples/plasma_b2c/components/TextField/TextField.config.d.ts.map +1 -1
  414. package/types/examples/plasma_b2c/components/TextField/TextField.d.ts +415 -0
  415. package/types/examples/plasma_b2c/components/TextField/TextField.d.ts.map +1 -1
  416. package/types/examples/plasma_web/components/Mask/Mask.d.ts +740 -12
  417. package/types/examples/plasma_web/components/Mask/Mask.d.ts.map +1 -1
  418. package/types/examples/plasma_web/components/TextArea/TextArea.config.d.ts +7 -0
  419. package/types/examples/plasma_web/components/TextArea/TextArea.config.d.ts.map +1 -1
  420. package/types/examples/plasma_web/components/TextArea/TextArea.d.ts +455 -0
  421. package/types/examples/plasma_web/components/TextArea/TextArea.d.ts.map +1 -1
  422. package/types/examples/plasma_web/components/TextField/TextField.config.d.ts +7 -0
  423. package/types/examples/plasma_web/components/TextField/TextField.config.d.ts.map +1 -1
  424. package/types/examples/plasma_web/components/TextField/TextField.d.ts +415 -0
  425. package/types/examples/plasma_web/components/TextField/TextField.d.ts.map +1 -1
  426. package/types/utils/getPopoverPlacement.d.ts +3 -2
  427. package/types/utils/getPopoverPlacement.d.ts.map +1 -1
  428. package/cjs/components/TextArea/TextArea.styles_es0miz.css +0 -11
  429. package/cjs/components/TextArea/variations/_clear/base_vidplj.css +0 -1
  430. package/cjs/components/TextArea/variations/_view/base_td55th.css +0 -1
  431. package/cjs/components/TextField/TextField.styles_1d2ryq.css +0 -15
  432. package/cjs/components/TextField/variations/_clear/base_rit6gc.css +0 -1
  433. package/cjs/components/TextField/variations/_label-placement/base_1ghihns.css +0 -1
  434. package/cjs/components/TextField/variations/_read-only/base_1n7tghz.css +0 -1
  435. package/cjs/components/TextField/variations/_size/base_1h8l0kj.css +0 -1
  436. package/cjs/components/TextField/variations/_view/base_1noe46b.css +0 -1
  437. package/cjs/components/TextFieldGroup/variations/_shape/base_1e0je21.css +0 -1
  438. package/es/components/TextArea/TextArea.styles_es0miz.css +0 -11
  439. package/es/components/TextArea/variations/_clear/base_vidplj.css +0 -1
  440. package/es/components/TextArea/variations/_view/base_td55th.css +0 -1
  441. package/es/components/TextField/TextField.styles_1d2ryq.css +0 -15
  442. package/es/components/TextField/variations/_clear/base_rit6gc.css +0 -1
  443. package/es/components/TextField/variations/_label-placement/base_1ghihns.css +0 -1
  444. package/es/components/TextField/variations/_read-only/base_1n7tghz.css +0 -1
  445. package/es/components/TextField/variations/_size/base_1h8l0kj.css +0 -1
  446. package/es/components/TextField/variations/_view/base_1noe46b.css +0 -1
  447. package/es/components/TextFieldGroup/variations/_shape/base_1e0je21.css +0 -1
@@ -1,5 +1,5 @@
1
1
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
- var _excluded = ["helperText", "status", "resize", "rightHelper", "leftHelper", "contentRight", "autoResize", "minAuto", "maxAuto", "label", "labelPlacement", "placeholder", "defaultValue", "height", "width", "value", "disabled", "required", "requiredPlacement", "optional", "clear", "hasDivider", "size", "view", "id", "style", "className", "readOnly", "rows", "cols", "onChange"];
2
+ var _excluded = ["helperText", "status", "resize", "rightHelper", "leftHelper", "contentRight", "autoResize", "minAuto", "maxAuto", "label", "labelPlacement", "titleCaption", "placeholder", "defaultValue", "height", "width", "value", "disabled", "required", "requiredPlacement", "optional", "clear", "hasDivider", "size", "view", "id", "style", "className", "readOnly", "rows", "cols", "hintTrigger", "hintText", "hintView", "hintSize", "hintTargetIcon", "hintPlacement", "hintHasArrow", "hintOffset", "hintWidth", "hintContentLeft", "onChange"];
3
3
  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); }
4
4
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
5
5
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -18,18 +18,22 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
18
18
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
19
19
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
20
20
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
21
- import React, { forwardRef, useState, createRef, useCallback } from 'react';
21
+ import React, { forwardRef, useState, createRef, useCallback, useRef } from 'react';
22
22
  import { css } from 'styled-components';
23
- import { useResizeObserver } from '@salutejs/plasma-core';
23
+ import { useForkRef, useResizeObserver } from '@salutejs/plasma-core';
24
24
  import { cx, mergeRefs } from '../../utils';
25
+ import { useOutsideClick } from '../../hooks';
25
26
  import { applyDynamicLabel } from './mixins';
26
27
  import { useAutoResize, ROOT_FONT_SIZE } from './hooks';
27
- import { StyledContent, StyledHelpers, StyledLeftHelper, StyledRightHelper, StyledLabel, StyledPlaceholder, StyledTextArea, StyledTextAreaWrapper, StyledContainer, StyledIndicator, StyledOptionalText } from './TextArea.styles';
28
+ import { StyledContent, StyledHelpers, StyledLeftHelper, StyledRightHelper, StyledLabel, StyledPlaceholder, StyledTextArea, StyledTextAreaWrapper, StyledContainer, StyledIndicator, StyledOptionalText, OuterLabelWrapper, StyledIndicatorWrapper, StyledHintWrapper, TitleCaption } from './TextArea.styles';
28
29
  import { classes } from './TextArea.tokens';
29
30
  import { base as viewCSS } from './variations/_view/base';
30
31
  import { base as sizeCSS } from './variations/_size/base';
31
32
  import { base as clearCSS } from './variations/_clear/base';
32
33
  import { base as disabledCSS } from './variations/_disabled/base';
34
+ import { base as hintViewCSS } from './variations/_hint-view/base';
35
+ import { base as hintSizeCSS } from './variations/_hint-size/base';
36
+ import { HintComponent } from './ui/Hint/Hint';
33
37
  var innerPlaceholderUp = classes.innerPlaceholderUp,
34
38
  focusedOuterPlaceholderColor = classes.focusedOuterPlaceholderColor,
35
39
  hidePlaceHolder = classes.hidePlaceHolder,
@@ -48,6 +52,7 @@ var fallbackStatusMap = {
48
52
  warning: 'warning',
49
53
  error: 'negative'
50
54
  };
55
+ var HINT_DEFAULT_OFFSET = [0, 0];
51
56
 
52
57
  // TODO: Перенести этот метод в файл applyDynamicLabel.ts
53
58
  export var getDynamicLabelClasses = function getDynamicLabelClasses(props, focused) {
@@ -84,6 +89,7 @@ export var textAreaRoot = function textAreaRoot(Root) {
84
89
  label = props.label,
85
90
  _props$labelPlacement = props.labelPlacement,
86
91
  labelPlacement = _props$labelPlacement === void 0 ? 'inner' : _props$labelPlacement,
92
+ titleCaption = props.titleCaption,
87
93
  placeholder = props.placeholder,
88
94
  defaultValue = props.defaultValue,
89
95
  height = props.height,
@@ -106,21 +112,45 @@ export var textAreaRoot = function textAreaRoot(Root) {
106
112
  readOnly = props.readOnly,
107
113
  rows = props.rows,
108
114
  cols = props.cols,
115
+ _props$hintTrigger = props.hintTrigger,
116
+ hintTrigger = _props$hintTrigger === void 0 ? 'hover' : _props$hintTrigger,
117
+ hintText = props.hintText,
118
+ _props$hintView = props.hintView,
119
+ hintView = _props$hintView === void 0 ? 'default' : _props$hintView,
120
+ _props$hintSize = props.hintSize,
121
+ hintSize = _props$hintSize === void 0 ? 'm' : _props$hintSize,
122
+ hintTargetIcon = props.hintTargetIcon,
123
+ _props$hintPlacement = props.hintPlacement,
124
+ hintPlacement = _props$hintPlacement === void 0 ? 'auto' : _props$hintPlacement,
125
+ hintHasArrow = props.hintHasArrow,
126
+ _props$hintOffset = props.hintOffset,
127
+ hintOffset = _props$hintOffset === void 0 ? HINT_DEFAULT_OFFSET : _props$hintOffset,
128
+ hintWidth = props.hintWidth,
129
+ hintContentLeft = props.hintContentLeft,
109
130
  onChange = props.onChange,
110
131
  rest = _objectWithoutProperties(props, _excluded);
111
- var _useState = useState(width ? "".concat(width, "rem") : '100%'),
132
+ var _useState = useState(false),
112
133
  _useState2 = _slicedToArray(_useState, 2),
113
- helperWidth = _useState2[0],
114
- setHelperWidth = _useState2[1];
115
- var _useState3 = useState(false),
134
+ isHintVisible = _useState2[0],
135
+ setIsHintVisible = _useState2[1];
136
+ var _useState3 = useState(width ? "".concat(width, "rem") : '100%'),
116
137
  _useState4 = _slicedToArray(_useState3, 2),
117
- focused = _useState4[0],
118
- setFocused = _useState4[1];
119
- var _useState5 = useState(),
138
+ helperWidth = _useState4[0],
139
+ setHelperWidth = _useState4[1];
140
+ var _useState5 = useState(false),
120
141
  _useState6 = _slicedToArray(_useState5, 2),
121
- uncontrolledValue = _useState6[0],
122
- setUncontrolledValue = _useState6[1];
142
+ focused = _useState6[0],
143
+ setFocused = _useState6[1];
144
+ var _useState7 = useState(),
145
+ _useState8 = _slicedToArray(_useState7, 2),
146
+ uncontrolledValue = _useState8[0],
147
+ setUncontrolledValue = _useState8[1];
123
148
  var outerRef = /*#__PURE__*/createRef();
149
+ var hintRef = useOutsideClick(function () {
150
+ setIsHintVisible(false);
151
+ });
152
+ var hintInnerRef = useRef(null);
153
+ var hintForkRef = useForkRef(hintRef, hintInnerRef);
124
154
  var innerOptional = required ? false : optional;
125
155
  var hasHelper = Boolean(leftHelper || rightHelper || helperText);
126
156
  var hasOuterLabel = Boolean(label && labelPlacement === 'outer');
@@ -131,9 +161,28 @@ export var textAreaRoot = function textAreaRoot(Root) {
131
161
  var applyCustomWidth = resize !== 'horizontal' && resize !== 'both' && !cols;
132
162
  var placeholderLabel = hasInnerLabel ? label : placeholder;
133
163
  var clearClass = clear ? classes.clear : undefined;
164
+ var hasHintClass = hintText ? classes.hasHint : undefined;
134
165
  var hasRightContentClass = contentRight ? classes.hasRightContent : undefined;
135
166
  var hasDividerClass = hasDivider ? classes.hasDivider : undefined;
136
- var requiredPlacementClass = requiredPlacement === 'right' ? 'align-right ' : undefined;
167
+ var requiredPlacementClass = requiredPlacement === 'right' ? classes.requiredAlignRight : undefined;
168
+ var handleHintShow = function handleHintShow() {
169
+ return setIsHintVisible(true);
170
+ };
171
+ var handleHintHide = function handleHintHide() {
172
+ return setIsHintVisible(false);
173
+ };
174
+ var handleHintClick = function handleHintClick(event) {
175
+ var _hintInnerRef$current;
176
+ if (!hintText || hintTrigger !== 'click') {
177
+ return;
178
+ }
179
+ event.stopPropagation();
180
+ var targetIsPopover = event.target === hintInnerRef.current;
181
+ var rootHasTarget = (_hintInnerRef$current = hintInnerRef.current) === null || _hintInnerRef$current === void 0 ? void 0 : _hintInnerRef$current.contains(event.target);
182
+ if (!targetIsPopover && !rootHasTarget) {
183
+ setIsHintVisible(true);
184
+ }
185
+ };
137
186
  useResizeObserver(outerRef, function (currentElement) {
138
187
  var inlineWidth = currentElement.style.width;
139
188
  if (inlineWidth || cols) {
@@ -142,7 +191,7 @@ export var textAreaRoot = function textAreaRoot(Root) {
142
191
  setHelperWidth("".concat(elementWidth / ROOT_FONT_SIZE, "rem"));
143
192
  }
144
193
  });
145
- useAutoResize(autoResize || Boolean(clear), outerRef, value, minAuto, maxAuto, defaultValue);
194
+ useAutoResize(autoResize || Boolean(clear), outerRef, value, minAuto, maxAuto);
146
195
  var onFocusHandler = useCallback(function () {
147
196
  setFocused(true);
148
197
  }, []);
@@ -175,8 +224,10 @@ export var textAreaRoot = function textAreaRoot(Root) {
175
224
  value: value || uncontrolledValue || defaultValue,
176
225
  rows: rows
177
226
  }, focused);
178
- var optionalTextNode = innerOptional ? /*#__PURE__*/React.createElement(StyledOptionalText, null, Boolean(hasPlaceholderOptional ? placeholderLabel : label) && '\xa0', optionalText) : null;
179
- return /*#__PURE__*/React.createElement(Root, {
227
+ var optionalTextNode = innerOptional ? /*#__PURE__*/React.createElement(StyledOptionalText, {
228
+ inheritFont: !hasOuterLabel
229
+ }, Boolean(hasPlaceholderOptional ? placeholderLabel : label) && '\xa0', optionalText) : null;
230
+ return /*#__PURE__*/React.createElement(Root, _extends({
180
231
  view: overriddenView,
181
232
  size: size,
182
233
  disabled: disabled,
@@ -185,18 +236,53 @@ export var textAreaRoot = function textAreaRoot(Root) {
185
236
  style: _objectSpread({
186
237
  width: helperWidth
187
238
  }, style),
188
- className: cx(clearClass, hasDividerClass, className),
239
+ className: cx(clearClass, hasDividerClass, hasHintClass, className),
189
240
  onClick: handleTextAreaFocus
190
- }, hasOuterLabel && /*#__PURE__*/React.createElement(StyledLabel, null, required && /*#__PURE__*/React.createElement(StyledIndicator, {
191
- className: cx(classes.outerLabelPlacement, requiredPlacementClass)
192
- }), label, optionalTextNode), /*#__PURE__*/React.createElement(StyledContainer, {
241
+ }, hintText && {
242
+ hintView: hintView,
243
+ hintSize: hintSize
244
+ }), (hasOuterLabel || titleCaption) && /*#__PURE__*/React.createElement(OuterLabelWrapper, {
245
+ isInnnerLabel: labelPlacement === 'inner'
246
+ }, hasOuterLabel && /*#__PURE__*/React.createElement(StyledIndicatorWrapper, null, /*#__PURE__*/React.createElement(StyledLabel, null, label), hintText && /*#__PURE__*/React.createElement(StyledHintWrapper, null, /*#__PURE__*/React.createElement(HintComponent, {
247
+ ref: hintForkRef,
248
+ hintText: hintText,
249
+ hintTrigger: hintTrigger,
250
+ isHintVisible: isHintVisible,
251
+ hintTargetIcon: hintTargetIcon,
252
+ hintPlacement: hintPlacement,
253
+ hintHasArrow: hintHasArrow,
254
+ hintOffset: hintOffset,
255
+ hintWidth: hintWidth,
256
+ hintContentLeft: hintContentLeft,
257
+ handleHintShow: handleHintShow,
258
+ handleHintHide: handleHintHide,
259
+ handleHintClick: handleHintClick
260
+ })), required && /*#__PURE__*/React.createElement(StyledIndicator, {
261
+ className: cx(classes.outerLabelPlacement, requiredPlacementClass, hasHintClass)
262
+ }), optionalTextNode), titleCaption && /*#__PURE__*/React.createElement(TitleCaption, null, titleCaption)), /*#__PURE__*/React.createElement(StyledContainer, {
193
263
  className: cx.apply(void 0, [styledContainer].concat(_toConsumableArray(dynamicLabelClasses))),
194
264
  width: helperWidth,
195
265
  onFocus: onFocusHandler,
196
266
  onBlur: onBlurHandler
197
- }, required && !hasOuterLabel && /*#__PURE__*/React.createElement(StyledIndicator, {
267
+ }, !hasOuterLabel && /*#__PURE__*/React.createElement(React.Fragment, null, required && /*#__PURE__*/React.createElement(StyledIndicator, {
198
268
  className: cx(classes.innerLabelPlacement, requiredPlacementClass)
199
- }), contentRight && /*#__PURE__*/React.createElement(StyledContent, null, contentRight), /*#__PURE__*/React.createElement(StyledTextAreaWrapper, {
269
+ }), hintText && /*#__PURE__*/React.createElement(StyledHintWrapper, {
270
+ className: classes.innerLabelPlacement
271
+ }, /*#__PURE__*/React.createElement(HintComponent, {
272
+ ref: hintForkRef,
273
+ hintText: hintText,
274
+ hintTrigger: hintTrigger,
275
+ isHintVisible: isHintVisible,
276
+ hintTargetIcon: hintTargetIcon,
277
+ hintPlacement: hintPlacement,
278
+ hintHasArrow: hintHasArrow,
279
+ hintOffset: hintOffset,
280
+ hintWidth: hintWidth,
281
+ hintContentLeft: hintContentLeft,
282
+ handleHintShow: handleHintShow,
283
+ handleHintHide: handleHintHide,
284
+ handleHintClick: handleHintClick
285
+ }))), contentRight && /*#__PURE__*/React.createElement(StyledContent, null, contentRight), /*#__PURE__*/React.createElement(StyledTextAreaWrapper, {
200
286
  className: styledTextAreaWrapper,
201
287
  hasHelper: hasHelper
202
288
  }, /*#__PURE__*/React.createElement(StyledTextArea, _extends({
@@ -250,6 +336,12 @@ export var textAreaConfig = {
250
336
  },
251
337
  readOnly: {
252
338
  attrs: true
339
+ },
340
+ hintView: {
341
+ css: hintViewCSS
342
+ },
343
+ hintSize: {
344
+ css: hintSizeCSS
253
345
  }
254
346
  },
255
347
  defaults: {
@@ -1,76 +1,122 @@
1
1
  import styled from 'styled-components';
2
2
  import { applyEllipsis } from '../../mixins';
3
+ import { tooltipConfig } from '../Tooltip';
4
+ import { component, mergeConfig } from '../../engines';
3
5
  import { classes, tokens } from './TextArea.tokens';
4
- export var StyledLabel = /*#__PURE__*/styled.div.withConfig({
6
+ var mergedConfig = /*#__PURE__*/mergeConfig(tooltipConfig);
7
+ var Tooltip = /*#__PURE__*/component(mergedConfig);
8
+ export var Hint = /*#__PURE__*/styled(Tooltip).withConfig({
5
9
  componentId: "plasma-new-hope__sc-pxxv3p-0"
6
- })(["position:relative;display:inline-flex;margin-bottom:var(", ");color:var(", ",var(", "));font-family:var(", ",var(", "));font-size:var(", ",var(", "));font-style:var(", ",var(", "));font-weight:var(", ",var(", "));letter-spacing:var(", ",var(", "));line-height:var(", ",var(", "));"], tokens.labelMarginBottom, tokens.labelOuterColor, tokens.inputColor, tokens.labelOuterFontFamily, tokens.inputFontFamily, tokens.labelOuterFontSize, tokens.inputFontSize, tokens.labelOuterFontStyle, tokens.inputFontStyle, tokens.labelOuterFontWeight, tokens.inputFontWeight, tokens.labelOuterLetterSpacing, tokens.inputLetterSpacing, tokens.labelOuterLineHeight, tokens.inputLineHeight);
7
- export var StyledOptionalText = /*#__PURE__*/styled.span.withConfig({
10
+ })([""]);
11
+ export var OuterLabelWrapper = /*#__PURE__*/styled.div.withConfig({
8
12
  componentId: "plasma-new-hope__sc-pxxv3p-1"
9
- })(["color:var(", ");"], tokens.optionalColor);
10
- export var StyledTextAreaWrapper = /*#__PURE__*/styled.div.withConfig({
13
+ })(["display:flex;align-items:center;margin-bottom:", ";"], function (_ref) {
14
+ var isInnnerLabel = _ref.isInnnerLabel;
15
+ return isInnnerLabel ? "var(".concat(tokens.titleCaptionInnerLabelOffset, ")") : "var(".concat(tokens.labelMarginBottom, ")");
16
+ });
17
+ export var StyledLabel = /*#__PURE__*/styled.div.withConfig({
11
18
  componentId: "plasma-new-hope__sc-pxxv3p-2"
12
- })(["background-color:var(", ");padding-top:var(", ");padding-bottom:", ";border-radius:", ";"], tokens.inputBackgroundColor, tokens.inputPaddingTop, function (_ref) {
13
- var hasHelper = _ref.hasHelper;
19
+ })(["position:relative;display:inline-flex;color:var(", ",var(", "));font-family:var(", ",var(", "));font-size:var(", ",var(", "));font-style:var(", ",var(", "));font-weight:var(", ",var(", "));letter-spacing:var(", ",var(", "));line-height:var(", ",var(", "));"], tokens.labelOuterColor, tokens.inputColor, tokens.labelOuterFontFamily, tokens.inputFontFamily, tokens.labelOuterFontSize, tokens.inputFontSize, tokens.labelOuterFontStyle, tokens.inputFontStyle, tokens.labelOuterFontWeight, tokens.inputFontWeight, tokens.labelOuterLetterSpacing, tokens.inputLetterSpacing, tokens.labelOuterLineHeight, tokens.inputLineHeight);
20
+ export var TitleCaption = /*#__PURE__*/styled.div.withConfig({
21
+ componentId: "plasma-new-hope__sc-pxxv3p-3"
22
+ })(["display:inline-block;margin-left:auto;font-family:var(", ");font-size:var(", ");font-style:var(", ");font-weight:var(", ");letter-spacing:var(", ");line-height:var(", ");"], tokens.titleCaptionFontFamily, tokens.titleCaptionFontSize, tokens.titleCaptionFontStyle, tokens.titleCaptionFontWeight, tokens.titleCaptionLetterSpacing, tokens.titleCaptionLineHeight);
23
+ export var StyledIndicatorWrapper = /*#__PURE__*/styled.div.withConfig({
24
+ componentId: "plasma-new-hope__sc-pxxv3p-4"
25
+ })(["position:relative;display:inline-flex;align-items:center;"]);
26
+ export var StyledOptionalText = /*#__PURE__*/styled.span.withConfig({
27
+ componentId: "plasma-new-hope__sc-pxxv3p-5"
28
+ })(["color:var(", ");font-family:", ";font-size:", ";font-style:", ";font-weight:", ";letter-spacing:", ";line-height:", ";"], tokens.optionalColor, function (_ref2) {
29
+ var inheritFont = _ref2.inheritFont;
30
+ return inheritFont ? 'inherit' : "var(".concat(tokens.labelOuterFontFamily, ", var(").concat(tokens.inputFontFamily, "))");
31
+ }, function (_ref3) {
32
+ var inheritFont = _ref3.inheritFont;
33
+ return inheritFont ? 'inherit' : "var(".concat(tokens.labelOuterFontSize, ", var(").concat(tokens.inputFontSize, "))");
34
+ }, function (_ref4) {
35
+ var inheritFont = _ref4.inheritFont;
36
+ return inheritFont ? 'inherit' : "var(".concat(tokens.labelOuterFontStyle, ", var(").concat(tokens.inputFontStyle, "))");
37
+ }, function (_ref5) {
38
+ var inheritFont = _ref5.inheritFont;
39
+ return inheritFont ? 'inherit' : "var(".concat(tokens.labelOuterFontWeight, ", var(").concat(tokens.inputFontWeight, "))");
40
+ }, function (_ref6) {
41
+ var inheritFont = _ref6.inheritFont;
42
+ return inheritFont ? 'inherit' : "var(".concat(tokens.labelOuterLetterSpacing, ", var(").concat(tokens.inputLetterSpacing, "))");
43
+ }, function (_ref7) {
44
+ var inheritFont = _ref7.inheritFont;
45
+ return inheritFont ? 'inherit' : "var(".concat(tokens.labelOuterLineHeight, ", var(").concat(tokens.inputLineHeight, "))");
46
+ });
47
+ export var StyledHintWrapper = /*#__PURE__*/styled.div.withConfig({
48
+ componentId: "plasma-new-hope__sc-pxxv3p-6"
49
+ })(["display:inline-flex;line-height:0;margin:var(", ");&.", "{position:absolute;margin:0;inset:var(", ");}"], tokens.hintMargin, classes.innerLabelPlacement, tokens.hintInnerLabelPlacementOffset);
50
+ export var HintTargetWrapper = /*#__PURE__*/styled.div.withConfig({
51
+ componentId: "plasma-new-hope__sc-pxxv3p-7"
52
+ })(["color:var(", ");width:var(", ");height:var(", ");display:flex;justify-content:center;align-items:center;"], tokens.hintIconColor, tokens.hintTargetSize, tokens.hintTargetSize);
53
+ export var HintIconWrapper = /*#__PURE__*/styled.div.withConfig({
54
+ componentId: "plasma-new-hope__sc-pxxv3p-8"
55
+ })([""]);
56
+ export var StyledTextAreaWrapper = /*#__PURE__*/styled.div.withConfig({
57
+ componentId: "plasma-new-hope__sc-pxxv3p-9"
58
+ })(["background-color:var(", ");padding-top:var(", ");padding-bottom:", ";border-radius:", ";"], tokens.inputBackgroundColor, tokens.inputPaddingTop, function (_ref8) {
59
+ var hasHelper = _ref8.hasHelper;
14
60
  return hasHelper ? "var(".concat(tokens.inputPaddingBottomWithHelpers, ")") : "var(".concat(tokens.inputPaddingBottom, ")");
15
- }, function (_ref2) {
16
- var hasHelper = _ref2.hasHelper;
61
+ }, function (_ref9) {
62
+ var hasHelper = _ref9.hasHelper;
17
63
  return hasHelper ? "var(".concat(tokens.borderRadiusWithHelpers, ")") : "var(".concat(tokens.borderRadius, ")");
18
64
  });
19
65
  export var StyledContent = /*#__PURE__*/styled.div.withConfig({
20
- componentId: "plasma-new-hope__sc-pxxv3p-3"
66
+ componentId: "plasma-new-hope__sc-pxxv3p-10"
21
67
  })(["position:absolute;display:flex;align-items:center;bottom:0;z-index:1;color:var(", ",var(", "));top:var(", ");right:var(", ");height:var(", ");"], tokens.rightContentColor, tokens.inputColor, tokens.rightContentTop, tokens.rightContentRight, tokens.rightContentHeight);
22
68
  export var StyledContainer = /*#__PURE__*/styled.div.withConfig({
23
- componentId: "plasma-new-hope__sc-pxxv3p-4"
24
- })(["display:inline-flex;flex-direction:column;width:", ";position:relative;"], function (_ref3) {
25
- var width = _ref3.width;
69
+ componentId: "plasma-new-hope__sc-pxxv3p-11"
70
+ })(["display:inline-flex;flex-direction:column;width:", ";position:relative;"], function (_ref10) {
71
+ var width = _ref10.width;
26
72
  return width;
27
73
  });
28
74
  export var StyledTextArea = /*#__PURE__*/styled.textarea.withConfig({
29
- componentId: "plasma-new-hope__sc-pxxv3p-5"
30
- })(["display:block;box-sizing:border-box;outline:none;border:none;-webkit-appearance:none;background-color:transparent;color:var(", ");caret-color:var(", ");resize:", ";--plasma_private-textarea-height:", ";--plasma_private-textarea-width:", ";--plasma_private-textarea-computed-height:", ";--plasma_private-textarea-computed-width:", ";height:var(--plasma_private-textarea-computed-height);width:var(--plasma_private-textarea-computed-width);min-width:", ";max-width:", ";min-height:var(", ");padding-right:", ";padding-left:var(", ");padding-top:0;padding-bottom:0;--plasma_private-textarea-helpers-computed-height:calc( var(", ") + var(", ") + var(", ") );--plasma_private-textarea-input-with-helpers-height:calc( var(--plasma_private-textarea-height) - var(--plasma_private-textarea-helpers-computed-height) + var(", ") );--plasma_private-textarea-input-without-helpers-height:calc( var(--plasma_private-textarea-computed-height) - var(", ") );--plasma_private-textarea-input-actual-height:", ";height:var(--plasma_private-textarea-input-actual-height);font-family:var(", ");font-size:var(", ");font-style:var(", ");font-weight:var(", ");letter-spacing:var(", ");line-height:var(", ");&::placeholder{opacity:0;}&:read-only{cursor:default;}&:focus:not(:disabled){color:var(", ");}&::-webkit-scrollbar{width:var(", ");}&::-webkit-scrollbar-thumb{background-color:var(", ");background-clip:content-box;border:var(", ") solid transparent;border-radius:1rem;}&::-webkit-scrollbar-track{background-color:var(", ");background-clip:content-box;border:var(", ") solid transparent;border-radius:1rem;}"], tokens.inputColor, tokens.inputCaretColor, function (_ref4) {
31
- var resize = _ref4.resize;
75
+ componentId: "plasma-new-hope__sc-pxxv3p-12"
76
+ })(["display:block;box-sizing:border-box;outline:none;border:none;-webkit-appearance:none;background-color:transparent;color:var(", ");caret-color:var(", ");resize:", ";--plasma_private-textarea-height:", ";--plasma_private-textarea-width:", ";--plasma_private-textarea-computed-height:", ";--plasma_private-textarea-computed-width:", ";height:var(--plasma_private-textarea-computed-height);width:var(--plasma_private-textarea-computed-width);min-width:", ";max-width:", ";min-height:var(", ");padding-right:", ";padding-left:var(", ");padding-top:0;padding-bottom:0;--plasma_private-textarea-helpers-computed-height:calc( var(", ") + var(", ") + var(", ") );--plasma_private-textarea-input-with-helpers-height:calc( var(--plasma_private-textarea-height) - var(--plasma_private-textarea-helpers-computed-height) + var(", ") );--plasma_private-textarea-input-without-helpers-height:calc( var(--plasma_private-textarea-computed-height) - var(", ") );--plasma_private-textarea-input-actual-height:", ";height:var(--plasma_private-textarea-input-actual-height);font-family:var(", ");font-size:var(", ");font-style:var(", ");font-weight:var(", ");letter-spacing:var(", ");line-height:var(", ");&::placeholder{opacity:0;}&:read-only{cursor:default;}&:focus:not(:disabled){color:var(", ");}&::-webkit-scrollbar{width:var(", ");}&::-webkit-scrollbar-thumb{background-color:var(", ");background-clip:content-box;border:var(", ") solid transparent;border-radius:1rem;}&::-webkit-scrollbar-track{background-color:var(", ");background-clip:content-box;border:var(", ") solid transparent;border-radius:1rem;}"], tokens.inputColor, tokens.inputCaretColor, function (_ref11) {
77
+ var resize = _ref11.resize;
32
78
  return resize || 'none';
33
- }, function (_ref5) {
34
- var height = _ref5.height;
79
+ }, function (_ref12) {
80
+ var height = _ref12.height;
35
81
  return !Number.isNaN(Number(height)) ? "calc(".concat(height, "rem - 0.875rem)") : height || "var(".concat(tokens.inputHeight, ")");
36
- }, function (_ref6) {
37
- var width = _ref6.width;
82
+ }, function (_ref13) {
83
+ var width = _ref13.width;
38
84
  return !Number.isNaN(Number(width)) ? "".concat(width, "rem") : width || "var(".concat(tokens.inputWidth, ")");
39
- }, function (_ref7) {
40
- var rows = _ref7.rows;
85
+ }, function (_ref14) {
86
+ var rows = _ref14.rows;
41
87
  return rows ? 'unset' : 'var(--plasma_private-textarea-height)';
42
- }, function (_ref8) {
43
- var cols = _ref8.cols;
88
+ }, function (_ref15) {
89
+ var cols = _ref15.cols;
44
90
  return cols ? 'unset' : 'var(--plasma_private-textarea-width)';
45
- }, function (_ref9) {
46
- var applyCustomWidth = _ref9.applyCustomWidth;
91
+ }, function (_ref16) {
92
+ var applyCustomWidth = _ref16.applyCustomWidth;
47
93
  return applyCustomWidth ? 'var(--plasma_private-textarea-width)' : 'auto';
48
- }, function (_ref10) {
49
- var applyCustomWidth = _ref10.applyCustomWidth;
94
+ }, function (_ref17) {
95
+ var applyCustomWidth = _ref17.applyCustomWidth;
50
96
  return applyCustomWidth ? 'var(--plasma_private-textarea-width)' : 'auto';
51
- }, tokens.inputMinHeight, function (_ref11) {
52
- var hasContentRight = _ref11.hasContentRight;
97
+ }, tokens.inputMinHeight, function (_ref18) {
98
+ var hasContentRight = _ref18.hasContentRight;
53
99
  return hasContentRight ? "var(".concat(tokens.inputPaddingRightWithRightContent, ")") : "var(".concat(tokens.inputPaddingRight, ")");
54
- }, tokens.inputPaddingLeft, tokens.helpersPaddingTop, tokens.helpersPaddingBottom, tokens.helpersLineHeight, tokens.helpersOffset, tokens.inputPaddingBottom, function (_ref12) {
55
- var hasHelper = _ref12.hasHelper,
56
- rows = _ref12.rows;
100
+ }, tokens.inputPaddingLeft, tokens.helpersPaddingTop, tokens.helpersPaddingBottom, tokens.helpersLineHeight, tokens.helpersOffset, tokens.inputPaddingBottom, function (_ref19) {
101
+ var hasHelper = _ref19.hasHelper,
102
+ rows = _ref19.rows;
57
103
  return hasHelper && !rows ? 'var(--plasma_private-textarea-input-with-helpers-height)' : 'var(--plasma_private-textarea-input-without-helpers-height)';
58
104
  }, tokens.inputFontFamily, tokens.inputFontSize, tokens.inputFontStyle, tokens.inputFontWeight, tokens.inputLetterSpacing, tokens.inputLineHeight, tokens.inputColorFocus, tokens.scrollbarWidth, tokens.scrollbarThumbBackgroundColor, tokens.scrollbarBorderWidth, tokens.scrollbarTrackBackgroundColor, tokens.scrollbarBorderWidth);
59
105
  export var StyledHelpers = /*#__PURE__*/styled.div.withConfig({
60
- componentId: "plasma-new-hope__sc-pxxv3p-6"
106
+ componentId: "plasma-new-hope__sc-pxxv3p-13"
61
107
  })(["box-sizing:border-box;display:flex;justify-content:space-between;transition:background-color 0.1s ease-in-out;background-color:var(", ");padding-top:var(", ");padding-right:var(", ");padding-bottom:var(", ");padding-left:var(", ");border-bottom-left-radius:var(", ");border-bottom-right-radius:var(", ");"], tokens.helpersBackgroundColor, tokens.helpersPaddingTop, tokens.helpersPaddingRight, tokens.helpersPaddingBottom, tokens.helpersPaddingLeft, tokens.borderRadius, tokens.borderRadius);
62
108
  export var StyledLeftHelper = /*#__PURE__*/styled.span.withConfig({
63
- componentId: "plasma-new-hope__sc-pxxv3p-7"
109
+ componentId: "plasma-new-hope__sc-pxxv3p-14"
64
110
  })(["", ";display:block;font-family:var(", ");font-size:var(", ");font-style:var(", ");font-weight:var(", ");letter-spacing:var(", ");line-height:var(", ");color:var(", ");"], /*#__PURE__*/applyEllipsis(), tokens.helpersFontFamily, tokens.helpersFontSize, tokens.helpersFontStyle, tokens.helpersFontWeight, tokens.helpersLetterSpacing, tokens.helpersLineHeight, tokens.leftHelperColor);
65
111
  export var StyledRightHelper = /*#__PURE__*/styled(StyledLeftHelper).withConfig({
66
- componentId: "plasma-new-hope__sc-pxxv3p-8"
112
+ componentId: "plasma-new-hope__sc-pxxv3p-15"
67
113
  })(["color:var(", ");margin-left:auto;"], tokens.rightHelperColor);
68
114
  export var StyledPlaceholder = /*#__PURE__*/styled.label.withConfig({
69
- componentId: "plasma-new-hope__sc-pxxv3p-9"
70
- })(["box-sizing:border-box;position:absolute;pointer-events:none;display:inline-flex;align-items:center;transition:all 0.1s ease-in-out;transform-origin:top left;color:var(", ");width:100%;height:auto;top:var(", ");padding-left:var(", ");padding-right:", ";font-family:var(", ");font-size:var(", ");font-style:var(", ");font-weight:var(", ");letter-spacing:var(", ");line-height:var(", ");"], tokens.placeholderColor, tokens.inputPaddingTop, tokens.inputPaddingLeft, function (_ref13) {
71
- var hasContentRight = _ref13.hasContentRight;
115
+ componentId: "plasma-new-hope__sc-pxxv3p-16"
116
+ })(["box-sizing:border-box;position:absolute;pointer-events:none;display:inline-flex;align-items:center;transition:all 0.1s ease-in-out;transform-origin:top left;color:var(", ");width:100%;height:auto;top:var(", ");padding-left:var(", ");padding-right:", ";font-family:var(", ");font-size:var(", ");font-style:var(", ");font-weight:var(", ");letter-spacing:var(", ");line-height:var(", ");"], tokens.placeholderColor, tokens.inputPaddingTop, tokens.inputPaddingLeft, function (_ref20) {
117
+ var hasContentRight = _ref20.hasContentRight;
72
118
  return hasContentRight ? "var(".concat(tokens.inputPaddingRightWithRightContent, ")") : "var(".concat(tokens.inputPaddingRight, ")");
73
119
  }, tokens.inputFontFamily, tokens.inputFontSize, tokens.inputFontStyle, tokens.inputFontWeight, tokens.inputLetterSpacing, tokens.inputLineHeight);
74
120
  export var StyledIndicator = /*#__PURE__*/styled.div.withConfig({
75
- componentId: "plasma-new-hope__sc-pxxv3p-10"
76
- })(["position:absolute;border-radius:50%;background-color:var(", ");&.", "{width:var(", ");height:var(", ");inset:var(", ");&.align-right{inset:var(", ");}}&.", "{width:var(", ");height:var(", ");inset:var(", ");&.align-right{inset:var(", ");}}"], tokens.indicatorColor, classes.outerLabelPlacement, tokens.indicatorSizeOuter, tokens.indicatorSizeOuter, tokens.indicatorLabelPlacementOuter, tokens.indicatorLabelPlacementOuterRight, classes.innerLabelPlacement, tokens.indicatorSizeInner, tokens.indicatorSizeInner, tokens.indicatorLabelPlacementInner, tokens.indicatorLabelPlacementInnerRight);
121
+ componentId: "plasma-new-hope__sc-pxxv3p-17"
122
+ })(["position:absolute;border-radius:50%;background-color:var(", ");&.", "{width:var(", ");height:var(", ");inset:var(", ");&.", "{inset:var(", ");&.", "{right:calc(-1 * var(", "));}}}&.", "{width:var(", ");height:var(", ");inset:var(", ");&.", "{inset:var(", ");}}"], tokens.indicatorColor, classes.outerLabelPlacement, tokens.indicatorSizeOuter, tokens.indicatorSizeOuter, tokens.indicatorLabelPlacementOuter, classes.requiredAlignRight, tokens.indicatorLabelPlacementOuterRight, classes.hasHint, tokens.indicatorSizeOuter, classes.innerLabelPlacement, tokens.indicatorSizeInner, tokens.indicatorSizeInner, tokens.indicatorLabelPlacementInner, classes.requiredAlignRight, tokens.indicatorLabelPlacementInnerRight);
@@ -134,7 +134,8 @@ export function App() {
134
134
  ```
135
135
 
136
136
  ### Подсказка
137
- Для вывода подсказки снизу от поля используйте свойство `leftHelper` и/или `rightHelper`.
137
+ Для вывода подсказки снизу от поля используйте свойство `leftHelper` и/или `rightHelper`,
138
+ для подсказки в виде Tooltip - `hasHint`, для подсказки сверху справа - `titleCaption`:
138
139
 
139
140
  ```tsx live
140
141
  import React from 'react';
@@ -148,6 +149,10 @@ export function App() {
148
149
  defaultValue="Значение"
149
150
  leftHelper="Подсказка снизу слева"
150
151
  rightHelper="Подсказка снизу справа"
152
+ hasHint
153
+ hintText="Подсказка в виде Tooltip"
154
+ hintView="default"
155
+ hintSize="m"
151
156
  />
152
157
  </div>
153
158
  );
@@ -19,8 +19,10 @@ export var classes = {
19
19
  outerLabelPlacement: 'label-placement-outer',
20
20
  /** Класс для view `clear` */
21
21
  clear: 'textarea-clear',
22
+ hasHint: 'textarea-has-hint',
22
23
  hasRightContent: 'textarea-has-right-content',
23
- hasDivider: 'textarea-has-divider'
24
+ hasDivider: 'textarea-has-divider',
25
+ requiredAlignRight: 'required-align-right'
24
26
  };
25
27
  export var tokens = {
26
28
  /** Цвет фона для элемента textarea */
@@ -185,6 +187,7 @@ export var tokens = {
185
187
  indicatorLabelPlacementOuterRight: '--plasma-textarea-indicator-placement-outer-right',
186
188
  clearIndicatorLabelPlacementInner: '--plasma-textarea__clear-indicator-placement-inner',
187
189
  clearIndicatorLabelPlacementInnerRight: '--plasma-textarea__clear-indicator-placement-inner-right',
190
+ clearIndicatorHintInnerRight: '--plasma-textarea__clear-indicator-hint-placement-inner-right',
188
191
  scrollbarWidth: '--plasma-textarea-scrollbar-width',
189
192
  scrollbarBorderWidth: '--plasma-textarea-scrollbar-border-width',
190
193
  scrollbarThumbBackgroundColor: '--plasma-textarea-scrollbar-thumb-background-color',
@@ -193,8 +196,45 @@ export var tokens = {
193
196
  scrollbarTrackBackgroundColor: '--plasma-textarea-scrollbar-track-background-color',
194
197
  scrollbarTrackBackgroundColorHover: '--plasma-textarea-scrollbar-track-background-color-hover',
195
198
  scrollbarTrackBackgroundColorActive: '--plasma-textarea-scrollbar-track-background-color-active',
196
- dividerColor: '--plasma-textfield-divider-color',
197
- dividerColorHover: '--plasma-textfield-divider-color-hover',
198
- dividerColorFocus: '--plasma-textfield-divider-color-focus',
199
- dividerColorReadOnly: '--plasma-textfield-divider-color-readonly'
199
+ dividerColor: '--plasma-textarea-divider-color',
200
+ dividerColorHover: '--plasma-textarea-divider-color-hover',
201
+ dividerColorFocus: '--plasma-textarea-divider-color-focus',
202
+ dividerColorReadOnly: '--plasma-textarea-divider-color-readonly',
203
+ titleCaptionColor: '--plasma-textarea__title-caption-color',
204
+ titleCaptionColorReadOnly: '--plasma-textarea__title-caption-color-readonly',
205
+ titleCaptionInnerLabelOffset: '--plasma-textarea__title-caption-label-inner-offset',
206
+ titleCaptionFontFamily: '--plasma-textarea__title-caption-font-family',
207
+ titleCaptionFontStyle: '--plasma-textarea__title-caption-font-style',
208
+ titleCaptionFontSize: '--plasma-textarea__title-caption-font-size',
209
+ titleCaptionFontWeight: '--plasma-textarea__title-caption-font-weight',
210
+ titleCaptionLetterSpacing: '--plasma-textarea__title-caption-letter-spacing',
211
+ titleCaptionLineHeight: '--plasma-textarea__title-caption-line-height',
212
+ /** Токены для tooltip */
213
+ hintMargin: '--plasma-textarea__hint-margin',
214
+ hintTargetSize: '--plasma-textarea__hint-target-size',
215
+ hintIconColor: '--plasma-textarea__hint-icon-color',
216
+ hintInnerLabelPlacementOffset: '--plasma-textarea__hint-inner-label-placement-offset',
217
+ clearHintInnerLabelPlacementOffset: '--plasma-textarea__clear-hint-inner-label-placement-offset',
218
+ tooltipBackgroundColor: '--plasma-textarea__tooltip-background-color',
219
+ tooltipBoxShadow: '--plasma-textarea__tooltip-box-shadow',
220
+ tooltipColor: '--plasma-textarea__tooltip-color',
221
+ tooltipPaddingTop: '--plasma-textarea__tooltip-padding-top',
222
+ tooltipPaddingRight: '--plasma-textarea__tooltip-padding-right',
223
+ tooltipPaddingBottom: '--plasma-textarea__tooltip-padding-bottom',
224
+ tooltipPaddingLeft: '--plasma-textarea__tooltip-padding-left',
225
+ tooltipMinHeight: '--plasma-textarea__tooltip-min-height',
226
+ tooltipBorderRadius: '--plasma-textarea__tooltip-border-radius',
227
+ tooltipTextFontFamily: '--plasma-textarea__tooltip-text-font-family',
228
+ tooltipTextFontSize: '--plasma-textarea__tooltip-text-font-size',
229
+ tooltipTextFontStyle: '--plasma-textarea__tooltip-text-font-style',
230
+ tooltipTextFontWeight: '--plasma-textarea__tooltip-text-font-weight',
231
+ tooltipTextFontLetterSpacing: '--plasma-textarea__tooltip-text-font-letter-spacing',
232
+ tooltipTextFontLineHeight: '--plasma-textarea__tooltip-text-font-line-height',
233
+ tooltipContentLeftMargin: '--plasma-textarea__tooltip-content-left-margin',
234
+ tooltipArrowMaskWidth: '--plasma-textarea__tooltip-arrow-mask-width',
235
+ tooltipArrowMaskHeight: '--plasma-textarea__tooltip-arrow-mask-height',
236
+ tooltipArrowMaskImage: '--plasma-textarea__tooltip-arrow-mask-image',
237
+ tooltipArrowHeight: '--plasma-textarea__tooltip-arrow-height',
238
+ tooltipArrowEdgeMargin: '--plasma-textarea__tooltip-arrow-edge-margin',
239
+ tooltipArrowBackground: '--plasma-textarea__tooltip-arrow-background'
200
240
  };
@@ -1,14 +1,12 @@
1
1
  import { useEffect, useRef } from 'react';
2
2
  export var ROOT_FONT_SIZE = 16;
3
- export var useAutoResize = function useAutoResize(active, ref, value, minAuto, maxAuto, defaultValue) {
4
- var isManualResize = useRef(false);
3
+ export var useAutoResize = function useAutoResize(active, ref, value, minAuto, maxAuto) {
5
4
  var previousHeight = useRef();
6
5
  useEffect(function () {
7
- if (active && ref && ref.current && !isManualResize.current) {
6
+ if (active && ref && ref.current) {
8
7
  // проверка на пользовательский resize (вручную)
9
8
  var height = ref.current.clientHeight / ROOT_FONT_SIZE;
10
9
  if (previousHeight.current !== undefined && previousHeight.current !== height) {
11
- isManualResize.current = true;
12
10
  return;
13
11
  }
14
12
  var style = getComputedStyle(ref.current);
@@ -23,5 +21,5 @@ export var useAutoResize = function useAutoResize(active, ref, value, minAuto, m
23
21
  ref.current.style.height = "".concat(newHeight, "rem");
24
22
  previousHeight.current = newHeight;
25
23
  }
26
- }, [ref, active, value, defaultValue]);
24
+ }, [ref, active, value, minAuto, maxAuto]);
27
25
  };
@@ -0,0 +1,44 @@
1
+ var _IconInfoCircleOutlin;
2
+ 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); }
3
+ import React, { forwardRef } from 'react';
4
+ import { Hint, HintIconWrapper, HintTargetWrapper } from '../../TextArea.styles';
5
+ import { IconInfoCircleOutline } from '../../../_Icon';
6
+ import { safeUseId } from '../../../../utils';
7
+ export var HintComponent = /*#__PURE__*/forwardRef(function (_ref, ref) {
8
+ var hintText = _ref.hintText,
9
+ isHintVisible = _ref.isHintVisible,
10
+ hintTrigger = _ref.hintTrigger,
11
+ hintTargetIcon = _ref.hintTargetIcon,
12
+ hintPlacement = _ref.hintPlacement,
13
+ hintHasArrow = _ref.hintHasArrow,
14
+ hintOffset = _ref.hintOffset,
15
+ hintWidth = _ref.hintWidth,
16
+ hintContentLeft = _ref.hintContentLeft,
17
+ handleHintShow = _ref.handleHintShow,
18
+ handleHintHide = _ref.handleHintHide,
19
+ handleHintClick = _ref.handleHintClick;
20
+ var hintId = safeUseId();
21
+ return /*#__PURE__*/React.createElement(Hint, {
22
+ ref: ref,
23
+ text: String(hintText),
24
+ opened: isHintVisible,
25
+ target: /*#__PURE__*/React.createElement(HintTargetWrapper, null, /*#__PURE__*/React.createElement(HintIconWrapper, _extends({
26
+ id: hintId
27
+ }, hintTrigger === 'hover' ? {
28
+ onMouseEnter: handleHintShow,
29
+ onMouseLeave: handleHintHide
30
+ } : {
31
+ onClick: handleHintClick
32
+ }), hintTargetIcon || _IconInfoCircleOutlin || (_IconInfoCircleOutlin = /*#__PURE__*/React.createElement(IconInfoCircleOutline, {
33
+ size: "xs",
34
+ color: "inherit"
35
+ })))),
36
+ placement: hintPlacement,
37
+ hasArrow: hintHasArrow,
38
+ offset: hintOffset,
39
+ minWidth: hintWidth,
40
+ maxWidth: hintWidth,
41
+ contentLeft: hintContentLeft,
42
+ frame: hintId
43
+ });
44
+ });
@@ -1,4 +1,4 @@
1
1
  import { css } from 'styled-components';
2
2
  import { classes, tokens } from '../../TextArea.tokens';
3
- import { StyledContainer, StyledContent, StyledHelpers, StyledIndicator, StyledLabel, StyledPlaceholder, StyledTextArea, StyledTextAreaWrapper } from '../../TextArea.styles';
4
- export var base = /*#__PURE__*/css(["&.", "{border:unset;", "{box-shadow:unset;background-color:unset;border-radius:0;padding-bottom:var(", ");}", "{margin-bottom:var(", ");}", "{right:0;bottom:unset;}", ",", "{padding-left:0;}", "{background-color:unset;border-radius:0;padding-top:var(", ");padding-right:0;}", "{color:var(", ");padding-right:0;&.", "{padding-right:var(", ");}}", "{&:not(.", "){", "{color:var(", ");}&.", " ", "{color:var(", ");}}&.", "{color:var(", ");}}", "{padding-left:0;}", "{&.", "{inset:var(", ");&.align-right{inset:var(", ");}}}.", "{border:unset;border-radius:0;}&:focus-within:not([readonly]) .", "{background-color:unset;box-shadow:unset;}&:focus-within:not([readonly]) .", "{border:unset;}&:focus-within:not([readonly]) .", "{background-color:unset;}&.", "{", "{position:relative;--plasma_private-textarea-divider-color:var(", ");&:before{content:'';position:absolute;height:0.063rem;width:100%;bottom:0;left:0;background-color:var(--plasma_private-textarea-divider-color);transition:background-color 0.1s ease-in;}}&:not([readonly]) ", ":hover{--plasma_private-textarea-divider-color:var( ", ",var(", ") );}&:not([readonly]) ", ":focus-within{--plasma_private-textarea-divider-color:var( ", ",var(", ") );}}}"], classes.clear, StyledTextAreaWrapper, tokens.inputPaddingTop, StyledLabel, tokens.clearLabelMarginBottom, StyledContent, StyledTextArea, StyledHelpers, StyledHelpers, tokens.clearHelpersPaddingTop, StyledTextArea, tokens.clearInputColor, classes.hasRightContent, tokens.clearInputPaddingRightWithRightContent, StyledContainer, classes.innerPlaceholderUp, StyledPlaceholder, tokens.clearPlaceholderColor, classes.focusedOuterPlaceholderColor, StyledPlaceholder, tokens.clearPlaceholderColorFocus, classes.innerPlaceholderUp, tokens.placeholderColor, StyledPlaceholder, StyledIndicator, classes.innerLabelPlacement, tokens.clearIndicatorLabelPlacementInner, tokens.clearIndicatorLabelPlacementInnerRight, classes.styledContainer, classes.styledTextAreaWrapper, classes.styledContainer, classes.styledHelpers, classes.hasDivider, StyledTextAreaWrapper, /*#__PURE__*/String(tokens.dividerColor), StyledTextAreaWrapper, tokens.dividerColorHover, /*#__PURE__*/String(tokens.dividerColor), StyledTextAreaWrapper, tokens.dividerColorFocus, /*#__PURE__*/String(tokens.dividerColor));
3
+ import { OuterLabelWrapper, StyledContainer, StyledContent, StyledHelpers, StyledHintWrapper, StyledIndicator, StyledPlaceholder, StyledTextArea, StyledTextAreaWrapper } from '../../TextArea.styles';
4
+ export var base = /*#__PURE__*/css(["&.", "{border:unset;", "{box-shadow:unset;background-color:unset;border-radius:0;padding-bottom:var(", ");}", "{margin-bottom:var(", ");}", "{right:0;bottom:unset;}", ",", "{padding-left:0;}", "{background-color:unset;border-radius:0;padding-top:var(", ");padding-right:0;}", "{color:var(", ");padding-right:0;&.", "{padding-right:var(", ");}}", "{&:not(.", "){", "{color:var(", ");}&.", " ", "{color:var(", ");}}&.", "{color:var(", ");}}", "{padding-left:0;}", "{&.", "{inset:var(", ");&.", "{inset:var(", ");}}}&.", "{", "{&.", "{inset:var(", ");}}", "{&.", ".", "{inset:var(", ");}}}.", "{border:unset;border-radius:0;}&:focus-within:not([readonly]) .", "{background-color:unset;box-shadow:unset;}&:focus-within:not([readonly]) .", "{border:unset;}&:focus-within:not([readonly]) .", "{background-color:unset;}&.", "{", "{position:relative;--plasma_private-textarea-divider-color:var(", ");&:before{content:'';position:absolute;height:0.063rem;width:100%;bottom:0;left:0;background-color:var(--plasma_private-textarea-divider-color);transition:background-color 0.1s ease-in;}}&:not([readonly]) ", ":hover{--plasma_private-textarea-divider-color:var( ", ",var(", ") );}&:not([readonly]) ", ":focus-within{--plasma_private-textarea-divider-color:var( ", ",var(", ") );}}}"], classes.clear, StyledTextAreaWrapper, tokens.inputPaddingTop, OuterLabelWrapper, tokens.clearLabelMarginBottom, StyledContent, StyledTextArea, StyledHelpers, StyledHelpers, tokens.clearHelpersPaddingTop, StyledTextArea, tokens.clearInputColor, classes.hasRightContent, tokens.clearInputPaddingRightWithRightContent, StyledContainer, classes.innerPlaceholderUp, StyledPlaceholder, tokens.clearPlaceholderColor, classes.focusedOuterPlaceholderColor, StyledPlaceholder, tokens.clearPlaceholderColorFocus, classes.innerPlaceholderUp, tokens.placeholderColor, StyledPlaceholder, StyledIndicator, classes.innerLabelPlacement, tokens.clearIndicatorLabelPlacementInner, classes.requiredAlignRight, tokens.clearIndicatorLabelPlacementInnerRight, classes.hasHint, StyledHintWrapper, classes.innerLabelPlacement, tokens.clearHintInnerLabelPlacementOffset, StyledIndicator, classes.innerLabelPlacement, classes.requiredAlignRight, tokens.clearIndicatorHintInnerRight, classes.styledContainer, classes.styledTextAreaWrapper, classes.styledContainer, classes.styledHelpers, classes.hasDivider, StyledTextAreaWrapper, /*#__PURE__*/String(tokens.dividerColor), StyledTextAreaWrapper, tokens.dividerColorHover, /*#__PURE__*/String(tokens.dividerColor), StyledTextAreaWrapper, tokens.dividerColorFocus, /*#__PURE__*/String(tokens.dividerColor));
@@ -0,0 +1,5 @@
1
+ import { css } from 'styled-components';
2
+ import { tooltipTokens } from '../../../Tooltip';
3
+ import { tokens } from '../../TextArea.tokens';
4
+ import { Hint } from '../../TextArea.styles';
5
+ export var base = /*#__PURE__*/css(["", "{", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");}"], Hint, tooltipTokens.paddingTop, tokens.tooltipPaddingTop, tooltipTokens.paddingRight, tokens.tooltipPaddingRight, tooltipTokens.paddingBottom, tokens.tooltipPaddingBottom, tooltipTokens.paddingLeft, tokens.tooltipPaddingLeft, tooltipTokens.minHeight, tokens.tooltipMinHeight, tooltipTokens.borderRadius, tokens.tooltipBorderRadius, tooltipTokens.textFontFamily, tokens.tooltipTextFontFamily, tooltipTokens.textFontSize, tokens.tooltipTextFontSize, tooltipTokens.textFontStyle, tokens.tooltipTextFontStyle, tooltipTokens.textFontWeight, tokens.tooltipTextFontWeight, tooltipTokens.textFontLetterSpacing, tokens.tooltipTextFontLetterSpacing, tooltipTokens.textFontLineHeight, tokens.tooltipTextFontLineHeight, tooltipTokens.contentLeftMargin, tokens.tooltipContentLeftMargin, tooltipTokens.arrowMaskWidth, tokens.tooltipArrowMaskWidth, tooltipTokens.arrowMaskHeight, tokens.tooltipArrowMaskHeight, tooltipTokens.arrowMaskImage, tokens.tooltipArrowMaskImage, tooltipTokens.arrowHeight, tokens.tooltipArrowHeight, tooltipTokens.arrowEdgeMargin, tokens.tooltipArrowEdgeMargin, tooltipTokens.arrowBackground, tokens.tooltipArrowBackground);