@salutejs/plasma-new-hope 0.166.0-canary.1458.11344610394.0 → 0.166.0-canary.1459.11345044568.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (430) hide show
  1. package/cjs/components/Attach/Attach.js +17 -8
  2. package/cjs/components/Attach/Attach.js.map +1 -1
  3. package/cjs/components/Autocomplete/Autocomplete.css +34 -19
  4. package/cjs/components/Autocomplete/Autocomplete.js +6 -2
  5. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  6. package/cjs/components/Breadcrumbs/Breadcrumbs.css +3 -3
  7. package/cjs/components/Breadcrumbs/Breadcrumbs.styles.js +4 -11
  8. package/cjs/components/Breadcrumbs/Breadcrumbs.styles.js.map +1 -1
  9. package/cjs/components/Breadcrumbs/{Breadcrumbs.styles_19b6ey4.css → Breadcrumbs.styles_1cfkltf.css} +2 -2
  10. package/cjs/components/Breadcrumbs/Breadcrumbs.tokens.js +0 -2
  11. package/cjs/components/Breadcrumbs/Breadcrumbs.tokens.js.map +1 -1
  12. package/cjs/components/Breadcrumbs/utils/index.css +3 -3
  13. package/cjs/components/Combobox/ComboboxNew/Combobox.css +38 -18
  14. package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.css +38 -18
  15. package/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.css +38 -18
  16. package/cjs/components/DatePicker/RangeDate/RangeDate.css +33 -18
  17. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +33 -18
  18. package/cjs/components/DatePicker/SingleDate/SingleDate.css +35 -20
  19. package/cjs/components/Range/Range.css +39 -19
  20. package/cjs/components/Slider/Slider.css +39 -19
  21. package/cjs/components/Slider/Slider.js +2 -0
  22. package/cjs/components/Slider/Slider.js.map +1 -1
  23. package/cjs/components/Slider/components/Double/Double.css +39 -19
  24. package/cjs/components/TextArea/TextArea.js +129 -18
  25. package/cjs/components/TextArea/TextArea.js.map +1 -1
  26. package/cjs/components/TextArea/TextArea.styles.js +160 -63
  27. package/cjs/components/TextArea/TextArea.styles.js.map +1 -1
  28. package/cjs/components/TextArea/TextArea.styles_mcxlmk.css +17 -0
  29. package/cjs/components/TextArea/TextArea.tokens.js +43 -4
  30. package/cjs/components/TextArea/TextArea.tokens.js.map +1 -1
  31. package/cjs/components/TextArea/hooks/useAutoResize.js +2 -4
  32. package/cjs/components/TextArea/hooks/useAutoResize.js.map +1 -1
  33. package/cjs/components/TextArea/variations/_clear/base.js +1 -1
  34. package/cjs/components/TextArea/variations/_clear/base.js.map +1 -1
  35. package/cjs/components/TextArea/variations/_clear/base_1ezvvtt.css +1 -0
  36. package/cjs/components/TextArea/variations/_hint-size/base.js +9 -0
  37. package/cjs/components/TextArea/variations/_hint-size/base.js.map +1 -0
  38. package/cjs/components/TextArea/variations/_hint-size/base_1ipgv90.css +1 -0
  39. package/cjs/components/TextArea/variations/_hint-view/base.js +9 -0
  40. package/cjs/components/TextArea/variations/_hint-view/base.js.map +1 -0
  41. package/cjs/components/TextArea/variations/_hint-view/base_111a0qe.css +1 -0
  42. package/cjs/components/TextArea/variations/_view/base.js +1 -1
  43. package/cjs/components/TextArea/variations/_view/base.js.map +1 -1
  44. package/cjs/components/TextArea/variations/_view/base_1xgrm3x.css +1 -0
  45. package/cjs/components/TextField/TextField.js +117 -9
  46. package/cjs/components/TextField/TextField.js.map +1 -1
  47. package/cjs/components/TextField/TextField.styles.js +76 -23
  48. package/cjs/components/TextField/TextField.styles.js.map +1 -1
  49. package/cjs/components/TextField/TextField.styles_17xt45g.css +21 -0
  50. package/cjs/components/TextField/TextField.tokens.js +40 -1
  51. package/cjs/components/TextField/TextField.tokens.js.map +1 -1
  52. package/cjs/components/TextField/variations/_clear/base.js +1 -1
  53. package/cjs/components/TextField/variations/_clear/base.js.map +1 -1
  54. package/cjs/components/TextField/variations/_clear/base_1pkwm4m.css +1 -0
  55. package/cjs/components/TextField/variations/_disabled/base.js +1 -1
  56. package/cjs/components/TextField/variations/_disabled/{base_2tv0nz.css → base_4d3opa.css} +1 -1
  57. package/cjs/components/TextField/variations/_hint-size/base.js +9 -0
  58. package/cjs/components/TextField/variations/_hint-size/base.js.map +1 -0
  59. package/cjs/components/TextField/variations/_hint-size/base_1x99605.css +1 -0
  60. package/cjs/components/TextField/variations/_hint-view/base.js +9 -0
  61. package/cjs/components/TextField/variations/_hint-view/base.js.map +1 -0
  62. package/cjs/components/TextField/variations/_hint-view/base_l8etux.css +1 -0
  63. package/cjs/components/TextField/variations/_label-placement/base.js +1 -1
  64. package/cjs/components/TextField/variations/_label-placement/base.js.map +1 -1
  65. package/cjs/components/TextField/variations/_label-placement/base_3domm.css +1 -0
  66. package/cjs/components/TextField/variations/_read-only/base.js +1 -1
  67. package/cjs/components/TextField/variations/_read-only/base.js.map +1 -1
  68. package/cjs/components/TextField/variations/_read-only/base_17ypmu7.css +1 -0
  69. package/cjs/components/TextField/variations/_size/base.js +1 -1
  70. package/cjs/components/TextField/variations/_size/base.js.map +1 -1
  71. package/cjs/components/TextField/variations/_size/base_1xdmaqh.css +1 -0
  72. package/cjs/components/TextField/variations/_view/base.js +1 -1
  73. package/cjs/components/TextField/variations/_view/base.js.map +1 -1
  74. package/cjs/components/TextField/variations/_view/base_qhyte8.css +1 -0
  75. package/cjs/components/TextFieldGroup/TextFieldGroup.css +1 -1
  76. package/cjs/components/TextFieldGroup/variations/_shape/base.js +1 -1
  77. package/cjs/components/TextFieldGroup/variations/_shape/base_52bndd.css +1 -0
  78. package/cjs/components/_Icon/Icon.assets/InfoCircleOutline.js +23 -0
  79. package/cjs/components/_Icon/Icon.assets/InfoCircleOutline.js.map +1 -0
  80. package/cjs/components/_Icon/Icons/IconInfoCircleOutline.js +23 -0
  81. package/cjs/components/_Icon/Icons/IconInfoCircleOutline.js.map +1 -0
  82. package/cjs/index.css +55 -35
  83. package/emotion/cjs/components/Attach/Attach.js +17 -8
  84. package/emotion/cjs/components/Attach/Attach.template-doc.mdx +69 -0
  85. package/emotion/cjs/components/Autocomplete/Autocomplete.js +6 -2
  86. package/emotion/cjs/components/Breadcrumbs/Breadcrumbs.styles.js +3 -6
  87. package/emotion/cjs/components/Breadcrumbs/Breadcrumbs.tokens.js +0 -2
  88. package/emotion/cjs/components/TextArea/TextArea.js +132 -23
  89. package/emotion/cjs/components/TextArea/TextArea.styles.js +99 -41
  90. package/emotion/cjs/components/TextArea/TextArea.template-doc.mdx +6 -1
  91. package/emotion/cjs/components/TextArea/TextArea.tokens.js +43 -4
  92. package/emotion/cjs/components/TextArea/hooks/useAutoResize.js +2 -4
  93. package/emotion/cjs/components/TextArea/variations/_clear/base.js +1 -1
  94. package/emotion/cjs/components/TextArea/variations/_hint-size/base.js +11 -0
  95. package/emotion/cjs/components/TextArea/variations/_hint-size/tokens.json +21 -0
  96. package/emotion/cjs/components/TextArea/variations/_hint-view/base.js +11 -0
  97. package/emotion/cjs/components/TextArea/variations/_hint-view/tokens.json +5 -0
  98. package/emotion/cjs/components/TextArea/variations/_view/base.js +2 -1
  99. package/emotion/cjs/components/TextField/TextField.js +119 -12
  100. package/emotion/cjs/components/TextField/TextField.styles.js +84 -37
  101. package/emotion/cjs/components/TextField/TextField.template-doc.mdx +7 -1
  102. package/emotion/cjs/components/TextField/TextField.tokens.js +40 -1
  103. package/emotion/cjs/components/TextField/variations/_clear/base.js +1 -1
  104. package/emotion/cjs/components/TextField/variations/_hint-size/base.js +11 -0
  105. package/emotion/cjs/components/TextField/variations/_hint-size/tokens.json +21 -0
  106. package/emotion/cjs/components/TextField/variations/_hint-view/base.js +11 -0
  107. package/emotion/cjs/components/TextField/variations/_hint-view/tokens.json +5 -0
  108. package/emotion/cjs/components/TextField/variations/_label-placement/base.js +1 -1
  109. package/emotion/cjs/components/TextField/variations/_read-only/base.js +1 -1
  110. package/emotion/cjs/components/TextField/variations/_size/base.js +1 -1
  111. package/emotion/cjs/components/TextField/variations/_view/base.js +1 -1
  112. package/emotion/cjs/components/_Icon/Icon.assets/InfoCircleOutline.js +22 -0
  113. package/emotion/cjs/components/_Icon/Icons/IconInfoCircleOutline.js +22 -0
  114. package/emotion/cjs/components/_Icon/index.js +8 -1
  115. package/emotion/cjs/examples/plasma_b2c/components/Breadcrumbs/Breadcrumbs.config.js +5 -5
  116. package/emotion/cjs/examples/plasma_b2c/components/TextArea/TextArea.config.js +19 -10
  117. package/emotion/cjs/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +70 -0
  118. package/emotion/cjs/examples/plasma_b2c/components/TextField/TextField.config.js +22 -13
  119. package/emotion/cjs/examples/plasma_b2c/components/TextField/TextField.stories.tsx +71 -1
  120. package/emotion/cjs/examples/plasma_web/components/Breadcrumbs/Breadcrumbs.config.js +5 -5
  121. package/emotion/cjs/examples/plasma_web/components/TextArea/TextArea.config.js +19 -10
  122. package/emotion/cjs/examples/plasma_web/components/TextArea/TextArea.stories.tsx +70 -0
  123. package/emotion/cjs/examples/plasma_web/components/TextField/TextField.config.js +22 -13
  124. package/emotion/cjs/examples/plasma_web/components/TextField/TextField.stories.tsx +80 -10
  125. package/emotion/es/components/Attach/Attach.js +17 -8
  126. package/emotion/es/components/Attach/Attach.template-doc.mdx +69 -0
  127. package/emotion/es/components/Autocomplete/Autocomplete.js +6 -2
  128. package/emotion/es/components/Breadcrumbs/Breadcrumbs.styles.js +3 -6
  129. package/emotion/es/components/Breadcrumbs/Breadcrumbs.tokens.js +0 -2
  130. package/emotion/es/components/TextArea/TextArea.js +133 -24
  131. package/emotion/es/components/TextArea/TextArea.styles.js +98 -40
  132. package/emotion/es/components/TextArea/TextArea.template-doc.mdx +6 -1
  133. package/emotion/es/components/TextArea/TextArea.tokens.js +43 -4
  134. package/emotion/es/components/TextArea/hooks/useAutoResize.js +2 -4
  135. package/emotion/es/components/TextArea/variations/_clear/base.js +2 -2
  136. package/emotion/es/components/TextArea/variations/_hint-size/base.js +5 -0
  137. package/emotion/es/components/TextArea/variations/_hint-size/tokens.json +21 -0
  138. package/emotion/es/components/TextArea/variations/_hint-view/base.js +5 -0
  139. package/emotion/es/components/TextArea/variations/_hint-view/tokens.json +5 -0
  140. package/emotion/es/components/TextArea/variations/_view/base.js +2 -1
  141. package/emotion/es/components/TextField/TextField.js +118 -11
  142. package/emotion/es/components/TextField/TextField.styles.js +83 -36
  143. package/emotion/es/components/TextField/TextField.template-doc.mdx +7 -1
  144. package/emotion/es/components/TextField/TextField.tokens.js +40 -1
  145. package/emotion/es/components/TextField/variations/_clear/base.js +2 -2
  146. package/emotion/es/components/TextField/variations/_hint-size/base.js +5 -0
  147. package/emotion/es/components/TextField/variations/_hint-size/tokens.json +21 -0
  148. package/emotion/es/components/TextField/variations/_hint-view/base.js +5 -0
  149. package/emotion/es/components/TextField/variations/_hint-view/tokens.json +5 -0
  150. package/emotion/es/components/TextField/variations/_label-placement/base.js +1 -1
  151. package/emotion/es/components/TextField/variations/_read-only/base.js +2 -2
  152. package/emotion/es/components/TextField/variations/_size/base.js +2 -2
  153. package/emotion/es/components/TextField/variations/_view/base.js +2 -2
  154. package/emotion/es/components/_Icon/Icon.assets/InfoCircleOutline.js +15 -0
  155. package/emotion/es/components/_Icon/Icons/IconInfoCircleOutline.js +15 -0
  156. package/emotion/es/components/_Icon/index.js +2 -1
  157. package/emotion/es/examples/plasma_b2c/components/Breadcrumbs/Breadcrumbs.config.js +5 -5
  158. package/emotion/es/examples/plasma_b2c/components/TextArea/TextArea.config.js +19 -10
  159. package/emotion/es/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +70 -0
  160. package/emotion/es/examples/plasma_b2c/components/TextField/TextField.config.js +22 -13
  161. package/emotion/es/examples/plasma_b2c/components/TextField/TextField.stories.tsx +71 -1
  162. package/emotion/es/examples/plasma_web/components/Breadcrumbs/Breadcrumbs.config.js +5 -5
  163. package/emotion/es/examples/plasma_web/components/TextArea/TextArea.config.js +19 -10
  164. package/emotion/es/examples/plasma_web/components/TextArea/TextArea.stories.tsx +70 -0
  165. package/emotion/es/examples/plasma_web/components/TextField/TextField.config.js +22 -13
  166. package/emotion/es/examples/plasma_web/components/TextField/TextField.stories.tsx +80 -10
  167. package/es/components/Attach/Attach.js +17 -8
  168. package/es/components/Attach/Attach.js.map +1 -1
  169. package/es/components/Autocomplete/Autocomplete.css +34 -19
  170. package/es/components/Autocomplete/Autocomplete.js +6 -2
  171. package/es/components/Autocomplete/Autocomplete.js.map +1 -1
  172. package/es/components/Breadcrumbs/Breadcrumbs.css +3 -3
  173. package/es/components/Breadcrumbs/Breadcrumbs.styles.js +4 -11
  174. package/es/components/Breadcrumbs/Breadcrumbs.styles.js.map +1 -1
  175. package/es/components/Breadcrumbs/{Breadcrumbs.styles_19b6ey4.css → Breadcrumbs.styles_1cfkltf.css} +2 -2
  176. package/es/components/Breadcrumbs/Breadcrumbs.tokens.js +0 -2
  177. package/es/components/Breadcrumbs/Breadcrumbs.tokens.js.map +1 -1
  178. package/es/components/Breadcrumbs/utils/index.css +3 -3
  179. package/es/components/Combobox/ComboboxNew/Combobox.css +38 -18
  180. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.css +38 -18
  181. package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.css +38 -18
  182. package/es/components/DatePicker/RangeDate/RangeDate.css +33 -18
  183. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +33 -18
  184. package/es/components/DatePicker/SingleDate/SingleDate.css +35 -20
  185. package/es/components/Range/Range.css +39 -19
  186. package/es/components/Slider/Slider.css +39 -19
  187. package/es/components/Slider/Slider.js +2 -0
  188. package/es/components/Slider/Slider.js.map +1 -1
  189. package/es/components/Slider/components/Double/Double.css +39 -19
  190. package/es/components/TextArea/TextArea.js +133 -22
  191. package/es/components/TextArea/TextArea.js.map +1 -1
  192. package/es/components/TextArea/TextArea.styles.js +155 -64
  193. package/es/components/TextArea/TextArea.styles.js.map +1 -1
  194. package/es/components/TextArea/TextArea.styles_mcxlmk.css +17 -0
  195. package/es/components/TextArea/TextArea.tokens.js +43 -4
  196. package/es/components/TextArea/TextArea.tokens.js.map +1 -1
  197. package/es/components/TextArea/hooks/useAutoResize.js +2 -4
  198. package/es/components/TextArea/hooks/useAutoResize.js.map +1 -1
  199. package/es/components/TextArea/variations/_clear/base.js +1 -1
  200. package/es/components/TextArea/variations/_clear/base.js.map +1 -1
  201. package/es/components/TextArea/variations/_clear/base_1ezvvtt.css +1 -0
  202. package/es/components/TextArea/variations/_hint-size/base.js +5 -0
  203. package/es/components/TextArea/variations/_hint-size/base.js.map +1 -0
  204. package/es/components/TextArea/variations/_hint-size/base_1ipgv90.css +1 -0
  205. package/es/components/TextArea/variations/_hint-view/base.js +5 -0
  206. package/es/components/TextArea/variations/_hint-view/base.js.map +1 -0
  207. package/es/components/TextArea/variations/_hint-view/base_111a0qe.css +1 -0
  208. package/es/components/TextArea/variations/_view/base.js +1 -1
  209. package/es/components/TextArea/variations/_view/base.js.map +1 -1
  210. package/es/components/TextArea/variations/_view/base_1xgrm3x.css +1 -0
  211. package/es/components/TextField/TextField.js +118 -10
  212. package/es/components/TextField/TextField.js.map +1 -1
  213. package/es/components/TextField/TextField.styles.js +71 -24
  214. package/es/components/TextField/TextField.styles.js.map +1 -1
  215. package/es/components/TextField/TextField.styles_17xt45g.css +21 -0
  216. package/es/components/TextField/TextField.tokens.js +40 -1
  217. package/es/components/TextField/TextField.tokens.js.map +1 -1
  218. package/es/components/TextField/variations/_clear/base.js +1 -1
  219. package/es/components/TextField/variations/_clear/base.js.map +1 -1
  220. package/es/components/TextField/variations/_clear/base_1pkwm4m.css +1 -0
  221. package/es/components/TextField/variations/_disabled/base.js +1 -1
  222. package/es/components/TextField/variations/_disabled/{base_2tv0nz.css → base_4d3opa.css} +1 -1
  223. package/es/components/TextField/variations/_hint-size/base.js +5 -0
  224. package/es/components/TextField/variations/_hint-size/base.js.map +1 -0
  225. package/es/components/TextField/variations/_hint-size/base_1x99605.css +1 -0
  226. package/es/components/TextField/variations/_hint-view/base.js +5 -0
  227. package/es/components/TextField/variations/_hint-view/base.js.map +1 -0
  228. package/es/components/TextField/variations/_hint-view/base_l8etux.css +1 -0
  229. package/es/components/TextField/variations/_label-placement/base.js +1 -1
  230. package/es/components/TextField/variations/_label-placement/base.js.map +1 -1
  231. package/es/components/TextField/variations/_label-placement/base_3domm.css +1 -0
  232. package/es/components/TextField/variations/_read-only/base.js +1 -1
  233. package/es/components/TextField/variations/_read-only/base.js.map +1 -1
  234. package/es/components/TextField/variations/_read-only/base_17ypmu7.css +1 -0
  235. package/es/components/TextField/variations/_size/base.js +1 -1
  236. package/es/components/TextField/variations/_size/base.js.map +1 -1
  237. package/es/components/TextField/variations/_size/base_1xdmaqh.css +1 -0
  238. package/es/components/TextField/variations/_view/base.js +1 -1
  239. package/es/components/TextField/variations/_view/base.js.map +1 -1
  240. package/es/components/TextField/variations/_view/base_qhyte8.css +1 -0
  241. package/es/components/TextFieldGroup/TextFieldGroup.css +1 -1
  242. package/es/components/TextFieldGroup/variations/_shape/base.js +1 -1
  243. package/es/components/TextFieldGroup/variations/_shape/base_52bndd.css +1 -0
  244. package/es/components/_Icon/Icon.assets/InfoCircleOutline.js +19 -0
  245. package/es/components/_Icon/Icon.assets/InfoCircleOutline.js.map +1 -0
  246. package/es/components/_Icon/Icons/IconInfoCircleOutline.js +19 -0
  247. package/es/components/_Icon/Icons/IconInfoCircleOutline.js.map +1 -0
  248. package/es/index.css +55 -35
  249. package/package.json +2 -2
  250. package/styled-components/cjs/components/Attach/Attach.js +17 -8
  251. package/styled-components/cjs/components/Attach/Attach.template-doc.mdx +69 -0
  252. package/styled-components/cjs/components/Autocomplete/Autocomplete.js +6 -2
  253. package/styled-components/cjs/components/Breadcrumbs/Breadcrumbs.styles.js +2 -5
  254. package/styled-components/cjs/components/Breadcrumbs/Breadcrumbs.tokens.js +0 -2
  255. package/styled-components/cjs/components/TextArea/TextArea.js +131 -22
  256. package/styled-components/cjs/components/TextArea/TextArea.styles.js +85 -42
  257. package/styled-components/cjs/components/TextArea/TextArea.template-doc.mdx +6 -1
  258. package/styled-components/cjs/components/TextArea/TextArea.tokens.js +43 -4
  259. package/styled-components/cjs/components/TextArea/hooks/useAutoResize.js +2 -4
  260. package/styled-components/cjs/components/TextArea/variations/_clear/base.js +1 -1
  261. package/styled-components/cjs/components/TextArea/variations/_hint-size/base.js +11 -0
  262. package/styled-components/cjs/components/TextArea/variations/_hint-size/tokens.json +21 -0
  263. package/styled-components/cjs/components/TextArea/variations/_hint-view/base.js +11 -0
  264. package/styled-components/cjs/components/TextArea/variations/_hint-view/tokens.json +5 -0
  265. package/styled-components/cjs/components/TextArea/variations/_view/base.js +2 -1
  266. package/styled-components/cjs/components/TextField/TextField.js +118 -11
  267. package/styled-components/cjs/components/TextField/TextField.styles.js +46 -21
  268. package/styled-components/cjs/components/TextField/TextField.template-doc.mdx +7 -1
  269. package/styled-components/cjs/components/TextField/TextField.tokens.js +40 -1
  270. package/styled-components/cjs/components/TextField/variations/_clear/base.js +1 -1
  271. package/styled-components/cjs/components/TextField/variations/_hint-size/base.js +11 -0
  272. package/styled-components/cjs/components/TextField/variations/_hint-size/tokens.json +21 -0
  273. package/styled-components/cjs/components/TextField/variations/_hint-view/base.js +11 -0
  274. package/styled-components/cjs/components/TextField/variations/_hint-view/tokens.json +5 -0
  275. package/styled-components/cjs/components/TextField/variations/_label-placement/base.js +1 -1
  276. package/styled-components/cjs/components/TextField/variations/_read-only/base.js +1 -1
  277. package/styled-components/cjs/components/TextField/variations/_size/base.js +1 -1
  278. package/styled-components/cjs/components/TextField/variations/_view/base.js +1 -1
  279. package/styled-components/cjs/components/_Icon/Icon.assets/InfoCircleOutline.js +22 -0
  280. package/styled-components/cjs/components/_Icon/Icons/IconInfoCircleOutline.js +22 -0
  281. package/styled-components/cjs/components/_Icon/index.js +8 -1
  282. package/styled-components/cjs/examples/plasma_b2c/components/Breadcrumbs/Breadcrumbs.config.js +1 -1
  283. package/styled-components/cjs/examples/plasma_b2c/components/TextArea/TextArea.config.js +18 -9
  284. package/styled-components/cjs/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +70 -0
  285. package/styled-components/cjs/examples/plasma_b2c/components/TextField/TextField.config.js +18 -9
  286. package/styled-components/cjs/examples/plasma_b2c/components/TextField/TextField.stories.tsx +71 -1
  287. package/styled-components/cjs/examples/plasma_web/components/Breadcrumbs/Breadcrumbs.config.js +1 -1
  288. package/styled-components/cjs/examples/plasma_web/components/TextArea/TextArea.config.js +18 -9
  289. package/styled-components/cjs/examples/plasma_web/components/TextArea/TextArea.stories.tsx +70 -0
  290. package/styled-components/cjs/examples/plasma_web/components/TextField/TextField.config.js +18 -9
  291. package/styled-components/cjs/examples/plasma_web/components/TextField/TextField.stories.tsx +80 -10
  292. package/styled-components/es/components/Attach/Attach.js +17 -8
  293. package/styled-components/es/components/Attach/Attach.template-doc.mdx +69 -0
  294. package/styled-components/es/components/Autocomplete/Autocomplete.js +6 -2
  295. package/styled-components/es/components/Breadcrumbs/Breadcrumbs.styles.js +2 -5
  296. package/styled-components/es/components/Breadcrumbs/Breadcrumbs.tokens.js +0 -2
  297. package/styled-components/es/components/TextArea/TextArea.js +132 -23
  298. package/styled-components/es/components/TextArea/TextArea.styles.js +84 -41
  299. package/styled-components/es/components/TextArea/TextArea.template-doc.mdx +6 -1
  300. package/styled-components/es/components/TextArea/TextArea.tokens.js +43 -4
  301. package/styled-components/es/components/TextArea/hooks/useAutoResize.js +2 -4
  302. package/styled-components/es/components/TextArea/variations/_clear/base.js +2 -2
  303. package/styled-components/es/components/TextArea/variations/_hint-size/base.js +5 -0
  304. package/styled-components/es/components/TextArea/variations/_hint-size/tokens.json +21 -0
  305. package/styled-components/es/components/TextArea/variations/_hint-view/base.js +5 -0
  306. package/styled-components/es/components/TextArea/variations/_hint-view/tokens.json +5 -0
  307. package/styled-components/es/components/TextArea/variations/_view/base.js +2 -1
  308. package/styled-components/es/components/TextField/TextField.js +117 -10
  309. package/styled-components/es/components/TextField/TextField.styles.js +45 -20
  310. package/styled-components/es/components/TextField/TextField.template-doc.mdx +7 -1
  311. package/styled-components/es/components/TextField/TextField.tokens.js +40 -1
  312. package/styled-components/es/components/TextField/variations/_clear/base.js +2 -2
  313. package/styled-components/es/components/TextField/variations/_hint-size/base.js +5 -0
  314. package/styled-components/es/components/TextField/variations/_hint-size/tokens.json +21 -0
  315. package/styled-components/es/components/TextField/variations/_hint-view/base.js +5 -0
  316. package/styled-components/es/components/TextField/variations/_hint-view/tokens.json +5 -0
  317. package/styled-components/es/components/TextField/variations/_label-placement/base.js +1 -1
  318. package/styled-components/es/components/TextField/variations/_read-only/base.js +2 -2
  319. package/styled-components/es/components/TextField/variations/_size/base.js +2 -2
  320. package/styled-components/es/components/TextField/variations/_view/base.js +2 -2
  321. package/styled-components/es/components/_Icon/Icon.assets/InfoCircleOutline.js +15 -0
  322. package/styled-components/es/components/_Icon/Icons/IconInfoCircleOutline.js +15 -0
  323. package/styled-components/es/components/_Icon/index.js +2 -1
  324. package/styled-components/es/examples/plasma_b2c/components/Breadcrumbs/Breadcrumbs.config.js +1 -1
  325. package/styled-components/es/examples/plasma_b2c/components/TextArea/TextArea.config.js +18 -9
  326. package/styled-components/es/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +70 -0
  327. package/styled-components/es/examples/plasma_b2c/components/TextField/TextField.config.js +18 -9
  328. package/styled-components/es/examples/plasma_b2c/components/TextField/TextField.stories.tsx +71 -1
  329. package/styled-components/es/examples/plasma_web/components/Breadcrumbs/Breadcrumbs.config.js +1 -1
  330. package/styled-components/es/examples/plasma_web/components/TextArea/TextArea.config.js +18 -9
  331. package/styled-components/es/examples/plasma_web/components/TextArea/TextArea.stories.tsx +70 -0
  332. package/styled-components/es/examples/plasma_web/components/TextField/TextField.config.js +18 -9
  333. package/styled-components/es/examples/plasma_web/components/TextField/TextField.stories.tsx +80 -10
  334. package/types/components/Attach/Attach.d.ts.map +1 -1
  335. package/types/components/Attach/Attach.types.d.ts +4 -0
  336. package/types/components/Attach/Attach.types.d.ts.map +1 -1
  337. package/types/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  338. package/types/components/Autocomplete/ui/TextField/TextField.styles.d.ts +424 -0
  339. package/types/components/Autocomplete/ui/TextField/TextField.styles.d.ts.map +1 -1
  340. package/types/components/Breadcrumbs/Breadcrumbs.styles.d.ts.map +1 -1
  341. package/types/components/Breadcrumbs/Breadcrumbs.tokens.d.ts +0 -2
  342. package/types/components/Breadcrumbs/Breadcrumbs.tokens.d.ts.map +1 -1
  343. package/types/components/Combobox/ComboboxNew/ui/Target/Target.styles.d.ts +424 -0
  344. package/types/components/Combobox/ComboboxNew/ui/Target/Target.styles.d.ts.map +1 -1
  345. package/types/components/DatePicker/SingleDate/SingleDate.styles.d.ts +424 -0
  346. package/types/components/DatePicker/SingleDate/SingleDate.styles.d.ts.map +1 -1
  347. package/types/components/Range/Range.styles.d.ts +424 -0
  348. package/types/components/Range/Range.styles.d.ts.map +1 -1
  349. package/types/components/Slider/components/Double/Double.styles.d.ts +424 -0
  350. package/types/components/Slider/components/Double/Double.styles.d.ts.map +1 -1
  351. package/types/components/TextArea/TextArea.d.ts +9 -3
  352. package/types/components/TextArea/TextArea.d.ts.map +1 -1
  353. package/types/components/TextArea/TextArea.styles.d.ts +11 -1
  354. package/types/components/TextArea/TextArea.styles.d.ts.map +1 -1
  355. package/types/components/TextArea/TextArea.tokens.d.ts +39 -0
  356. package/types/components/TextArea/TextArea.tokens.d.ts.map +1 -1
  357. package/types/components/TextArea/TextArea.types.d.ts +83 -3
  358. package/types/components/TextArea/TextArea.types.d.ts.map +1 -1
  359. package/types/components/TextArea/hooks/useAutoResize.d.ts.map +1 -1
  360. package/types/components/TextArea/variations/_clear/base.d.ts.map +1 -1
  361. package/types/components/TextArea/variations/_hint-size/base.d.ts +2 -0
  362. package/types/components/TextArea/variations/_hint-size/base.d.ts.map +1 -0
  363. package/types/components/TextArea/variations/_hint-view/base.d.ts +2 -0
  364. package/types/components/TextArea/variations/_hint-view/base.d.ts.map +1 -0
  365. package/types/components/TextArea/variations/_view/base.d.ts.map +1 -1
  366. package/types/components/TextField/TextField.d.ts +9 -3
  367. package/types/components/TextField/TextField.d.ts.map +1 -1
  368. package/types/components/TextField/TextField.styles.d.ts +8 -0
  369. package/types/components/TextField/TextField.styles.d.ts.map +1 -1
  370. package/types/components/TextField/TextField.tokens.d.ts +39 -0
  371. package/types/components/TextField/TextField.tokens.d.ts.map +1 -1
  372. package/types/components/TextField/TextField.types.d.ts +78 -2
  373. package/types/components/TextField/TextField.types.d.ts.map +1 -1
  374. package/types/components/TextField/variations/_clear/base.d.ts.map +1 -1
  375. package/types/components/TextField/variations/_hint-size/base.d.ts +2 -0
  376. package/types/components/TextField/variations/_hint-size/base.d.ts.map +1 -0
  377. package/types/components/TextField/variations/_hint-view/base.d.ts +2 -0
  378. package/types/components/TextField/variations/_hint-view/base.d.ts.map +1 -0
  379. package/types/components/TextField/variations/_label-placement/base.d.ts.map +1 -1
  380. package/types/components/TextField/variations/_read-only/base.d.ts.map +1 -1
  381. package/types/components/TextField/variations/_size/base.d.ts.map +1 -1
  382. package/types/components/TextField/variations/_view/base.d.ts.map +1 -1
  383. package/types/components/_Icon/Icon.assets/InfoCircleOutline.d.ts +4 -0
  384. package/types/components/_Icon/Icon.assets/InfoCircleOutline.d.ts.map +1 -0
  385. package/types/components/_Icon/Icons/IconInfoCircleOutline.d.ts +4 -0
  386. package/types/components/_Icon/Icons/IconInfoCircleOutline.d.ts.map +1 -0
  387. package/types/components/_Icon/index.d.ts +1 -0
  388. package/types/components/_Icon/index.d.ts.map +1 -1
  389. package/types/examples/plasma_b2c/components/Breadcrumbs/Breadcrumbs.config.d.ts.map +1 -1
  390. package/types/examples/plasma_b2c/components/Mask/Mask.d.ts +788 -12
  391. package/types/examples/plasma_b2c/components/Mask/Mask.d.ts.map +1 -1
  392. package/types/examples/plasma_b2c/components/TextArea/TextArea.config.d.ts +9 -0
  393. package/types/examples/plasma_b2c/components/TextArea/TextArea.config.d.ts.map +1 -1
  394. package/types/examples/plasma_b2c/components/TextArea/TextArea.d.ts +473 -0
  395. package/types/examples/plasma_b2c/components/TextArea/TextArea.d.ts.map +1 -1
  396. package/types/examples/plasma_b2c/components/TextField/TextField.config.d.ts +9 -0
  397. package/types/examples/plasma_b2c/components/TextField/TextField.config.d.ts.map +1 -1
  398. package/types/examples/plasma_b2c/components/TextField/TextField.d.ts +433 -0
  399. package/types/examples/plasma_b2c/components/TextField/TextField.d.ts.map +1 -1
  400. package/types/examples/plasma_web/components/Breadcrumbs/Breadcrumbs.config.d.ts.map +1 -1
  401. package/types/examples/plasma_web/components/Mask/Mask.d.ts +788 -12
  402. package/types/examples/plasma_web/components/Mask/Mask.d.ts.map +1 -1
  403. package/types/examples/plasma_web/components/TextArea/TextArea.config.d.ts +9 -0
  404. package/types/examples/plasma_web/components/TextArea/TextArea.config.d.ts.map +1 -1
  405. package/types/examples/plasma_web/components/TextArea/TextArea.d.ts +473 -0
  406. package/types/examples/plasma_web/components/TextArea/TextArea.d.ts.map +1 -1
  407. package/types/examples/plasma_web/components/TextField/TextField.config.d.ts +9 -0
  408. package/types/examples/plasma_web/components/TextField/TextField.config.d.ts.map +1 -1
  409. package/types/examples/plasma_web/components/TextField/TextField.d.ts +433 -0
  410. package/types/examples/plasma_web/components/TextField/TextField.d.ts.map +1 -1
  411. package/cjs/components/TextArea/TextArea.styles_es0miz.css +0 -11
  412. package/cjs/components/TextArea/variations/_clear/base_vidplj.css +0 -1
  413. package/cjs/components/TextArea/variations/_view/base_td55th.css +0 -1
  414. package/cjs/components/TextField/TextField.styles_1d2ryq.css +0 -15
  415. package/cjs/components/TextField/variations/_clear/base_rit6gc.css +0 -1
  416. package/cjs/components/TextField/variations/_label-placement/base_1ghihns.css +0 -1
  417. package/cjs/components/TextField/variations/_read-only/base_1n7tghz.css +0 -1
  418. package/cjs/components/TextField/variations/_size/base_1h8l0kj.css +0 -1
  419. package/cjs/components/TextField/variations/_view/base_1noe46b.css +0 -1
  420. package/cjs/components/TextFieldGroup/variations/_shape/base_1e0je21.css +0 -1
  421. package/es/components/TextArea/TextArea.styles_es0miz.css +0 -11
  422. package/es/components/TextArea/variations/_clear/base_vidplj.css +0 -1
  423. package/es/components/TextArea/variations/_view/base_td55th.css +0 -1
  424. package/es/components/TextField/TextField.styles_1d2ryq.css +0 -15
  425. package/es/components/TextField/variations/_clear/base_rit6gc.css +0 -1
  426. package/es/components/TextField/variations/_label-placement/base_1ghihns.css +0 -1
  427. package/es/components/TextField/variations/_read-only/base_1n7tghz.css +0 -1
  428. package/es/components/TextField/variations/_size/base_1h8l0kj.css +0 -1
  429. package/es/components/TextField/variations/_view/base_1noe46b.css +0 -1
  430. package/es/components/TextFieldGroup/variations/_shape/base_1e0je21.css +0 -1
@@ -4,7 +4,8 @@ import { action } from '@storybook/addon-actions';
4
4
  import { IconPlaceholder } from '@salutejs/plasma-sb-utils';
5
5
 
6
6
  import { WithTheme } from '../../../_helpers';
7
- import { IconChevronLeft } from '../../../../components/_Icon';
7
+ import { IconCross } from '../../../../components/_Icon';
8
+ import type { PopoverPlacement } from '../Popover/Popover';
8
9
 
9
10
  import { TextField } from './TextField';
10
11
 
@@ -16,7 +17,29 @@ const onChipsChange = action('onChipsChange');
16
17
 
17
18
  const sizes = ['l', 'm', 's', 'xs'];
18
19
  const views = ['default', 'positive', 'warning', 'negative'];
20
+ const hintViews = ['default', 'onDark', 'onLight'];
21
+ const hintSizes = ['m', 's'];
22
+ const hintTriggers = ['hover', 'click'];
19
23
  const labelPlacements = ['outer', 'inner'];
24
+ const placements: Array<PopoverPlacement> = [
25
+ 'top',
26
+ 'top-start',
27
+ 'top-end',
28
+
29
+ 'bottom',
30
+ 'bottom-start',
31
+ 'bottom-end',
32
+
33
+ 'left',
34
+ 'left-start',
35
+ 'left-end',
36
+
37
+ 'right',
38
+ 'right-start',
39
+ 'right-end',
40
+
41
+ 'auto',
42
+ ];
20
43
 
21
44
  const meta: Meta<typeof TextField> = {
22
45
  title: 'plasma_web/TextField',
@@ -70,6 +93,43 @@ const meta: Meta<typeof TextField> = {
70
93
  type: 'inline-radio',
71
94
  },
72
95
  },
96
+ hintView: {
97
+ options: hintViews,
98
+ control: {
99
+ type: 'select',
100
+ },
101
+ if: { arg: 'hasHint', truthy: true },
102
+ },
103
+ hintSize: {
104
+ options: hintSizes,
105
+ control: {
106
+ type: 'select',
107
+ },
108
+ if: { arg: 'hasHint', truthy: true },
109
+ },
110
+ hintTrigger: {
111
+ options: hintTriggers,
112
+ control: {
113
+ type: 'inline-radio',
114
+ },
115
+ if: { arg: 'hasHint', truthy: true },
116
+ },
117
+ hintText: {
118
+ control: { type: 'text' },
119
+ if: { arg: 'hasHint', truthy: true },
120
+ },
121
+ hintPlacement: {
122
+ options: placements,
123
+ control: {
124
+ type: 'select',
125
+ },
126
+ if: { arg: 'hasHint', truthy: true },
127
+ mappers: placements,
128
+ },
129
+ hintHasArrow: {
130
+ control: { type: 'boolean' },
131
+ if: { arg: 'hasHint', truthy: true },
132
+ },
73
133
  },
74
134
  };
75
135
 
@@ -105,13 +165,13 @@ const StoryDemo = ({ enableContentLeft, enableContentRight, view, ...rest }: Sto
105
165
  const iconSize = rest.size === 'xs' ? 'xs' : 's';
106
166
 
107
167
  return (
108
- <div style={{ display: 'flex', flexDirection: 'column', gap: '2rem' }}>
168
+ <div style={{ display: 'flex', flexDirection: 'column', gap: '2rem', width: '70%', margin: '0 auto' }}>
109
169
  <TextField
110
170
  {...rest}
111
171
  enumerationType="plain"
112
172
  value={text}
113
- contentLeft={enableContentLeft ? <IconPlaceholder size={iconSize} /> : undefined}
114
- contentRight={enableContentRight ? <IconPlaceholder size={iconSize} /> : undefined}
173
+ contentLeft={enableContentLeft ? <IconCross color="inherit" size={iconSize} /> : undefined}
174
+ contentRight={enableContentRight ? <IconCross color="inherit" size={iconSize} /> : undefined}
115
175
  view={view}
116
176
  onChange={(e) => {
117
177
  setText(e.target.value);
@@ -145,17 +205,28 @@ export const Default: StoryObj<StoryPropsDefault> = {
145
205
  view: 'default',
146
206
  label: 'Лейбл',
147
207
  labelPlacement: 'outer',
208
+ titleCaption: 'Подпись к полю',
209
+ textBefore: '',
210
+ textAfter: '',
148
211
  placeholder: 'Заполните поле',
149
212
  leftHelper: 'Подсказка к полю',
150
213
  disabled: false,
151
214
  readOnly: false,
152
- required: false,
153
- requiredPlacement: 'right',
154
- optional: false,
155
215
  enableContentLeft: true,
156
216
  enableContentRight: true,
157
217
  clear: false,
158
218
  hasDivider: false,
219
+ optional: false,
220
+ required: false,
221
+ requiredPlacement: 'right',
222
+ hasHint: false,
223
+ hintTrigger: 'hover',
224
+ hintText: 'Текст подсказки',
225
+ hintView: 'default',
226
+ hintSize: 'm',
227
+ hintPlacement: 'auto',
228
+ hintWidth: '10rem',
229
+ hintHasArrow: true,
159
230
  },
160
231
  render: (args) => <StoryDemo {...args} />,
161
232
  };
@@ -176,8 +247,6 @@ type StoryPropsChips = Omit<
176
247
  | 'checked'
177
248
  | 'maxLength'
178
249
  | 'minLength'
179
- | 'required'
180
- | 'optional'
181
250
  | 'enumerationType'
182
251
  > & {
183
252
  enableContentLeft: boolean;
@@ -194,7 +263,7 @@ const StoryChips = ({ enableContentLeft, enableContentRight, view, ...rest }: St
194
263
  {...rest}
195
264
  enumerationType="chip"
196
265
  value={text}
197
- contentLeft={enableContentLeft ? <IconChevronLeft color="inherit" size={iconSize} /> : undefined}
266
+ contentLeft={enableContentLeft ? <IconPlaceholder size={iconSize} /> : undefined}
198
267
  contentRight={enableContentRight ? <IconPlaceholder size={iconSize} /> : undefined}
199
268
  view={view}
200
269
  onChange={(e) => {
@@ -204,6 +273,7 @@ const StoryChips = ({ enableContentLeft, enableContentRight, view, ...rest }: St
204
273
  onFocus={onFocus}
205
274
  onBlur={onBlur}
206
275
  onChangeChips={onChipsChange}
276
+ style={{ width: '70%', margin: '0 auto' }}
207
277
  />
208
278
  );
209
279
  };
@@ -1,5 +1,5 @@
1
1
  var _IconCloseCircleOutli;
2
- var _excluded = ["flow", "buttonType", "hasAttachment", "acceptedFileFormats", "size", "view", "className", "style", "isLoading", "disabled"];
2
+ var _excluded = ["flow", "buttonType", "hasAttachment", "acceptedFileFormats", "size", "view", "className", "style", "isLoading", "disabled", "id", "name", "onChange", "onClear"];
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 _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
5
5
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -36,6 +36,10 @@ export var attachRoot = function attachRoot(Root) {
36
36
  style = props.style,
37
37
  isLoading = props.isLoading,
38
38
  disabled = props.disabled,
39
+ id = props.id,
40
+ name = props.name,
41
+ onChange = props.onChange,
42
+ onClear = props.onClear,
39
43
  rest = _objectWithoutProperties(props, _excluded);
40
44
  var innerRef = useRef(null);
41
45
  var ref = useForkRef(outerRef, innerRef);
@@ -104,16 +108,22 @@ export var attachRoot = function attachRoot(Root) {
104
108
  }
105
109
  inputRef.current.click();
106
110
  };
107
- var handleChange = function handleChange() {
108
- if (!inputRef.current || !inputRef.current.files) {
111
+ var handleChange = function handleChange(e) {
112
+ if (!e.target.files) {
109
113
  return;
110
114
  }
111
- setFilename(inputRef.current.files[0].name);
115
+ if (onChange) {
116
+ onChange(e);
117
+ }
118
+ setFilename(e.target.files[0].name);
112
119
  };
113
120
  var handleClear = function handleClear() {
114
121
  if (!inputRef.current) {
115
122
  return;
116
123
  }
124
+ if (onClear) {
125
+ onClear();
126
+ }
117
127
  inputRef.current.value = '';
118
128
  setFilename('');
119
129
  setTruncatedFilename('');
@@ -128,12 +138,11 @@ export var attachRoot = function attachRoot(Root) {
128
138
  ref: inputRef,
129
139
  accept: accept,
130
140
  type: "file",
131
- id: "attachHiddenInput",
132
- name: "attachHiddenInput",
141
+ id: id,
142
+ name: name,
133
143
  onChange: handleChange
134
144
  }), /*#__PURE__*/React.createElement(StyledHiddenInputHelper, {
135
- ref: inputHelperRef,
136
- id: "attachHiddenInputHelper"
145
+ ref: inputHelperRef
137
146
  }, filename), /*#__PURE__*/React.createElement(AttachButton, _extends({
138
147
  buttonType: buttonType,
139
148
  view: view,
@@ -61,3 +61,72 @@ export function App() {
61
61
  );
62
62
  }
63
63
  ```
64
+
65
+ ### Пример использования в форме
66
+
67
+ ```tsx live
68
+ import React, { useState } from 'react';
69
+ import { Attach, Button } from '@salutejs/{{ package }}';
70
+
71
+ function App() {
72
+ const ids = ['0', '1', '2'];
73
+ const [isLoading, setIsLoading] = useState(false);
74
+ const [attachedFiles, setAttachedFiles] = useState([]);
75
+
76
+ const handleAttachFile = (e) => {
77
+ setAttachedFiles((prevAttachedFiles) => [
78
+ ...prevAttachedFiles,
79
+ {
80
+ fileData: e.target.files[0],
81
+ id: e.target.id,
82
+ },
83
+ ]);
84
+ };
85
+
86
+ const handleAttachClear = (id) => {
87
+ setAttachedFiles(attachedFiles.filter((file) => file.id !== id));
88
+ };
89
+
90
+ const handleSubmit = (e) => {
91
+ e.preventDefault();
92
+ setIsLoading(true);
93
+
94
+ const formData = new FormData(e.target);
95
+ console.log('formData', Object.fromEntries(formData));
96
+
97
+ setTimeout(() => {
98
+ setAttachedFiles([]);
99
+ setIsLoading(false);
100
+ }, 2000);
101
+ };
102
+
103
+ return (
104
+ <>
105
+ <span>{isLoading ? 'Форма отправляется' : 'Прикрепленные файлы:'}</span>
106
+ {!isLoading && attachedFiles.length > 0 && (
107
+ <div style=\{{ display: 'flex', flexDirection: 'column', gap: '0px' }}>
108
+ {attachedFiles.map((file) => (
109
+ <span>{file.fileData.name}</span>
110
+ ))}
111
+ </div>
112
+ )}
113
+
114
+ {!isLoading && (
115
+ <form onSubmit={handleSubmit} style=\{{ display: 'flex', flexDirection: 'column', gap: '30px' }}>
116
+ {ids.map((id) => (
117
+ <Attach
118
+ id={id}
119
+ name={`attach${id}`}
120
+ text={`Загрузить файл ${id}`}
121
+ onChange={handleAttachFile}
122
+ onClear={() => handleAttachClear(id)}
123
+ />
124
+ ))}
125
+
126
+ <Button type="submit">Отправить</Button>
127
+ </form>
128
+ )}
129
+ </>
130
+ );
131
+ }
132
+ ```
@@ -1,4 +1,4 @@
1
- var _excluded = ["value", "onChange", "suggestions", "view", "size", "labelPlacement", "disabled", "readOnly", "label", "leftHelper", "contentLeft", "contentRight", "textBefore", "textAfter", "onScroll", "listMaxHeight", "listWidth", "portal", "filter", "onSuggestionSelect", "threshold", "renderList", "renderListEnd", "onSearch"];
1
+ var _excluded = ["value", "onChange", "suggestions", "view", "size", "labelPlacement", "disabled", "readOnly", "label", "leftHelper", "contentLeft", "contentRight", "textBefore", "textAfter", "onScroll", "listMaxHeight", "listWidth", "portal", "filter", "onSuggestionSelect", "threshold", "renderList", "renderListEnd", "onSearch", "hasHint", "hintText"];
2
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
3
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4
4
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -47,6 +47,8 @@ export var autocompleteRoot = function autocompleteRoot(Root) {
47
47
  renderList = _ref.renderList,
48
48
  renderListEnd = _ref.renderListEnd,
49
49
  onSearch = _ref.onSearch,
50
+ hasHint = _ref.hasHint,
51
+ hintText = _ref.hintText,
50
52
  rest = _objectWithoutProperties(_ref, _excluded);
51
53
  var _useReducer = useReducer(focusedReducer, null),
52
54
  _useReducer2 = _slicedToArray(_useReducer, 2),
@@ -144,7 +146,9 @@ export var autocompleteRoot = function autocompleteRoot(Root) {
144
146
  "aria-controls": listId,
145
147
  "aria-expanded": isOpen,
146
148
  "aria-activedescendant": "".concat(listId, "/").concat(focused),
147
- "aria-describedby": helperTextId
149
+ "aria-describedby": helperTextId,
150
+ hasHint: Boolean(hasHint),
151
+ hintText: String(hintText || '')
148
152
  }, rest)),
149
153
  preventOverflow: false,
150
154
  ref: targetRef,
@@ -9,15 +9,12 @@ var mergedLinkConfig = /*#__PURE__*/mergeConfig(linkConfig);
9
9
  var Link = /*#__PURE__*/component(mergedLinkConfig);
10
10
  export var StyledLink = /*#__PURE__*/styled(Link).withConfig({
11
11
  componentId: "plasma-new-hope__sc-4bjoev-0"
12
- })(["opacity:", ";cursor:", ";color:", ";--plasma-link-disabled-opacity:var(", ");", ""], function (_ref) {
12
+ })(["opacity:", ";cursor:", ";--plasma-link-disabled-opacity:var(", ");", ""], function (_ref) {
13
13
  var isHref = _ref.isHref;
14
14
  return isHref ? 1 : "var(".concat(tokens.breadcrumbsOpacity, ")");
15
15
  }, function (_ref2) {
16
16
  var isHref = _ref2.isHref;
17
17
  return isHref ? 'pointer' : 'auto';
18
- }, function (_ref3) {
19
- var isHref = _ref3.isHref;
20
- return isHref ? "var(".concat(tokens.breadcrumbsColor, ")") : "var(".concat(tokens.breadcrumbsColorText, ")");
21
18
  }, tokens.breadcrumbsOpacity, /*#__PURE__*/addFocus({
22
19
  outlineOffset: '0rem',
23
20
  outlineSize: '0.125rem',
@@ -27,4 +24,4 @@ export var StyledLink = /*#__PURE__*/styled(Link).withConfig({
27
24
  export var base = /*#__PURE__*/css(["display:flex;flex-direction:row;align-items:center;gap:var(", ");color:var(", ");font-family:var(", ");font-size:var(", ");font-weight:var(", ");font-style:var(", ");letter-spacing:var(", ");line-height:var(", ");"], tokens.breadcrumbsGap, tokens.breadcrumbsColor, tokens.breadcrumbsFontFamily, tokens.breadcrumbsFontSize, tokens.breadcrumbsFontWeight, tokens.breadcrumbsFontStyle, tokens.breadcrumbsLetterSpacing, tokens.breadcrumbsLineHeight);
28
25
  export var Separator = /*#__PURE__*/styled(IconDisclosureRight).withConfig({
29
26
  componentId: "plasma-new-hope__sc-4bjoev-1"
30
- })(["color:var(", ");opacity:var(", ");"], tokens.breadcrumbsColorSeparator, tokens.breadcrumbsOpacity);
27
+ })(["color:var(", ");opacity:var(", ");"], tokens.breadcrumbsColor, tokens.breadcrumbsOpacity);
@@ -5,8 +5,6 @@ export var tokens = {
5
5
  breadcrumbsGap: '--plasma-breadcrumbs-gap',
6
6
  breadcrumbsOpacity: '--plasma-breadcrumbs-opacity',
7
7
  breadcrumbsFocusOutlineColor: '--plasma-breadcrumbs-focus-outline-color',
8
- breadcrumbsColorSeparator: '--plasma-breadcrumbs-color-separator',
9
- breadcrumbsColorText: '--plasma-breadcrumbs-color-text',
10
8
  breadcrumbsColor: '--plasma-breadcrumbs-color',
11
9
  breadcrumbsFontFamily: '--plasma-breadcrumbs-font-family',
12
10
  breadcrumbsFontSize: '--plasma-breadcrumbs-font-size',
@@ -1,10 +1,11 @@
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"];
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); }
2
+ var _IconInfoCircleOutlin, _IconInfoCircleOutlin2;
3
+ 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", "hasHint", "hintTrigger", "hintText", "hintView", "hintSize", "hintTargetIcon", "hintPlacement", "hintHasArrow", "hintOffset", "hintWidth", "hintContentLeft", "onChange"];
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."); }
6
6
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
7
7
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
8
+ 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); }
8
9
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
9
10
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
10
11
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
@@ -18,18 +19,22 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
18
19
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
19
20
  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
21
  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';
22
+ import React, { forwardRef, useState, createRef, useCallback, useRef } from 'react';
22
23
  import { css } from 'styled-components';
23
- import { useResizeObserver } from '@salutejs/plasma-core';
24
- import { cx, mergeRefs } from '../../utils';
24
+ import { useForkRef, useResizeObserver } from '@salutejs/plasma-core';
25
+ import { cx, mergeRefs, safeUseId } from '../../utils';
26
+ import { IconInfoCircleOutline } from '../_Icon';
27
+ import { useOutsideClick } from '../../hooks';
25
28
  import { applyDynamicLabel } from './mixins';
26
29
  import { useAutoResize, ROOT_FONT_SIZE } from './hooks';
27
- import { StyledContent, StyledHelpers, StyledLeftHelper, StyledRightHelper, StyledLabel, StyledPlaceholder, StyledTextArea, StyledTextAreaWrapper, StyledContainer, StyledIndicator, StyledOptionalText } from './TextArea.styles';
30
+ import { StyledContent, StyledHelpers, StyledLeftHelper, StyledRightHelper, StyledLabel, StyledPlaceholder, StyledTextArea, StyledTextAreaWrapper, StyledContainer, StyledIndicator, StyledOptionalText, OuterLabelWrapper, StyledIndicatorWrapper, StyledHintWrapper, HintTargetWrapper, TitleCaption, Hint } from './TextArea.styles';
28
31
  import { classes } from './TextArea.tokens';
29
32
  import { base as viewCSS } from './variations/_view/base';
30
33
  import { base as sizeCSS } from './variations/_size/base';
31
34
  import { base as clearCSS } from './variations/_clear/base';
32
35
  import { base as disabledCSS } from './variations/_disabled/base';
36
+ import { base as hintViewCSS } from './variations/_hint-view/base';
37
+ import { base as hintSizeCSS } from './variations/_hint-size/base';
33
38
  var innerPlaceholderUp = classes.innerPlaceholderUp,
34
39
  focusedOuterPlaceholderColor = classes.focusedOuterPlaceholderColor,
35
40
  hidePlaceHolder = classes.hidePlaceHolder,
@@ -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,47 @@ export var textAreaRoot = function textAreaRoot(Root) {
106
112
  readOnly = props.readOnly,
107
113
  rows = props.rows,
108
114
  cols = props.cols,
115
+ hasHint = props.hasHint,
116
+ _props$hintTrigger = props.hintTrigger,
117
+ hintTrigger = _props$hintTrigger === void 0 ? 'hover' : _props$hintTrigger,
118
+ hintText = props.hintText,
119
+ _props$hintView = props.hintView,
120
+ hintView = _props$hintView === void 0 ? 'default' : _props$hintView,
121
+ _props$hintSize = props.hintSize,
122
+ hintSize = _props$hintSize === void 0 ? 'm' : _props$hintSize,
123
+ hintTargetIcon = props.hintTargetIcon,
124
+ _props$hintPlacement = props.hintPlacement,
125
+ hintPlacement = _props$hintPlacement === void 0 ? 'auto' : _props$hintPlacement,
126
+ hintHasArrow = props.hintHasArrow,
127
+ _props$hintOffset = props.hintOffset,
128
+ hintOffset = _props$hintOffset === void 0 ? [0, 0] : _props$hintOffset,
129
+ hintWidth = props.hintWidth,
130
+ hintContentLeft = props.hintContentLeft,
109
131
  onChange = props.onChange,
110
132
  rest = _objectWithoutProperties(props, _excluded);
111
- var _useState = useState(width ? "".concat(width, "rem") : '100%'),
133
+ var _useState = useState(false),
112
134
  _useState2 = _slicedToArray(_useState, 2),
113
- helperWidth = _useState2[0],
114
- setHelperWidth = _useState2[1];
115
- var _useState3 = useState(false),
135
+ showHint = _useState2[0],
136
+ setShowHint = _useState2[1];
137
+ var _useState3 = useState(width ? "".concat(width, "rem") : '100%'),
116
138
  _useState4 = _slicedToArray(_useState3, 2),
117
- focused = _useState4[0],
118
- setFocused = _useState4[1];
119
- var _useState5 = useState(),
139
+ helperWidth = _useState4[0],
140
+ setHelperWidth = _useState4[1];
141
+ var _useState5 = useState(false),
120
142
  _useState6 = _slicedToArray(_useState5, 2),
121
- uncontrolledValue = _useState6[0],
122
- setUncontrolledValue = _useState6[1];
143
+ focused = _useState6[0],
144
+ setFocused = _useState6[1];
145
+ var _useState7 = useState(),
146
+ _useState8 = _slicedToArray(_useState7, 2),
147
+ uncontrolledValue = _useState8[0],
148
+ setUncontrolledValue = _useState8[1];
123
149
  var outerRef = /*#__PURE__*/createRef();
150
+ var hintId = safeUseId();
151
+ var hintRef = useOutsideClick(function () {
152
+ setShowHint(false);
153
+ });
154
+ var hintInnerRef = useRef(null);
155
+ var hintForkRef = useForkRef(hintRef, hintInnerRef);
124
156
  var innerOptional = required ? false : optional;
125
157
  var hasHelper = Boolean(leftHelper || rightHelper || helperText);
126
158
  var hasOuterLabel = Boolean(label && labelPlacement === 'outer');
@@ -131,9 +163,27 @@ export var textAreaRoot = function textAreaRoot(Root) {
131
163
  var applyCustomWidth = resize !== 'horizontal' && resize !== 'both' && !cols;
132
164
  var placeholderLabel = hasInnerLabel ? label : placeholder;
133
165
  var clearClass = clear ? classes.clear : undefined;
166
+ var hasHintClass = hasHint ? classes.hasHint : undefined;
134
167
  var hasRightContentClass = contentRight ? classes.hasRightContent : undefined;
135
168
  var hasDividerClass = hasDivider ? classes.hasDivider : undefined;
136
169
  var requiredPlacementClass = requiredPlacement === 'right' ? 'align-right ' : undefined;
170
+ var handleShowHint = function handleShowHint() {
171
+ return setShowHint(true);
172
+ };
173
+ var handleHideHint = function handleHideHint() {
174
+ return setShowHint(false);
175
+ };
176
+ var handleClickHint = function handleClickHint(event) {
177
+ if (hasHint && hintTrigger === 'click') {
178
+ var _hintInnerRef$current;
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
+ setShowHint(true);
184
+ }
185
+ }
186
+ };
137
187
  useResizeObserver(outerRef, function (currentElement) {
138
188
  var inlineWidth = currentElement.style.width;
139
189
  if (inlineWidth || cols) {
@@ -164,8 +214,10 @@ export var textAreaRoot = function textAreaRoot(Root) {
164
214
  value: value || uncontrolledValue || defaultValue,
165
215
  rows: rows
166
216
  }, focused);
167
- var optionalTextNode = innerOptional ? /*#__PURE__*/React.createElement(StyledOptionalText, null, Boolean(hasPlaceholderOptional ? placeholderLabel : label) && '\xa0', optionalText) : null;
168
- return /*#__PURE__*/React.createElement(Root, {
217
+ var optionalTextNode = innerOptional ? /*#__PURE__*/React.createElement(StyledOptionalText, {
218
+ inheritFont: !hasOuterLabel
219
+ }, Boolean(hasPlaceholderOptional ? placeholderLabel : label) && '\xa0', optionalText) : null;
220
+ return /*#__PURE__*/React.createElement(Root, _extends({
169
221
  view: overriddenView,
170
222
  size: size,
171
223
  disabled: disabled,
@@ -174,17 +226,68 @@ export var textAreaRoot = function textAreaRoot(Root) {
174
226
  style: _objectSpread({
175
227
  width: helperWidth
176
228
  }, style),
177
- className: cx(clearClass, hasDividerClass, className)
178
- }, hasOuterLabel && /*#__PURE__*/React.createElement(StyledLabel, null, required && /*#__PURE__*/React.createElement(StyledIndicator, {
179
- className: cx(classes.outerLabelPlacement, requiredPlacementClass)
180
- }), label, optionalTextNode), /*#__PURE__*/React.createElement(StyledContainer, {
229
+ className: cx(clearClass, hasDividerClass, hasHintClass, className)
230
+ }, hasHint && {
231
+ hintView: hintView || 'default',
232
+ hintSize: hintSize || 'm'
233
+ }), (hasOuterLabel || titleCaption) && /*#__PURE__*/React.createElement(OuterLabelWrapper, {
234
+ isInnnerLabel: labelPlacement === 'inner'
235
+ }, hasOuterLabel && /*#__PURE__*/React.createElement(StyledIndicatorWrapper, null, /*#__PURE__*/React.createElement(StyledLabel, null, label), hasHint && /*#__PURE__*/React.createElement(StyledHintWrapper, null, /*#__PURE__*/React.createElement(Hint, {
236
+ text: String(hintText),
237
+ opened: showHint,
238
+ target: /*#__PURE__*/React.createElement(HintTargetWrapper, _extends({
239
+ id: hintId
240
+ }, hintTrigger === 'hover' ? {
241
+ onMouseEnter: handleShowHint,
242
+ onMouseLeave: handleHideHint
243
+ } : {
244
+ onClick: handleClickHint
245
+ }), hintTargetIcon || _IconInfoCircleOutlin || (_IconInfoCircleOutlin = /*#__PURE__*/React.createElement(IconInfoCircleOutline, {
246
+ size: "xs",
247
+ color: "inherit"
248
+ }))),
249
+ placement: hintPlacement,
250
+ hasArrow: hintHasArrow,
251
+ offset: hintOffset,
252
+ minWidth: hintWidth,
253
+ maxWidth: hintWidth,
254
+ contentLeft: hintContentLeft,
255
+ frame: hintId,
256
+ ref: hintForkRef
257
+ })), required && /*#__PURE__*/React.createElement(StyledIndicator, {
258
+ className: cx(classes.outerLabelPlacement, requiredPlacementClass, hasHintClass)
259
+ }), optionalTextNode), titleCaption && /*#__PURE__*/React.createElement(TitleCaption, null, titleCaption)), /*#__PURE__*/React.createElement(StyledContainer, {
181
260
  className: cx.apply(void 0, [styledContainer].concat(_toConsumableArray(dynamicLabelClasses))),
182
261
  width: helperWidth,
183
262
  onFocus: onFocusHandler,
184
263
  onBlur: onBlurHandler
185
- }, required && !hasOuterLabel && /*#__PURE__*/React.createElement(StyledIndicator, {
264
+ }, !hasOuterLabel && /*#__PURE__*/React.createElement(React.Fragment, null, required && /*#__PURE__*/React.createElement(StyledIndicator, {
186
265
  className: cx(classes.innerLabelPlacement, requiredPlacementClass)
187
- }), contentRight && /*#__PURE__*/React.createElement(StyledContent, null, contentRight), /*#__PURE__*/React.createElement(StyledTextAreaWrapper, {
266
+ }), hasHint && /*#__PURE__*/React.createElement(StyledHintWrapper, {
267
+ className: classes.innerLabelPlacement
268
+ }, /*#__PURE__*/React.createElement(Hint, {
269
+ text: String(hintText),
270
+ opened: showHint,
271
+ target: /*#__PURE__*/React.createElement(HintTargetWrapper, _extends({
272
+ id: hintId
273
+ }, hintTrigger === 'hover' ? {
274
+ onMouseEnter: handleShowHint,
275
+ onMouseLeave: handleHideHint
276
+ } : {
277
+ onClick: handleClickHint
278
+ }), hintTargetIcon || _IconInfoCircleOutlin2 || (_IconInfoCircleOutlin2 = /*#__PURE__*/React.createElement(IconInfoCircleOutline, {
279
+ size: "xs",
280
+ color: "inherit"
281
+ }))),
282
+ placement: hintPlacement,
283
+ hasArrow: hintHasArrow,
284
+ offset: hintOffset,
285
+ minWidth: hintWidth,
286
+ maxWidth: hintWidth,
287
+ contentLeft: hintContentLeft,
288
+ frame: hintId,
289
+ ref: hintForkRef
290
+ }))), contentRight && /*#__PURE__*/React.createElement(StyledContent, null, contentRight), /*#__PURE__*/React.createElement(StyledTextAreaWrapper, {
188
291
  className: styledTextAreaWrapper,
189
292
  hasHelper: hasHelper
190
293
  }, /*#__PURE__*/React.createElement(StyledTextArea, _extends({
@@ -238,6 +341,12 @@ export var textAreaConfig = {
238
341
  },
239
342
  readOnly: {
240
343
  attrs: true
344
+ },
345
+ hintView: {
346
+ css: hintViewCSS
347
+ },
348
+ hintSize: {
349
+ css: hintSizeCSS
241
350
  }
242
351
  },
243
352
  defaults: {