@salutejs/plasma-new-hope 0.138.0-canary.1415.10666679454.0 → 0.139.0-canary.1352.10686935940.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (495) hide show
  1. package/cjs/components/Autocomplete/Autocomplete.css +16 -12
  2. package/cjs/components/DatePicker/RangeDate/RangeDate.css +16 -12
  3. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +16 -12
  4. package/cjs/components/DatePicker/SingleDate/SingleDate.css +16 -12
  5. package/cjs/components/Popup/PopupContext.js +1 -1
  6. package/cjs/components/Popup/PopupContext.js.map +1 -1
  7. package/cjs/components/Range/Range.css +16 -12
  8. package/cjs/components/Slider/Slider.css +16 -12
  9. package/cjs/components/Slider/components/Double/Double.css +16 -12
  10. package/cjs/components/TextArea/TextArea.js +22 -7
  11. package/cjs/components/TextArea/TextArea.js.map +1 -1
  12. package/cjs/components/TextArea/TextArea.styles.js +47 -35
  13. package/cjs/components/TextArea/TextArea.styles.js.map +1 -1
  14. package/cjs/components/TextArea/TextArea.styles_1fyj8ox.css +11 -0
  15. package/cjs/components/TextArea/TextArea.tokens.js +13 -2
  16. package/cjs/components/TextArea/TextArea.tokens.js.map +1 -1
  17. package/cjs/components/TextField/TextField.js +47 -20
  18. package/cjs/components/TextField/TextField.js.map +1 -1
  19. package/cjs/components/TextField/TextField.styles.js +31 -7
  20. package/cjs/components/TextField/TextField.styles.js.map +1 -1
  21. package/cjs/components/TextField/TextField.styles_u6pm7v.css +14 -0
  22. package/cjs/components/TextField/TextField.tokens.js +11 -2
  23. package/cjs/components/TextField/TextField.tokens.js.map +1 -1
  24. package/cjs/components/TextField/TextField_1lzb2r1.css +1 -0
  25. package/cjs/components/TextField/variations/_label-placement/base.js +1 -1
  26. package/cjs/components/TextField/variations/_label-placement/base.js.map +1 -1
  27. package/cjs/components/TextField/variations/_label-placement/base_1dbnupp.css +1 -0
  28. package/cjs/components/TextField/variations/_read-only/base.js +1 -1
  29. package/cjs/components/TextField/variations/_read-only/base.js.map +1 -1
  30. package/cjs/components/TextField/variations/_read-only/base_4tqave.css +1 -0
  31. package/cjs/components/TextField/variations/_size/base.js +1 -1
  32. package/cjs/components/TextField/variations/_size/base.js.map +1 -1
  33. package/cjs/components/TextField/variations/_size/base_uk56yo.css +1 -0
  34. package/cjs/components/TextField/variations/_view/base.js +1 -1
  35. package/cjs/components/TextField/variations/_view/base.js.map +1 -1
  36. package/cjs/components/TextField/variations/_view/{base_18ea6z7.css → base_uszjx8.css} +1 -1
  37. package/cjs/components/TextFieldGroup/TextFieldGroup.css +11 -0
  38. package/cjs/components/{InputGroup/InputGroup.js → TextFieldGroup/TextFieldGroup.js} +18 -18
  39. package/cjs/components/TextFieldGroup/TextFieldGroup.js.map +1 -0
  40. package/cjs/components/TextFieldGroup/TextFieldGroup.styles.js +9 -0
  41. package/cjs/components/TextFieldGroup/TextFieldGroup.styles.js.map +1 -0
  42. package/cjs/components/TextFieldGroup/TextFieldGroup.styles_soj2wl.css +1 -0
  43. package/cjs/components/TextFieldGroup/TextFieldGroup.tokens.js +94 -0
  44. package/cjs/components/TextFieldGroup/TextFieldGroup.tokens.js.map +1 -0
  45. package/cjs/components/{InputGroup/variations/_shape → TextFieldGroup/variations/_gap}/base.js +2 -2
  46. package/cjs/components/TextFieldGroup/variations/_gap/base.js.map +1 -0
  47. package/cjs/components/TextFieldGroup/variations/_gap/base_147olfn.css +1 -0
  48. package/cjs/components/{InputGroup/variations/_gap → TextFieldGroup/variations/_orientation}/base.js +2 -2
  49. package/cjs/components/TextFieldGroup/variations/_orientation/base.js.map +1 -0
  50. package/cjs/components/TextFieldGroup/variations/_orientation/base_you2ou.css +1 -0
  51. package/cjs/components/{InputGroup/variations/_size → TextFieldGroup/variations/_shape}/base.js +2 -2
  52. package/cjs/components/TextFieldGroup/variations/_shape/base.js.map +1 -0
  53. package/cjs/components/TextFieldGroup/variations/_shape/base_1e0je21.css +1 -0
  54. package/cjs/components/{InputGroup/variations/_orientation → TextFieldGroup/variations/_size}/base.js +2 -2
  55. package/cjs/components/TextFieldGroup/variations/_size/base.js.map +1 -0
  56. package/cjs/components/TextFieldGroup/variations/_size/base_4d2o9y.css +1 -0
  57. package/cjs/components/TextFieldGroup/variations/_stretching/base.js +9 -0
  58. package/cjs/components/TextFieldGroup/variations/_stretching/base.js.map +1 -0
  59. package/cjs/components/TextFieldGroup/variations/_stretching/base_1m1ul70.css +1 -0
  60. package/cjs/index.css +33 -27
  61. package/cjs/index.js +6 -6
  62. package/emotion/cjs/components/Popup/PopupContext.js +1 -1
  63. package/emotion/cjs/components/TextArea/TextArea.js +23 -8
  64. package/emotion/cjs/components/TextArea/TextArea.styles.js +27 -19
  65. package/emotion/cjs/components/TextArea/TextArea.template-doc.mdx +29 -3
  66. package/emotion/cjs/components/TextArea/TextArea.tokens.js +13 -2
  67. package/emotion/cjs/components/TextArea/variations/_size/tokens.json +7 -1
  68. package/emotion/cjs/components/TextField/TextField.js +51 -24
  69. package/emotion/cjs/components/TextField/TextField.styles.js +57 -25
  70. package/emotion/cjs/components/TextField/TextField.template-doc.mdx +27 -1
  71. package/emotion/cjs/components/TextField/TextField.tokens.js +11 -2
  72. package/emotion/cjs/components/TextField/variations/_label-placement/base.js +1 -1
  73. package/emotion/cjs/components/TextField/variations/_read-only/base.js +1 -1
  74. package/emotion/cjs/components/TextField/variations/_size/base.js +1 -1
  75. package/emotion/cjs/components/TextField/variations/_size/tokens.json +6 -0
  76. package/emotion/cjs/components/TextField/variations/_view/base.js +1 -1
  77. package/emotion/cjs/components/{InputGroup/InputGroup.js → TextFieldGroup/TextFieldGroup.js} +16 -16
  78. package/emotion/cjs/components/{InputGroup/InputGroup.styles.js → TextFieldGroup/TextFieldGroup.styles.js} +1 -1
  79. package/emotion/{es/components/InputGroup/InputGroup.template-doc.mdx → cjs/components/TextFieldGroup/TextFieldGroup.template-doc.mdx} +31 -31
  80. package/emotion/cjs/components/TextFieldGroup/TextFieldGroup.tokens.js +92 -0
  81. package/emotion/cjs/components/TextFieldGroup/index.js +31 -0
  82. package/emotion/cjs/components/TextFieldGroup/variations/_gap/base.js +9 -0
  83. package/emotion/cjs/components/TextFieldGroup/variations/_gap/tokens.json +1 -0
  84. package/emotion/cjs/components/TextFieldGroup/variations/_orientation/base.js +9 -0
  85. package/emotion/cjs/components/TextFieldGroup/variations/_orientation/tokens.json +1 -0
  86. package/emotion/cjs/components/TextFieldGroup/variations/_shape/base.js +11 -0
  87. package/emotion/cjs/components/TextFieldGroup/variations/_shape/tokens.json +1 -0
  88. package/emotion/cjs/components/TextFieldGroup/variations/_size/base.js +10 -0
  89. package/emotion/cjs/components/TextFieldGroup/variations/_size/tokens.json +58 -0
  90. package/emotion/cjs/components/TextFieldGroup/variations/_stretching/base.js +9 -0
  91. package/emotion/cjs/examples/plasma_b2c/components/TextArea/TextArea.config.js +9 -9
  92. package/emotion/cjs/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +9 -0
  93. package/emotion/cjs/examples/plasma_b2c/components/TextField/TextField.config.js +12 -12
  94. package/emotion/cjs/examples/plasma_b2c/components/TextField/TextField.stories.tsx +9 -1
  95. package/emotion/cjs/examples/plasma_b2c/components/TextFieldGroup/TextFieldGroup.config.js +38 -0
  96. package/emotion/cjs/examples/plasma_b2c/components/TextFieldGroup/TextFieldGroup.js +11 -0
  97. package/emotion/cjs/examples/plasma_b2c/components/{InputGroup/InputGroup.stories.tsx → TextFieldGroup/TextFieldGroup.stories.tsx} +11 -11
  98. package/emotion/cjs/examples/plasma_web/components/TextArea/TextArea.config.js +9 -9
  99. package/emotion/cjs/examples/plasma_web/components/TextArea/TextArea.stories.tsx +10 -0
  100. package/emotion/cjs/examples/plasma_web/components/TextField/TextField.config.js +12 -12
  101. package/emotion/cjs/examples/plasma_web/components/TextField/TextField.stories.tsx +10 -0
  102. package/emotion/cjs/examples/plasma_web/components/TextFieldGroup/TextFieldGroup.config.js +38 -0
  103. package/emotion/cjs/examples/plasma_web/components/TextFieldGroup/TextFieldGroup.js +11 -0
  104. package/emotion/{es/examples/plasma_b2c/components/InputGroup/InputGroup.stories.tsx → cjs/examples/plasma_web/components/TextFieldGroup/TextFieldGroup.stories.tsx} +11 -11
  105. package/emotion/cjs/index.js +4 -4
  106. package/emotion/es/components/Popup/PopupContext.js +1 -1
  107. package/emotion/es/components/TextArea/TextArea.js +24 -9
  108. package/emotion/es/components/TextArea/TextArea.styles.js +27 -19
  109. package/emotion/es/components/TextArea/TextArea.template-doc.mdx +29 -3
  110. package/emotion/es/components/TextArea/TextArea.tokens.js +13 -2
  111. package/emotion/es/components/TextArea/variations/_size/tokens.json +7 -1
  112. package/emotion/es/components/TextField/TextField.js +52 -25
  113. package/emotion/es/components/TextField/TextField.styles.js +56 -24
  114. package/emotion/es/components/TextField/TextField.template-doc.mdx +27 -1
  115. package/emotion/es/components/TextField/TextField.tokens.js +11 -2
  116. package/emotion/es/components/TextField/variations/_label-placement/base.js +2 -2
  117. package/emotion/es/components/TextField/variations/_read-only/base.js +2 -2
  118. package/emotion/es/components/TextField/variations/_size/base.js +2 -2
  119. package/emotion/es/components/TextField/variations/_size/tokens.json +6 -0
  120. package/emotion/es/components/TextField/variations/_view/base.js +2 -2
  121. package/emotion/es/components/{InputGroup/InputGroup.js → TextFieldGroup/TextFieldGroup.js} +10 -10
  122. package/emotion/es/components/{InputGroup/InputGroup.styles.js → TextFieldGroup/TextFieldGroup.styles.js} +1 -1
  123. package/{styled-components/cjs/components/InputGroup/InputGroup.template-doc.mdx → emotion/es/components/TextFieldGroup/TextFieldGroup.template-doc.mdx} +31 -31
  124. package/emotion/es/components/TextFieldGroup/TextFieldGroup.tokens.js +86 -0
  125. package/emotion/es/components/TextFieldGroup/index.js +2 -0
  126. package/emotion/es/components/TextFieldGroup/variations/_gap/base.js +3 -0
  127. package/emotion/es/components/TextFieldGroup/variations/_gap/tokens.json +1 -0
  128. package/emotion/es/components/TextFieldGroup/variations/_orientation/base.js +3 -0
  129. package/emotion/es/components/TextFieldGroup/variations/_orientation/tokens.json +1 -0
  130. package/emotion/es/components/TextFieldGroup/variations/_shape/base.js +5 -0
  131. package/emotion/es/components/TextFieldGroup/variations/_shape/tokens.json +1 -0
  132. package/emotion/es/components/TextFieldGroup/variations/_size/base.js +4 -0
  133. package/emotion/es/components/TextFieldGroup/variations/_size/tokens.json +58 -0
  134. package/emotion/es/components/TextFieldGroup/variations/_stretching/base.js +3 -0
  135. package/emotion/es/examples/plasma_b2c/components/TextArea/TextArea.config.js +9 -9
  136. package/emotion/es/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +9 -0
  137. package/emotion/es/examples/plasma_b2c/components/TextField/TextField.config.js +12 -12
  138. package/emotion/es/examples/plasma_b2c/components/TextField/TextField.stories.tsx +9 -1
  139. package/emotion/es/examples/plasma_b2c/components/TextFieldGroup/TextFieldGroup.config.js +32 -0
  140. package/emotion/es/examples/plasma_b2c/components/TextFieldGroup/TextFieldGroup.js +5 -0
  141. package/emotion/es/examples/{plasma_web/components/InputGroup/InputGroup.stories.tsx → plasma_b2c/components/TextFieldGroup/TextFieldGroup.stories.tsx} +11 -11
  142. package/emotion/es/examples/plasma_web/components/TextArea/TextArea.config.js +9 -9
  143. package/emotion/es/examples/plasma_web/components/TextArea/TextArea.stories.tsx +10 -0
  144. package/emotion/es/examples/plasma_web/components/TextField/TextField.config.js +12 -12
  145. package/emotion/es/examples/plasma_web/components/TextField/TextField.stories.tsx +10 -0
  146. package/emotion/es/examples/plasma_web/components/TextFieldGroup/TextFieldGroup.config.js +32 -0
  147. package/emotion/es/examples/plasma_web/components/TextFieldGroup/TextFieldGroup.js +5 -0
  148. package/emotion/{cjs/examples/plasma_web/components/InputGroup/InputGroup.stories.tsx → es/examples/plasma_web/components/TextFieldGroup/TextFieldGroup.stories.tsx} +11 -11
  149. package/emotion/es/index.js +1 -1
  150. package/es/components/Autocomplete/Autocomplete.css +16 -12
  151. package/es/components/DatePicker/RangeDate/RangeDate.css +16 -12
  152. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +16 -12
  153. package/es/components/DatePicker/SingleDate/SingleDate.css +16 -12
  154. package/es/components/Popup/PopupContext.js +1 -1
  155. package/es/components/Popup/PopupContext.js.map +1 -1
  156. package/es/components/Range/Range.css +16 -12
  157. package/es/components/Slider/Slider.css +16 -12
  158. package/es/components/Slider/components/Double/Double.css +16 -12
  159. package/es/components/TextArea/TextArea.js +23 -8
  160. package/es/components/TextArea/TextArea.js.map +1 -1
  161. package/es/components/TextArea/TextArea.styles.js +46 -36
  162. package/es/components/TextArea/TextArea.styles.js.map +1 -1
  163. package/es/components/TextArea/TextArea.styles_1fyj8ox.css +11 -0
  164. package/es/components/TextArea/TextArea.tokens.js +13 -2
  165. package/es/components/TextArea/TextArea.tokens.js.map +1 -1
  166. package/es/components/TextField/TextField.js +48 -21
  167. package/es/components/TextField/TextField.js.map +1 -1
  168. package/es/components/TextField/TextField.styles.js +28 -8
  169. package/es/components/TextField/TextField.styles.js.map +1 -1
  170. package/es/components/TextField/TextField.styles_u6pm7v.css +14 -0
  171. package/es/components/TextField/TextField.tokens.js +11 -2
  172. package/es/components/TextField/TextField.tokens.js.map +1 -1
  173. package/es/components/TextField/TextField_1lzb2r1.css +1 -0
  174. package/es/components/TextField/variations/_label-placement/base.js +1 -1
  175. package/es/components/TextField/variations/_label-placement/base.js.map +1 -1
  176. package/es/components/TextField/variations/_label-placement/base_1dbnupp.css +1 -0
  177. package/es/components/TextField/variations/_read-only/base.js +1 -1
  178. package/es/components/TextField/variations/_read-only/base.js.map +1 -1
  179. package/es/components/TextField/variations/_read-only/base_4tqave.css +1 -0
  180. package/es/components/TextField/variations/_size/base.js +1 -1
  181. package/es/components/TextField/variations/_size/base.js.map +1 -1
  182. package/es/components/TextField/variations/_size/base_uk56yo.css +1 -0
  183. package/es/components/TextField/variations/_view/base.js +1 -1
  184. package/es/components/TextField/variations/_view/base.js.map +1 -1
  185. package/es/components/TextField/variations/_view/{base_18ea6z7.css → base_uszjx8.css} +1 -1
  186. package/es/components/TextFieldGroup/TextFieldGroup.css +11 -0
  187. package/es/components/{InputGroup/InputGroup.js → TextFieldGroup/TextFieldGroup.js} +12 -12
  188. package/es/components/TextFieldGroup/TextFieldGroup.js.map +1 -0
  189. package/es/components/TextFieldGroup/TextFieldGroup.styles.js +5 -0
  190. package/es/components/TextFieldGroup/TextFieldGroup.styles.js.map +1 -0
  191. package/es/components/TextFieldGroup/TextFieldGroup.styles_soj2wl.css +1 -0
  192. package/es/components/TextFieldGroup/TextFieldGroup.tokens.js +89 -0
  193. package/es/components/TextFieldGroup/TextFieldGroup.tokens.js.map +1 -0
  194. package/es/components/TextFieldGroup/variations/_gap/base.js +5 -0
  195. package/es/components/TextFieldGroup/variations/_gap/base.js.map +1 -0
  196. package/es/components/TextFieldGroup/variations/_gap/base_147olfn.css +1 -0
  197. package/es/components/{InputGroup/variations/_shape → TextFieldGroup/variations/_orientation}/base.js +2 -2
  198. package/es/components/TextFieldGroup/variations/_orientation/base.js.map +1 -0
  199. package/es/components/TextFieldGroup/variations/_orientation/base_you2ou.css +1 -0
  200. package/es/components/TextFieldGroup/variations/_shape/base.js +5 -0
  201. package/es/components/TextFieldGroup/variations/_shape/base.js.map +1 -0
  202. package/es/components/TextFieldGroup/variations/_shape/base_1e0je21.css +1 -0
  203. package/es/components/{InputGroup/variations/_orientation → TextFieldGroup/variations/_size}/base.js +2 -2
  204. package/es/components/TextFieldGroup/variations/_size/base.js.map +1 -0
  205. package/es/components/TextFieldGroup/variations/_size/base_4d2o9y.css +1 -0
  206. package/es/components/TextFieldGroup/variations/_stretching/base.js +5 -0
  207. package/es/components/TextFieldGroup/variations/_stretching/base.js.map +1 -0
  208. package/es/components/TextFieldGroup/variations/_stretching/base_1m1ul70.css +1 -0
  209. package/es/index.css +33 -27
  210. package/es/index.js +2 -2
  211. package/package.json +2 -2
  212. package/styled-components/cjs/components/Popup/PopupContext.js +1 -1
  213. package/styled-components/cjs/components/TextArea/TextArea.js +22 -7
  214. package/styled-components/cjs/components/TextArea/TextArea.styles.js +17 -11
  215. package/styled-components/cjs/components/TextArea/TextArea.template-doc.mdx +29 -3
  216. package/styled-components/cjs/components/TextArea/TextArea.tokens.js +13 -2
  217. package/styled-components/cjs/components/TextArea/variations/_size/tokens.json +7 -1
  218. package/styled-components/cjs/components/TextField/TextField.js +47 -20
  219. package/styled-components/cjs/components/TextField/TextField.styles.js +22 -10
  220. package/styled-components/cjs/components/TextField/TextField.template-doc.mdx +27 -1
  221. package/styled-components/cjs/components/TextField/TextField.tokens.js +11 -2
  222. package/styled-components/cjs/components/TextField/variations/_label-placement/base.js +1 -1
  223. package/styled-components/cjs/components/TextField/variations/_read-only/base.js +1 -1
  224. package/styled-components/cjs/components/TextField/variations/_size/base.js +1 -1
  225. package/styled-components/cjs/components/TextField/variations/_size/tokens.json +6 -0
  226. package/styled-components/cjs/components/TextField/variations/_view/base.js +1 -1
  227. package/styled-components/cjs/components/{InputGroup/InputGroup.js → TextFieldGroup/TextFieldGroup.js} +16 -16
  228. package/{emotion/cjs/components/InputGroup/InputGroup.template-doc.mdx → styled-components/cjs/components/TextFieldGroup/TextFieldGroup.template-doc.mdx} +31 -31
  229. package/styled-components/cjs/components/TextFieldGroup/TextFieldGroup.tokens.js +92 -0
  230. package/styled-components/cjs/components/TextFieldGroup/index.js +31 -0
  231. package/styled-components/cjs/components/{InputGroup → TextFieldGroup}/variations/_gap/base.js +2 -2
  232. package/styled-components/cjs/components/TextFieldGroup/variations/_gap/tokens.json +1 -0
  233. package/styled-components/cjs/components/TextFieldGroup/variations/_orientation/base.js +9 -0
  234. package/styled-components/cjs/components/TextFieldGroup/variations/_orientation/tokens.json +1 -0
  235. package/styled-components/cjs/components/TextFieldGroup/variations/_shape/base.js +11 -0
  236. package/styled-components/cjs/components/TextFieldGroup/variations/_shape/tokens.json +1 -0
  237. package/styled-components/cjs/components/TextFieldGroup/variations/_size/base.js +10 -0
  238. package/styled-components/cjs/components/TextFieldGroup/variations/_size/tokens.json +58 -0
  239. package/styled-components/cjs/components/{InputGroup → TextFieldGroup}/variations/_stretching/base.js +2 -2
  240. package/styled-components/cjs/examples/plasma_b2c/components/TextArea/TextArea.config.js +7 -7
  241. package/styled-components/cjs/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +9 -0
  242. package/styled-components/cjs/examples/plasma_b2c/components/TextField/TextField.config.js +8 -8
  243. package/styled-components/cjs/examples/plasma_b2c/components/TextField/TextField.stories.tsx +9 -1
  244. package/styled-components/cjs/examples/plasma_b2c/components/TextFieldGroup/TextFieldGroup.config.js +38 -0
  245. package/styled-components/cjs/examples/plasma_b2c/components/TextFieldGroup/TextFieldGroup.js +11 -0
  246. package/styled-components/cjs/examples/plasma_b2c/components/TextFieldGroup/TextFieldGroup.stories.tsx +116 -0
  247. package/styled-components/cjs/examples/plasma_web/components/TextArea/TextArea.config.js +8 -8
  248. package/styled-components/cjs/examples/plasma_web/components/TextArea/TextArea.stories.tsx +10 -0
  249. package/styled-components/cjs/examples/plasma_web/components/TextField/TextField.config.js +8 -8
  250. package/styled-components/cjs/examples/plasma_web/components/TextField/TextField.stories.tsx +10 -0
  251. package/styled-components/cjs/examples/plasma_web/components/TextFieldGroup/TextFieldGroup.config.js +38 -0
  252. package/styled-components/cjs/examples/plasma_web/components/TextFieldGroup/TextFieldGroup.js +11 -0
  253. package/styled-components/cjs/examples/plasma_web/components/TextFieldGroup/TextFieldGroup.stories.tsx +116 -0
  254. package/styled-components/cjs/index.js +4 -4
  255. package/styled-components/es/components/Popup/PopupContext.js +1 -1
  256. package/styled-components/es/components/TextArea/TextArea.js +23 -8
  257. package/styled-components/es/components/TextArea/TextArea.styles.js +17 -11
  258. package/styled-components/es/components/TextArea/TextArea.template-doc.mdx +29 -3
  259. package/styled-components/es/components/TextArea/TextArea.tokens.js +13 -2
  260. package/styled-components/es/components/TextArea/variations/_size/tokens.json +7 -1
  261. package/styled-components/es/components/TextField/TextField.js +48 -21
  262. package/styled-components/es/components/TextField/TextField.styles.js +21 -9
  263. package/styled-components/es/components/TextField/TextField.template-doc.mdx +27 -1
  264. package/styled-components/es/components/TextField/TextField.tokens.js +11 -2
  265. package/styled-components/es/components/TextField/variations/_label-placement/base.js +2 -2
  266. package/styled-components/es/components/TextField/variations/_read-only/base.js +2 -2
  267. package/styled-components/es/components/TextField/variations/_size/base.js +2 -2
  268. package/styled-components/es/components/TextField/variations/_size/tokens.json +6 -0
  269. package/styled-components/es/components/TextField/variations/_view/base.js +2 -2
  270. package/styled-components/es/components/{InputGroup/InputGroup.js → TextFieldGroup/TextFieldGroup.js} +10 -10
  271. package/styled-components/es/components/{InputGroup/InputGroup.template-doc.mdx → TextFieldGroup/TextFieldGroup.template-doc.mdx} +31 -31
  272. package/styled-components/es/components/TextFieldGroup/TextFieldGroup.tokens.js +86 -0
  273. package/styled-components/es/components/TextFieldGroup/index.js +2 -0
  274. package/styled-components/es/components/TextFieldGroup/variations/_gap/base.js +3 -0
  275. package/styled-components/es/components/TextFieldGroup/variations/_gap/tokens.json +1 -0
  276. package/styled-components/es/components/TextFieldGroup/variations/_orientation/base.js +3 -0
  277. package/styled-components/es/components/TextFieldGroup/variations/_orientation/tokens.json +1 -0
  278. package/styled-components/es/components/TextFieldGroup/variations/_shape/base.js +5 -0
  279. package/styled-components/es/components/TextFieldGroup/variations/_shape/tokens.json +1 -0
  280. package/styled-components/es/components/TextFieldGroup/variations/_size/base.js +4 -0
  281. package/styled-components/es/components/TextFieldGroup/variations/_size/tokens.json +58 -0
  282. package/styled-components/es/components/TextFieldGroup/variations/_stretching/base.js +3 -0
  283. package/styled-components/es/examples/plasma_b2c/components/TextArea/TextArea.config.js +7 -7
  284. package/styled-components/es/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +9 -0
  285. package/styled-components/es/examples/plasma_b2c/components/TextField/TextField.config.js +8 -8
  286. package/styled-components/es/examples/plasma_b2c/components/TextField/TextField.stories.tsx +9 -1
  287. package/styled-components/es/examples/plasma_b2c/components/{InputGroup/InputGroup.config.js → TextFieldGroup/TextFieldGroup.config.js} +10 -10
  288. package/styled-components/es/examples/plasma_b2c/components/TextFieldGroup/TextFieldGroup.js +5 -0
  289. package/styled-components/es/examples/plasma_b2c/components/TextFieldGroup/TextFieldGroup.stories.tsx +116 -0
  290. package/styled-components/es/examples/plasma_web/components/TextArea/TextArea.config.js +8 -8
  291. package/styled-components/es/examples/plasma_web/components/TextArea/TextArea.stories.tsx +10 -0
  292. package/styled-components/es/examples/plasma_web/components/TextField/TextField.config.js +8 -8
  293. package/styled-components/es/examples/plasma_web/components/TextField/TextField.stories.tsx +10 -0
  294. package/styled-components/es/examples/plasma_web/components/{InputGroup/InputGroup.config.js → TextFieldGroup/TextFieldGroup.config.js} +10 -10
  295. package/styled-components/es/examples/plasma_web/components/TextFieldGroup/TextFieldGroup.js +5 -0
  296. package/styled-components/es/examples/plasma_web/components/TextFieldGroup/TextFieldGroup.stories.tsx +116 -0
  297. package/styled-components/es/index.js +1 -1
  298. package/types/components/Autocomplete/ui/TextField/TextField.styles.d.ts +6 -0
  299. package/types/components/Autocomplete/ui/TextField/TextField.styles.d.ts.map +1 -1
  300. package/types/components/DatePicker/SingleDate/SingleDate.styles.d.ts +6 -0
  301. package/types/components/DatePicker/SingleDate/SingleDate.styles.d.ts.map +1 -1
  302. package/types/components/Range/Range.styles.d.ts +6 -0
  303. package/types/components/Range/Range.styles.d.ts.map +1 -1
  304. package/types/components/Slider/components/Double/Double.styles.d.ts +6 -0
  305. package/types/components/Slider/components/Double/Double.styles.d.ts.map +1 -1
  306. package/types/components/TextArea/TextArea.d.ts.map +1 -1
  307. package/types/components/TextArea/TextArea.styles.d.ts +2 -0
  308. package/types/components/TextArea/TextArea.styles.d.ts.map +1 -1
  309. package/types/components/TextArea/TextArea.tokens.d.ts +11 -0
  310. package/types/components/TextArea/TextArea.tokens.d.ts.map +1 -1
  311. package/types/components/TextArea/TextArea.types.d.ts +13 -0
  312. package/types/components/TextArea/TextArea.types.d.ts.map +1 -1
  313. package/types/components/TextField/TextField.d.ts.map +1 -1
  314. package/types/components/TextField/TextField.styles.d.ts +4 -0
  315. package/types/components/TextField/TextField.styles.d.ts.map +1 -1
  316. package/types/components/TextField/TextField.tokens.d.ts +10 -1
  317. package/types/components/TextField/TextField.tokens.d.ts.map +1 -1
  318. package/types/components/TextField/TextField.types.d.ts +13 -0
  319. package/types/components/TextField/TextField.types.d.ts.map +1 -1
  320. package/types/components/TextField/variations/_label-placement/base.d.ts.map +1 -1
  321. package/types/components/TextField/variations/_size/base.d.ts.map +1 -1
  322. package/types/components/TextField/variations/_view/base.d.ts.map +1 -1
  323. package/types/components/{InputGroup/InputGroup.d.ts → TextFieldGroup/TextFieldGroup.d.ts} +5 -5
  324. package/types/components/TextFieldGroup/TextFieldGroup.d.ts.map +1 -0
  325. package/types/components/{InputGroup/InputGroup.styles.d.ts → TextFieldGroup/TextFieldGroup.styles.d.ts} +1 -1
  326. package/types/components/TextFieldGroup/TextFieldGroup.styles.d.ts.map +1 -0
  327. package/types/components/{InputGroup/InputGroup.tokens.d.ts → TextFieldGroup/TextFieldGroup.tokens.d.ts} +12 -12
  328. package/types/components/TextFieldGroup/TextFieldGroup.tokens.d.ts.map +1 -0
  329. package/types/components/{InputGroup/InputGroup.types.d.ts → TextFieldGroup/TextFieldGroup.types.d.ts} +6 -6
  330. package/types/components/TextFieldGroup/TextFieldGroup.types.d.ts.map +1 -0
  331. package/types/components/TextFieldGroup/index.d.ts +4 -0
  332. package/types/components/TextFieldGroup/index.d.ts.map +1 -0
  333. package/types/components/TextFieldGroup/variations/_gap/base.d.ts.map +1 -0
  334. package/types/components/TextFieldGroup/variations/_orientation/base.d.ts.map +1 -0
  335. package/types/components/TextFieldGroup/variations/_shape/base.d.ts.map +1 -0
  336. package/types/components/TextFieldGroup/variations/_size/base.d.ts.map +1 -0
  337. package/types/components/TextFieldGroup/variations/_stretching/base.d.ts.map +1 -0
  338. package/types/examples/plasma_b2c/components/TextArea/TextArea.config.d.ts.map +1 -1
  339. package/types/examples/plasma_b2c/components/TextField/TextField.config.d.ts.map +1 -1
  340. package/types/examples/plasma_b2c/components/TextField/TextField.d.ts +6 -0
  341. package/types/examples/plasma_b2c/components/TextField/TextField.d.ts.map +1 -1
  342. package/types/examples/plasma_b2c/components/{InputGroup/InputGroup.config.d.ts → TextFieldGroup/TextFieldGroup.config.d.ts} +1 -1
  343. package/types/examples/plasma_b2c/components/TextFieldGroup/TextFieldGroup.config.d.ts.map +1 -0
  344. package/types/examples/plasma_b2c/components/{InputGroup/InputGroup.d.ts → TextFieldGroup/TextFieldGroup.d.ts} +6 -6
  345. package/types/examples/plasma_b2c/components/TextFieldGroup/TextFieldGroup.d.ts.map +1 -0
  346. package/types/examples/plasma_web/components/TextArea/TextArea.config.d.ts.map +1 -1
  347. package/types/examples/plasma_web/components/TextField/TextField.config.d.ts.map +1 -1
  348. package/types/examples/plasma_web/components/TextField/TextField.d.ts +6 -0
  349. package/types/examples/plasma_web/components/TextField/TextField.d.ts.map +1 -1
  350. package/types/examples/plasma_web/components/{InputGroup/InputGroup.config.d.ts → TextFieldGroup/TextFieldGroup.config.d.ts} +1 -1
  351. package/types/examples/plasma_web/components/TextFieldGroup/TextFieldGroup.config.d.ts.map +1 -0
  352. package/types/examples/plasma_web/components/{InputGroup/InputGroup.d.ts → TextFieldGroup/TextFieldGroup.d.ts} +6 -6
  353. package/types/examples/plasma_web/components/TextFieldGroup/TextFieldGroup.d.ts.map +1 -0
  354. package/types/index.d.ts +1 -1
  355. package/types/index.d.ts.map +1 -1
  356. package/cjs/components/InputGroup/InputGroup.css +0 -11
  357. package/cjs/components/InputGroup/InputGroup.js.map +0 -1
  358. package/cjs/components/InputGroup/InputGroup.styles.js +0 -9
  359. package/cjs/components/InputGroup/InputGroup.styles.js.map +0 -1
  360. package/cjs/components/InputGroup/InputGroup.styles_1ivl67d.css +0 -1
  361. package/cjs/components/InputGroup/InputGroup.tokens.js +0 -94
  362. package/cjs/components/InputGroup/InputGroup.tokens.js.map +0 -1
  363. package/cjs/components/InputGroup/variations/_gap/base.js.map +0 -1
  364. package/cjs/components/InputGroup/variations/_gap/base_1k4piyx.css +0 -1
  365. package/cjs/components/InputGroup/variations/_orientation/base.js.map +0 -1
  366. package/cjs/components/InputGroup/variations/_orientation/base_mgs8eg.css +0 -1
  367. package/cjs/components/InputGroup/variations/_shape/base.js.map +0 -1
  368. package/cjs/components/InputGroup/variations/_shape/base_3k0aw7.css +0 -1
  369. package/cjs/components/InputGroup/variations/_size/base.js.map +0 -1
  370. package/cjs/components/InputGroup/variations/_size/base_1vk5vms.css +0 -1
  371. package/cjs/components/InputGroup/variations/_stretching/base.js +0 -9
  372. package/cjs/components/InputGroup/variations/_stretching/base.js.map +0 -1
  373. package/cjs/components/InputGroup/variations/_stretching/base_1cr1a83.css +0 -1
  374. package/cjs/components/TextArea/TextArea.styles_1bv40vw.css +0 -9
  375. package/cjs/components/TextField/TextField.styles_9fkr1l.css +0 -10
  376. package/cjs/components/TextField/TextField_wctd2m.css +0 -1
  377. package/cjs/components/TextField/variations/_label-placement/base_170eaex.css +0 -1
  378. package/cjs/components/TextField/variations/_read-only/base_1vu13zn.css +0 -1
  379. package/cjs/components/TextField/variations/_size/base_orwx1f.css +0 -1
  380. package/emotion/cjs/components/InputGroup/InputGroup.tokens.js +0 -92
  381. package/emotion/cjs/components/InputGroup/index.js +0 -31
  382. package/emotion/cjs/components/InputGroup/variations/_gap/base.js +0 -9
  383. package/emotion/cjs/components/InputGroup/variations/_gap/tokens.json +0 -1
  384. package/emotion/cjs/components/InputGroup/variations/_orientation/base.js +0 -9
  385. package/emotion/cjs/components/InputGroup/variations/_orientation/tokens.json +0 -1
  386. package/emotion/cjs/components/InputGroup/variations/_shape/base.js +0 -11
  387. package/emotion/cjs/components/InputGroup/variations/_shape/tokens.json +0 -1
  388. package/emotion/cjs/components/InputGroup/variations/_size/base.js +0 -10
  389. package/emotion/cjs/components/InputGroup/variations/_size/tokens.json +0 -58
  390. package/emotion/cjs/components/InputGroup/variations/_stretching/base.js +0 -9
  391. package/emotion/cjs/examples/plasma_b2c/components/InputGroup/InputGroup.config.js +0 -38
  392. package/emotion/cjs/examples/plasma_b2c/components/InputGroup/InputGroup.js +0 -11
  393. package/emotion/cjs/examples/plasma_web/components/InputGroup/InputGroup.config.js +0 -38
  394. package/emotion/cjs/examples/plasma_web/components/InputGroup/InputGroup.js +0 -11
  395. package/emotion/es/components/InputGroup/InputGroup.tokens.js +0 -86
  396. package/emotion/es/components/InputGroup/index.js +0 -2
  397. package/emotion/es/components/InputGroup/variations/_gap/base.js +0 -3
  398. package/emotion/es/components/InputGroup/variations/_gap/tokens.json +0 -1
  399. package/emotion/es/components/InputGroup/variations/_orientation/base.js +0 -3
  400. package/emotion/es/components/InputGroup/variations/_orientation/tokens.json +0 -1
  401. package/emotion/es/components/InputGroup/variations/_shape/base.js +0 -5
  402. package/emotion/es/components/InputGroup/variations/_shape/tokens.json +0 -1
  403. package/emotion/es/components/InputGroup/variations/_size/base.js +0 -4
  404. package/emotion/es/components/InputGroup/variations/_size/tokens.json +0 -58
  405. package/emotion/es/components/InputGroup/variations/_stretching/base.js +0 -3
  406. package/emotion/es/examples/plasma_b2c/components/InputGroup/InputGroup.config.js +0 -32
  407. package/emotion/es/examples/plasma_b2c/components/InputGroup/InputGroup.js +0 -5
  408. package/emotion/es/examples/plasma_web/components/InputGroup/InputGroup.config.js +0 -32
  409. package/emotion/es/examples/plasma_web/components/InputGroup/InputGroup.js +0 -5
  410. package/es/components/InputGroup/InputGroup.css +0 -11
  411. package/es/components/InputGroup/InputGroup.js.map +0 -1
  412. package/es/components/InputGroup/InputGroup.styles.js +0 -5
  413. package/es/components/InputGroup/InputGroup.styles.js.map +0 -1
  414. package/es/components/InputGroup/InputGroup.styles_1ivl67d.css +0 -1
  415. package/es/components/InputGroup/InputGroup.tokens.js +0 -89
  416. package/es/components/InputGroup/InputGroup.tokens.js.map +0 -1
  417. package/es/components/InputGroup/variations/_gap/base.js +0 -5
  418. package/es/components/InputGroup/variations/_gap/base.js.map +0 -1
  419. package/es/components/InputGroup/variations/_gap/base_1k4piyx.css +0 -1
  420. package/es/components/InputGroup/variations/_orientation/base.js.map +0 -1
  421. package/es/components/InputGroup/variations/_orientation/base_mgs8eg.css +0 -1
  422. package/es/components/InputGroup/variations/_shape/base.js.map +0 -1
  423. package/es/components/InputGroup/variations/_shape/base_3k0aw7.css +0 -1
  424. package/es/components/InputGroup/variations/_size/base.js +0 -5
  425. package/es/components/InputGroup/variations/_size/base.js.map +0 -1
  426. package/es/components/InputGroup/variations/_size/base_1vk5vms.css +0 -1
  427. package/es/components/InputGroup/variations/_stretching/base.js +0 -5
  428. package/es/components/InputGroup/variations/_stretching/base.js.map +0 -1
  429. package/es/components/InputGroup/variations/_stretching/base_1cr1a83.css +0 -1
  430. package/es/components/TextArea/TextArea.styles_1bv40vw.css +0 -9
  431. package/es/components/TextField/TextField.styles_9fkr1l.css +0 -10
  432. package/es/components/TextField/TextField_wctd2m.css +0 -1
  433. package/es/components/TextField/variations/_label-placement/base_170eaex.css +0 -1
  434. package/es/components/TextField/variations/_read-only/base_1vu13zn.css +0 -1
  435. package/es/components/TextField/variations/_size/base_orwx1f.css +0 -1
  436. package/styled-components/cjs/components/InputGroup/InputGroup.tokens.js +0 -92
  437. package/styled-components/cjs/components/InputGroup/index.js +0 -31
  438. package/styled-components/cjs/components/InputGroup/variations/_gap/tokens.json +0 -1
  439. package/styled-components/cjs/components/InputGroup/variations/_orientation/base.js +0 -9
  440. package/styled-components/cjs/components/InputGroup/variations/_orientation/tokens.json +0 -1
  441. package/styled-components/cjs/components/InputGroup/variations/_shape/base.js +0 -11
  442. package/styled-components/cjs/components/InputGroup/variations/_shape/tokens.json +0 -1
  443. package/styled-components/cjs/components/InputGroup/variations/_size/base.js +0 -10
  444. package/styled-components/cjs/components/InputGroup/variations/_size/tokens.json +0 -58
  445. package/styled-components/cjs/examples/plasma_b2c/components/InputGroup/InputGroup.config.js +0 -38
  446. package/styled-components/cjs/examples/plasma_b2c/components/InputGroup/InputGroup.js +0 -11
  447. package/styled-components/cjs/examples/plasma_b2c/components/InputGroup/InputGroup.stories.tsx +0 -116
  448. package/styled-components/cjs/examples/plasma_web/components/InputGroup/InputGroup.config.js +0 -38
  449. package/styled-components/cjs/examples/plasma_web/components/InputGroup/InputGroup.js +0 -11
  450. package/styled-components/cjs/examples/plasma_web/components/InputGroup/InputGroup.stories.tsx +0 -116
  451. package/styled-components/es/components/InputGroup/InputGroup.tokens.js +0 -86
  452. package/styled-components/es/components/InputGroup/index.js +0 -2
  453. package/styled-components/es/components/InputGroup/variations/_gap/base.js +0 -3
  454. package/styled-components/es/components/InputGroup/variations/_gap/tokens.json +0 -1
  455. package/styled-components/es/components/InputGroup/variations/_orientation/base.js +0 -3
  456. package/styled-components/es/components/InputGroup/variations/_orientation/tokens.json +0 -1
  457. package/styled-components/es/components/InputGroup/variations/_shape/base.js +0 -5
  458. package/styled-components/es/components/InputGroup/variations/_shape/tokens.json +0 -1
  459. package/styled-components/es/components/InputGroup/variations/_size/base.js +0 -4
  460. package/styled-components/es/components/InputGroup/variations/_size/tokens.json +0 -58
  461. package/styled-components/es/components/InputGroup/variations/_stretching/base.js +0 -3
  462. package/styled-components/es/examples/plasma_b2c/components/InputGroup/InputGroup.js +0 -5
  463. package/styled-components/es/examples/plasma_b2c/components/InputGroup/InputGroup.stories.tsx +0 -116
  464. package/styled-components/es/examples/plasma_web/components/InputGroup/InputGroup.js +0 -5
  465. package/styled-components/es/examples/plasma_web/components/InputGroup/InputGroup.stories.tsx +0 -116
  466. package/types/components/InputGroup/InputGroup.d.ts.map +0 -1
  467. package/types/components/InputGroup/InputGroup.styles.d.ts.map +0 -1
  468. package/types/components/InputGroup/InputGroup.tokens.d.ts.map +0 -1
  469. package/types/components/InputGroup/InputGroup.types.d.ts.map +0 -1
  470. package/types/components/InputGroup/index.d.ts +0 -4
  471. package/types/components/InputGroup/index.d.ts.map +0 -1
  472. package/types/components/InputGroup/variations/_gap/base.d.ts.map +0 -1
  473. package/types/components/InputGroup/variations/_orientation/base.d.ts.map +0 -1
  474. package/types/components/InputGroup/variations/_shape/base.d.ts.map +0 -1
  475. package/types/components/InputGroup/variations/_size/base.d.ts.map +0 -1
  476. package/types/components/InputGroup/variations/_stretching/base.d.ts.map +0 -1
  477. package/types/examples/plasma_b2c/components/InputGroup/InputGroup.config.d.ts.map +0 -1
  478. package/types/examples/plasma_b2c/components/InputGroup/InputGroup.d.ts.map +0 -1
  479. package/types/examples/plasma_web/components/InputGroup/InputGroup.config.d.ts.map +0 -1
  480. package/types/examples/plasma_web/components/InputGroup/InputGroup.d.ts.map +0 -1
  481. /package/emotion/cjs/components/{InputGroup/InputGroup.types.js → TextFieldGroup/TextFieldGroup.types.js} +0 -0
  482. /package/emotion/cjs/components/{InputGroup → TextFieldGroup}/variations/_stretching/tokens.json +0 -0
  483. /package/emotion/es/components/{InputGroup/InputGroup.types.js → TextFieldGroup/TextFieldGroup.types.js} +0 -0
  484. /package/emotion/es/components/{InputGroup → TextFieldGroup}/variations/_stretching/tokens.json +0 -0
  485. /package/styled-components/cjs/components/{InputGroup/InputGroup.styles.js → TextFieldGroup/TextFieldGroup.styles.js} +0 -0
  486. /package/styled-components/cjs/components/{InputGroup/InputGroup.types.js → TextFieldGroup/TextFieldGroup.types.js} +0 -0
  487. /package/styled-components/cjs/components/{InputGroup → TextFieldGroup}/variations/_stretching/tokens.json +0 -0
  488. /package/styled-components/es/components/{InputGroup/InputGroup.styles.js → TextFieldGroup/TextFieldGroup.styles.js} +0 -0
  489. /package/styled-components/es/components/{InputGroup/InputGroup.types.js → TextFieldGroup/TextFieldGroup.types.js} +0 -0
  490. /package/styled-components/es/components/{InputGroup → TextFieldGroup}/variations/_stretching/tokens.json +0 -0
  491. /package/types/components/{InputGroup → TextFieldGroup}/variations/_gap/base.d.ts +0 -0
  492. /package/types/components/{InputGroup → TextFieldGroup}/variations/_orientation/base.d.ts +0 -0
  493. /package/types/components/{InputGroup → TextFieldGroup}/variations/_shape/base.d.ts +0 -0
  494. /package/types/components/{InputGroup → TextFieldGroup}/variations/_size/base.d.ts +0 -0
  495. /package/types/components/{InputGroup → TextFieldGroup}/variations/_stretching/base.d.ts +0 -0
@@ -0,0 +1,116 @@
1
+ import React from 'react';
2
+ import type { ComponentProps } from 'react';
3
+ import type { StoryObj, Meta } from '@storybook/react';
4
+ import { disableProps } from '@salutejs/plasma-sb-utils';
5
+
6
+ import { WithTheme } from '../../../_helpers';
7
+ import { TextField } from '../TextField/TextField';
8
+
9
+ import { TextFieldGroup } from './TextFieldGroup';
10
+
11
+ type StoryProps = Omit<ComponentProps<typeof TextFieldGroup>, 'gap'> & {
12
+ itemsCount?: number;
13
+ gapDefaultShape?: string;
14
+ gapSegmentedShape?: string;
15
+ };
16
+ type Story = StoryObj<StoryProps>;
17
+
18
+ const sizes = ['l', 'm', 's', 'xs'];
19
+ const orientationValues = ['horizontal', 'vertical'];
20
+ const gapDefaultValues = ['dense', 'wide'];
21
+ const gapSegmentedValues = ['none', 'dense'];
22
+ const shapeValues = ['segmented', 'default'];
23
+ const stretchingValues = ['auto', 'filled'];
24
+
25
+ const meta: Meta<typeof TextFieldGroup> = {
26
+ title: 'plasma_web/TextFieldGroup',
27
+ decorators: [WithTheme],
28
+ argTypes: {
29
+ size: {
30
+ options: sizes,
31
+ control: {
32
+ type: 'select',
33
+ },
34
+ },
35
+ orientation: {
36
+ options: orientationValues,
37
+ control: {
38
+ type: 'inline-radio',
39
+ },
40
+ },
41
+ shape: {
42
+ options: shapeValues,
43
+ control: {
44
+ type: 'select',
45
+ },
46
+ },
47
+ stretching: {
48
+ options: stretchingValues,
49
+ control: {
50
+ type: 'select',
51
+ },
52
+ },
53
+ ...disableProps(['gap']),
54
+ },
55
+ };
56
+
57
+ export default meta;
58
+
59
+ export const Default: Story = {
60
+ argTypes: {
61
+ gapDefaultShape: {
62
+ options: gapDefaultValues,
63
+ control: { type: 'select' },
64
+ if: { arg: 'shape', eq: 'default' },
65
+ },
66
+ gapSegmentedShape: {
67
+ options: gapSegmentedValues,
68
+ control: { type: 'select' },
69
+ if: { arg: 'shape', eq: 'segmented' },
70
+ },
71
+ },
72
+ args: {
73
+ size: 'm',
74
+ shape: 'default',
75
+ gapDefaultShape: 'dense',
76
+ gapSegmentedShape: 'dense',
77
+ orientation: 'horizontal',
78
+ itemsCount: 5,
79
+ stretching: 'auto',
80
+ },
81
+ render: ({ itemsCount, gapDefaultShape, gapSegmentedShape, ...args }: StoryProps) => {
82
+ return (
83
+ <TextFieldGroup {...args} gap={(gapDefaultShape || gapSegmentedShape) as any}>
84
+ {Array(itemsCount)
85
+ .fill(true)
86
+ .map((_, i) => (
87
+ <TextField placeholder={`input #${i}`} />
88
+ ))}
89
+ </TextFieldGroup>
90
+ );
91
+ },
92
+ };
93
+
94
+ export const CustomTextFields: Story = {
95
+ args: {
96
+ ...Default.args,
97
+ isCommonTextFieldStyles: false,
98
+ },
99
+ argTypes: {
100
+ ...Default.argTypes,
101
+ ...disableProps(['itemsCount']),
102
+ },
103
+ render: ({ gapDefaultShape, gapSegmentedShape, ...args }: StoryProps) => {
104
+ return (
105
+ <>
106
+ <h3>Группа TextField с разными размерами</h3>
107
+ <TextFieldGroup {...args} gap={(gapDefaultShape || gapSegmentedShape) as any}>
108
+ <TextField placeholder="Размер l" size="l" />
109
+ <TextField placeholder="Размер m" size="m" />
110
+ <TextField placeholder="Размер s" size="s" />
111
+ <TextField placeholder="Размер xs" size="xs" />
112
+ </TextFieldGroup>
113
+ </>
114
+ );
115
+ },
116
+ };
@@ -190,14 +190,14 @@ Object.keys(_TextField).forEach(function (key) {
190
190
  }
191
191
  });
192
192
  });
193
- var _InputGroup = /*#__PURE__*/require("./components/InputGroup");
194
- Object.keys(_InputGroup).forEach(function (key) {
193
+ var _TextFieldGroup = /*#__PURE__*/require("./components/TextFieldGroup");
194
+ Object.keys(_TextFieldGroup).forEach(function (key) {
195
195
  if (key === "default" || key === "__esModule") return;
196
- if (key in exports && exports[key] === _InputGroup[key]) return;
196
+ if (key in exports && exports[key] === _TextFieldGroup[key]) return;
197
197
  Object.defineProperty(exports, key, {
198
198
  enumerable: true,
199
199
  get: function get() {
200
- return _InputGroup[key];
200
+ return _TextFieldGroup[key];
201
201
  }
202
202
  });
203
203
  });
@@ -26,7 +26,7 @@ export var usePopupContext = function usePopupContext() {
26
26
  };
27
27
  export var PopupProvider = function PopupProvider(_ref) {
28
28
  var children = _ref.children;
29
- var prevBodyOverflowY = useRef(document.body.style.overflowY);
29
+ var prevBodyOverflowY = useRef(typeof document !== 'undefined' ? document.body.style.overflowY : '');
30
30
  var _useState = useState([]),
31
31
  _useState2 = _slicedToArray(_useState, 2),
32
32
  items = _useState2[0],
@@ -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", "size", "view", "id", "style", "className", "readOnly", "rows", "cols", "onChange"];
2
+ var _excluded = ["helperText", "status", "resize", "rightHelper", "leftHelper", "contentRight", "autoResize", "minAuto", "maxAuto", "label", "labelPlacement", "placeholder", "defaultValue", "height", "width", "value", "disabled", "required", "requiredPlacement", "optional", "size", "view", "id", "style", "className", "readOnly", "rows", "cols", "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."); }
@@ -24,7 +24,7 @@ import { useResizeObserver } from '@salutejs/plasma-core';
24
24
  import { cx } from '../../utils';
25
25
  import { applyDynamicLabel } from './mixins';
26
26
  import { useAutoResize, ROOT_FONT_SIZE } from './hooks';
27
- import { StyledContent, StyledHelpers, StyledLeftHelper, StyledRightHelper, StyledLabel, StyledPlaceholder, StyledTextArea, StyledTextAreaWrapper, StyledContainer } from './TextArea.styles';
27
+ import { StyledContent, StyledHelpers, StyledLeftHelper, StyledRightHelper, StyledLabel, StyledPlaceholder, StyledTextArea, StyledTextAreaWrapper, StyledContainer, StyledIndicator, StyledOptionalText } from './TextArea.styles';
28
28
  import { classes } from './TextArea.tokens';
29
29
  import { base as viewCSS } from './variations/_view/base';
30
30
  import { base as sizeCSS } from './variations/_size/base';
@@ -37,6 +37,7 @@ var innerPlaceholderUp = classes.innerPlaceholderUp,
37
37
  styledTextAreaWrapper = classes.styledTextAreaWrapper,
38
38
  styledPlaceholder = classes.styledPlaceholder,
39
39
  styledHelpers = classes.styledHelpers;
40
+ var optionalText = 'optional';
40
41
  var base = /*#__PURE__*/css(["", ";position:relative;box-sizing:border-box;"], applyDynamicLabel);
41
42
 
42
43
  // TODO: Удалить после отказа от старых библиотек plasma-web / plasma-b2c
@@ -89,6 +90,10 @@ export var textAreaRoot = function textAreaRoot(Root) {
89
90
  width = props.width,
90
91
  value = props.value,
91
92
  disabled = props.disabled,
93
+ required = props.required,
94
+ _props$requiredPlacem = props.requiredPlacement,
95
+ requiredPlacement = _props$requiredPlacem === void 0 ? 'right' : _props$requiredPlacem,
96
+ optional = props.optional,
92
97
  size = props.size,
93
98
  view = props.view,
94
99
  id = props.id,
@@ -112,11 +117,16 @@ export var textAreaRoot = function textAreaRoot(Root) {
112
117
  uncontrolledValue = _useState6[0],
113
118
  setUncontrolledValue = _useState6[1];
114
119
  var outerRef = innerRef && 'current' in innerRef ? innerRef : /*#__PURE__*/createRef();
120
+ var innerOptional = required ? false : optional;
115
121
  var hasHelper = Boolean(leftHelper || rightHelper || helperText);
122
+ var hasOuterLabel = Boolean(label && labelPlacement === 'outer');
123
+ var hasInnerLabel = Boolean(label && labelPlacement === 'inner' && size !== 'xs');
124
+ var hasPlaceholderOptional = innerOptional && !hasOuterLabel;
116
125
  var overriddenView = status !== undefined ? fallbackStatusMap[status] : view;
117
126
  var textareaHelperId = id ? "".concat(id, "-helper") : undefined;
118
127
  var applyCustomWidth = resize !== 'horizontal' && resize !== 'both' && !cols;
119
- var placeLabel = labelPlacement === 'inner' && label && size !== 'xs' ? label : placeholder;
128
+ var placeholderLabel = hasInnerLabel ? label : placeholder;
129
+ var requiredPlacementClass = requiredPlacement === 'right' ? 'align-right ' : undefined;
120
130
  useResizeObserver(outerRef, function (currentElement) {
121
131
  var inlineWidth = currentElement.style.width;
122
132
  if (inlineWidth || cols) {
@@ -150,6 +160,7 @@ export var textAreaRoot = function textAreaRoot(Root) {
150
160
  } : {
151
161
  autoResize: autoResize
152
162
  }), focused);
163
+ var optionalTextNode = innerOptional ? /*#__PURE__*/React.createElement(StyledOptionalText, null, Boolean(hasPlaceholderOptional ? placeholderLabel : label) && '\xa0', optionalText) : null;
153
164
  return /*#__PURE__*/React.createElement(Root, {
154
165
  view: overriddenView,
155
166
  size: size,
@@ -159,12 +170,16 @@ export var textAreaRoot = function textAreaRoot(Root) {
159
170
  width: helperWidth
160
171
  }, style),
161
172
  className: className
162
- }, label && labelPlacement === 'outer' && /*#__PURE__*/React.createElement(StyledLabel, null, label), /*#__PURE__*/React.createElement(StyledContainer, {
173
+ }, hasOuterLabel && /*#__PURE__*/React.createElement(StyledLabel, null, required && /*#__PURE__*/React.createElement(StyledIndicator, {
174
+ className: cx(classes.outerLabelPlacement, requiredPlacementClass)
175
+ }), label, optionalTextNode), /*#__PURE__*/React.createElement(StyledContainer, {
163
176
  className: cx.apply(void 0, [styledContainer].concat(_toConsumableArray(dynamicLabelClasses))),
164
177
  width: helperWidth,
165
178
  onFocus: onFocusHandler,
166
179
  onBlur: onBlurHandler
167
- }, contentRight && /*#__PURE__*/React.createElement(StyledContent, null, contentRight), /*#__PURE__*/React.createElement(StyledTextAreaWrapper, {
180
+ }, required && !hasOuterLabel && /*#__PURE__*/React.createElement(StyledIndicator, {
181
+ className: cx(classes.innerLabelPlacement, requiredPlacementClass)
182
+ }), contentRight && /*#__PURE__*/React.createElement(StyledContent, null, contentRight), /*#__PURE__*/React.createElement(StyledTextAreaWrapper, {
168
183
  className: styledTextAreaWrapper,
169
184
  hasHelper: hasHelper
170
185
  }, /*#__PURE__*/React.createElement(StyledTextArea, _extends({
@@ -177,7 +192,7 @@ export var textAreaRoot = function textAreaRoot(Root) {
177
192
  disabled: disabled,
178
193
  height: autoResize ? minAuto : height,
179
194
  width: width,
180
- placeholder: placeLabel,
195
+ placeholder: placeholderLabel,
181
196
  "aria-describedby": textareaHelperId,
182
197
  value: value,
183
198
  readOnly: readOnly,
@@ -189,11 +204,11 @@ export var textAreaRoot = function textAreaRoot(Root) {
189
204
  }, rest))), hasHelper && /*#__PURE__*/React.createElement(StyledHelpers, {
190
205
  className: styledHelpers,
191
206
  id: textareaHelperId
192
- }, (leftHelper || helperText) && /*#__PURE__*/React.createElement(StyledLeftHelper, null, leftHelper || helperText), rightHelper && /*#__PURE__*/React.createElement(StyledRightHelper, null, rightHelper)), placeLabel && /*#__PURE__*/React.createElement(StyledPlaceholder, {
207
+ }, (leftHelper || helperText) && /*#__PURE__*/React.createElement(StyledLeftHelper, null, leftHelper || helperText), rightHelper && /*#__PURE__*/React.createElement(StyledRightHelper, null, rightHelper)), placeholderLabel && /*#__PURE__*/React.createElement(StyledPlaceholder, {
193
208
  hasContentRight: Boolean(contentRight),
194
209
  className: styledPlaceholder,
195
210
  htmlFor: id
196
- }, placeLabel)));
211
+ }, placeholderLabel, !hasOuterLabel && optionalTextNode)));
197
212
  });
198
213
  };
199
214
  export var textAreaConfig = {
@@ -1,11 +1,14 @@
1
1
  import styled from 'styled-components';
2
2
  import { applyEllipsis } from '../../mixins';
3
- import { tokens } from './TextArea.tokens';
3
+ import { classes, tokens } from './TextArea.tokens';
4
4
  export var StyledLabel = /*#__PURE__*/styled.div.withConfig({
5
5
  componentId: "plasma-new-hope__sc-pxxv3p-0"
6
- })(["margin-bottom:var(", ");font-family:var(", ");font-size:var(", ");font-style:var(", ");font-weight:var(", ");letter-spacing:var(", ");line-height:var(", ");"], tokens.labelMarginBottom, tokens.inputFontFamily, tokens.inputFontSize, tokens.inputFontStyle, tokens.inputFontWeight, tokens.inputLetterSpacing, tokens.inputLineHeight);
7
- export var StyledTextAreaWrapper = /*#__PURE__*/styled.div.withConfig({
6
+ })(["position:relative;display:inline-flex;margin-bottom:var(", ");font-family:var(", ");font-size:var(", ");font-style:var(", ");font-weight:var(", ");letter-spacing:var(", ");line-height:var(", ");"], tokens.labelMarginBottom, tokens.inputFontFamily, tokens.inputFontSize, tokens.inputFontStyle, tokens.inputFontWeight, tokens.inputLetterSpacing, tokens.inputLineHeight);
7
+ export var StyledOptionalText = /*#__PURE__*/styled.span.withConfig({
8
8
  componentId: "plasma-new-hope__sc-pxxv3p-1"
9
+ })(["color:var(", ");"], tokens.optionalColor);
10
+ export var StyledTextAreaWrapper = /*#__PURE__*/styled.div.withConfig({
11
+ componentId: "plasma-new-hope__sc-pxxv3p-2"
9
12
  })(["background-color:var(", ");padding-top:var(", ");padding-bottom:", ";border-radius:", ";"], tokens.inputBackgroundColor, tokens.inputPaddingTop, function (_ref) {
10
13
  var hasHelper = _ref.hasHelper;
11
14
  return hasHelper ? "var(".concat(tokens.inputPaddingBottomWithHelpers, ")") : "var(".concat(tokens.inputPaddingBottom, ")");
@@ -14,16 +17,16 @@ export var StyledTextAreaWrapper = /*#__PURE__*/styled.div.withConfig({
14
17
  return hasHelper ? "var(".concat(tokens.borderRadiusWithHelpers, ")") : "var(".concat(tokens.borderRadius, ")");
15
18
  });
16
19
  export var StyledContent = /*#__PURE__*/styled.div.withConfig({
17
- componentId: "plasma-new-hope__sc-pxxv3p-2"
20
+ componentId: "plasma-new-hope__sc-pxxv3p-3"
18
21
  })(["position:absolute;display:flex;align-items:center;bottom:0;z-index:1;top:var(", ");right:var(", ");height:var(", ");"], tokens.rightContentTop, tokens.rightContentRight, tokens.rightContentHeight);
19
22
  export var StyledContainer = /*#__PURE__*/styled.div.withConfig({
20
- componentId: "plasma-new-hope__sc-pxxv3p-3"
23
+ componentId: "plasma-new-hope__sc-pxxv3p-4"
21
24
  })(["display:inline-flex;flex-direction:column;width:", ";position:relative;"], function (_ref3) {
22
25
  var width = _ref3.width;
23
26
  return width;
24
27
  });
25
28
  export var StyledTextArea = /*#__PURE__*/styled.textarea.withConfig({
26
- componentId: "plasma-new-hope__sc-pxxv3p-4"
29
+ componentId: "plasma-new-hope__sc-pxxv3p-5"
27
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(", ");}"], tokens.inputColor, tokens.inputCaretColor, function (_ref4) {
28
31
  var resize = _ref4.resize;
29
32
  return resize || 'none';
@@ -54,17 +57,20 @@ export var StyledTextArea = /*#__PURE__*/styled.textarea.withConfig({
54
57
  return hasHelper && !rows ? 'var(--plasma_private-textarea-input-with-helpers-height)' : 'var(--plasma_private-textarea-input-without-helpers-height)';
55
58
  }, tokens.inputFontFamily, tokens.inputFontSize, tokens.inputFontStyle, tokens.inputFontWeight, tokens.inputLetterSpacing, tokens.inputLineHeight, tokens.inputColorFocus);
56
59
  export var StyledHelpers = /*#__PURE__*/styled.div.withConfig({
57
- componentId: "plasma-new-hope__sc-pxxv3p-5"
60
+ componentId: "plasma-new-hope__sc-pxxv3p-6"
58
61
  })(["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);
59
62
  export var StyledLeftHelper = /*#__PURE__*/styled.span.withConfig({
60
- componentId: "plasma-new-hope__sc-pxxv3p-6"
63
+ componentId: "plasma-new-hope__sc-pxxv3p-7"
61
64
  })(["", ";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);
62
65
  export var StyledRightHelper = /*#__PURE__*/styled(StyledLeftHelper).withConfig({
63
- componentId: "plasma-new-hope__sc-pxxv3p-7"
66
+ componentId: "plasma-new-hope__sc-pxxv3p-8"
64
67
  })(["color:var(", ");margin-left:auto;"], tokens.rightHelperColor);
65
68
  export var StyledPlaceholder = /*#__PURE__*/styled.label.withConfig({
66
- componentId: "plasma-new-hope__sc-pxxv3p-8"
69
+ componentId: "plasma-new-hope__sc-pxxv3p-9"
67
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) {
68
71
  var hasContentRight = _ref13.hasContentRight;
69
72
  return hasContentRight ? "var(".concat(tokens.inputPaddingRightWithRightContent, ")") : "var(".concat(tokens.inputPaddingRight, ")");
70
- }, tokens.inputFontFamily, tokens.inputFontSize, tokens.inputFontStyle, tokens.inputFontWeight, tokens.inputLetterSpacing, tokens.inputLineHeight);
73
+ }, tokens.inputFontFamily, tokens.inputFontSize, tokens.inputFontStyle, tokens.inputFontWeight, tokens.inputLetterSpacing, tokens.inputLineHeight);
74
+ 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);
@@ -32,7 +32,7 @@ export function App() {
32
32
  ```
33
33
 
34
34
  ### Размеры компонента
35
- Высоту и ширину можно регулировать с помощью свойств `height` и `width`,
35
+ Высоту и ширину можно регулировать с помощью свойств `height` и `width`,
36
36
  указав значения в `rem` или соответствующие свойствам css значения.
37
37
  `height` и `width` отвечают за **всю** высоту и ширину компонента.
38
38
 
@@ -76,7 +76,7 @@ export function App() {
76
76
 
77
77
  ### Autoresize
78
78
  Также можно включить автоматическое регулирование высоты поля ввода по длине контента внутри (параметра `value`).
79
- Для этого необходимо использовать свойство `autoResize`.
79
+ Для этого необходимо использовать свойство `autoResize`.
80
80
 
81
81
  Свойства `minAuto`, `maxAuto` указываются в абсолютных единицах и отвечают за минимальное и максимальное количество строк.
82
82
 
@@ -123,4 +123,30 @@ export function App() {
123
123
  </div>
124
124
  );
125
125
  }
126
- ```
126
+ ```
127
+
128
+
129
+ ### Обязательность поля
130
+ Обязательность поля задаётся с помощью свойств `required` и `requiredPlacement`. Где `requiredPlacement` отвечает за выравнивание и принимает значения `"left"` и `"right"`:
131
+
132
+ ```tsx live
133
+ import React from 'react';
134
+ import { TextField } from '@salutejs/{{ package }}';
135
+
136
+ export function App() {
137
+ return (
138
+ <div>
139
+ <TextArea
140
+ placeholder="Введите значение"
141
+ required
142
+ />
143
+ <TextArea
144
+ placeholder="Введите значение"
145
+ label="Заголовок"
146
+ required
147
+ requiredPlacement="right"
148
+ />
149
+ </div>
150
+ );
151
+ }
152
+ ```
@@ -14,7 +14,9 @@ export var classes = {
14
14
  /** Класс для компонента `StyledPlaceholder` */
15
15
  styledPlaceholder: 'textarea-placeholder',
16
16
  /** Класс для компонента `StyledHelpers` */
17
- styledHelpers: 'textarea-helpers'
17
+ styledHelpers: 'textarea-helpers',
18
+ innerLabelPlacement: 'label-placement-inner',
19
+ outerLabelPlacement: 'label-placement-outer'
18
20
  };
19
21
  export var tokens = {
20
22
  /** Цвет фона для элемента textarea */
@@ -51,6 +53,8 @@ export var tokens = {
51
53
  placeholderColor: '--plasma-textarea-placeholder-color',
52
54
  /** Цвет элемента placeholder в состоянии focus */
53
55
  placeholderColorFocus: '--plasma-textarea-placeholder-color-focus',
56
+ /** Цвет элемента optional */
57
+ optionalColor: '--plasma-textarea__optional-color',
54
58
  /** Цвет текста для левой подписи снизу */
55
59
  leftHelperColor: '--plasma-textarea-left-helper-color',
56
60
  /** Цвет текста для правой подписи снизу */
@@ -146,5 +150,12 @@ export var tokens = {
146
150
  /** Прозрачность для всего компонента в состоянии disabled */
147
151
  disabledOpacity: '--plasma-textarea-disabled-opacity',
148
152
  /** Цвет текста для элемента textarea в состоянии disabled */
149
- inputColorDisabled: '--plasma-textarea-input-color-disabled'
153
+ inputColorDisabled: '--plasma-textarea-input-color-disabled',
154
+ indicatorColor: '--plasma-textarea-indicator-color',
155
+ indicatorSizeInner: '--plasma-textarea-indicator-size-inner',
156
+ indicatorSizeOuter: '--plasma-textarea-indicator-size-outer',
157
+ indicatorLabelPlacementInner: '--plasma-textarea-indicator-placement-inner',
158
+ indicatorLabelPlacementOuter: '--plasma-textarea-indicator-placement-outer',
159
+ indicatorLabelPlacementInnerRight: '--plasma-textarea-indicator-placement-inner-right',
160
+ indicatorLabelPlacementOuterRight: '--plasma-textarea-indicator-placement-outer-right'
150
161
  };
@@ -36,5 +36,11 @@
36
36
  "--plasma-textarea-helpers-font-style",
37
37
  "--plasma-textarea-helpers-font-weight",
38
38
  "--plasma-textarea-helpers-letter-spacing",
39
- "--plasma-textarea-helpers-line-height"
39
+ "--plasma-textarea-helpers-line-height",
40
+ "--plasma-textarea-indicator-size-inner",
41
+ "--plasma-textarea-indicator-size-outer",
42
+ "--plasma-textarea-indicator-placement-inner",
43
+ "--plasma-textarea-indicator-placement-outer",
44
+ "--plasma-textarea-indicator-placement-inner-right",
45
+ "--plasma-textarea-indicator-placement-outer-right"
40
46
  ]
@@ -1,4 +1,4 @@
1
- var _excluded = ["id", "className", "style", "contentLeft", "contentRight", "label", "labelPlacement", "textBefore", "textAfter", "placeholder", "leftHelper", "enumerationType", "view", "size", "readOnly", "disabled", "chips", "onChange", "onChangeChips", "onSearch", "onKeyDown"];
1
+ var _excluded = ["id", "className", "style", "contentLeft", "contentRight", "label", "labelPlacement", "textBefore", "textAfter", "placeholder", "leftHelper", "enumerationType", "requiredPlacement", "view", "size", "readOnly", "disabled", "required", "optional", "chips", "onChange", "onChangeChips", "onSearch", "onKeyDown"];
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."); }
@@ -17,11 +17,12 @@ import { base as viewCSS } from './variations/_view/base';
17
17
  import { base as disabledCSS } from './variations/_disabled/base';
18
18
  import { base as readOnlyCSS } from './variations/_read-only/base';
19
19
  import { base as labelPlacementCSS } from './variations/_label-placement/base';
20
- import { Input, LeftHelper, Label, InputWrapper, InputLabelWrapper, StyledContentLeft, StyledContentRight, StyledChips, StyledTextBefore, StyledTextAfter } from './TextField.styles';
20
+ import { Input, InputContainer, LeftHelper, Label, InputWrapper, InputLabelWrapper, StyledContentLeft, StyledContentRight, StyledChips, StyledTextBefore, StyledTextAfter, StyledIndicator, StyledOptionalText, InputPlaceholder } from './TextField.styles';
21
21
  import { classes } from './TextField.tokens';
22
22
  import { TextFieldChip } from './ui';
23
23
  import { useKeyNavigation } from './hooks';
24
- export var base = /*#__PURE__*/css(["display:block;overflow:hidden;"]);
24
+ var optionalText = 'optional';
25
+ export var base = /*#__PURE__*/css(["display:block;"]);
25
26
  export var textFieldRoot = function textFieldRoot(Root) {
26
27
  return /*#__PURE__*/forwardRef(function (_ref, ref) {
27
28
  var id = _ref.id,
@@ -37,12 +38,18 @@ export var textFieldRoot = function textFieldRoot(Root) {
37
38
  leftHelper = _ref.leftHelper,
38
39
  _ref$enumerationType = _ref.enumerationType,
39
40
  enumerationType = _ref$enumerationType === void 0 ? 'plain' : _ref$enumerationType,
41
+ _ref$requiredPlacemen = _ref.requiredPlacement,
42
+ requiredPlacement = _ref$requiredPlacemen === void 0 ? 'right' : _ref$requiredPlacemen,
40
43
  view = _ref.view,
41
44
  size = _ref.size,
42
45
  _ref$readOnly = _ref.readOnly,
43
46
  readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,
44
47
  _ref$disabled = _ref.disabled,
45
48
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
49
+ _ref$required = _ref.required,
50
+ required = _ref$required === void 0 ? false : _ref$required,
51
+ _ref$optional = _ref.optional,
52
+ optional = _ref$optional === void 0 ? false : _ref$optional,
46
53
  values = _ref.chips,
47
54
  onChange = _ref.onChange,
48
55
  onChangeChips = _ref.onChangeChips,
@@ -58,26 +65,37 @@ export var textFieldRoot = function textFieldRoot(Root) {
58
65
  inputRef: inputRef,
59
66
  chipsRefs: chipsRefs
60
67
  };
61
- var _useState = useState([]),
68
+ var _useState = useState(!!rest.value),
62
69
  _useState2 = _slicedToArray(_useState, 2),
63
- chips = _useState2[0],
64
- setChips = _useState2[1];
70
+ hasValue = _useState2[0],
71
+ setHasValue = _useState2[1];
72
+ var _useState3 = useState([]),
73
+ _useState4 = _slicedToArray(_useState3, 2),
74
+ chips = _useState4[0],
75
+ setChips = _useState4[1];
65
76
  var uniqId = safeUseId();
66
77
  var innerId = id || uniqId;
67
78
  var labelId = safeUseId();
68
79
  var helperTextId = safeUseId();
69
80
  var isChipEnumeration = enumerationType === 'chip';
70
- var hideLabel = (size === 'xs' || isChipEnumeration) && labelPlacement === 'inner';
71
- var labelInside = size !== 'xs' && labelPlacement === 'inner';
72
- var innerLabelPlacementValue = hideLabel ? 'outer' : labelPlacement;
73
- var innerPlaceholderValue = hideLabel ? label : placeholder;
74
- var innerLabelValue = hideLabel ? undefined : label;
75
- var hideLabelClass = hideLabel && label ? classes.hideLabel : undefined;
76
- var labelPlacementClass = classes["".concat(labelPlacement, "LabelPlacement")];
77
- var isChipsVisible = isChipEnumeration && (chips === null || chips === void 0 ? void 0 : chips.length);
81
+ var isChipsVisible = isChipEnumeration && !!(chips !== null && chips !== void 0 && chips.length);
78
82
  var withHasChips = isChipsVisible ? classes.hasChips : undefined;
83
+ var hasLabelValue = !!label;
84
+ var hasInnerLabel = size !== 'xs' && labelPlacement === 'inner' && !isChipsVisible && hasLabelValue;
85
+ var hasOuterLabel = labelPlacement === 'outer' && hasLabelValue;
86
+ var hasPlaceholder = !!placeholder && !hasInnerLabel;
87
+ var innerLabelValue = hasInnerLabel || hasOuterLabel ? label : undefined;
88
+ var innerLabelPlacementValue = labelPlacement === 'inner' && !hasInnerLabel ? undefined : labelPlacement;
89
+ var innerPlaceholderValue = hasPlaceholder ? placeholder : undefined;
90
+ var placeholderShown = !!innerPlaceholderValue && !hasValue;
91
+ var requiredPlacementClass = requiredPlacement === 'right' ? 'align-right ' : undefined;
92
+ var labelPlacementClass = innerLabelPlacementValue ? classes["".concat(innerLabelPlacementValue, "LabelPlacement")] : undefined;
93
+ var hasValueClass = hasValue ? classes.hasValue : undefined;
79
94
  var wrapperWithoutLeftContent = !contentLeft && isChipsVisible ? classes.hasEmptyContentLeft : undefined;
80
95
  var wrapperWithoutRightContent = !contentRight && isChipsVisible ? classes.hasEmptyContentRight : undefined;
96
+ var handleInput = function handleInput(event) {
97
+ setHasValue(!!event.target.value);
98
+ };
81
99
  var handleChange = function handleChange(event) {
82
100
  if (disabled || readOnly) {
83
101
  return;
@@ -143,6 +161,9 @@ export var textFieldRoot = function textFieldRoot(Root) {
143
161
  })) || [];
144
162
  setChips(newChips);
145
163
  }, [isChipEnumeration, values]);
164
+ var innerOptional = required ? false : optional;
165
+ var hasPlaceholderOptional = innerOptional && !innerLabelValue && !hasOuterLabel;
166
+ var optionalTextNode = innerOptional ? /*#__PURE__*/React.createElement(StyledOptionalText, null, Boolean(hasPlaceholderOptional ? innerPlaceholderValue : innerLabelValue) && '\xa0', optionalText) : null;
146
167
  return /*#__PURE__*/React.createElement(Root, {
147
168
  view: view,
148
169
  size: size,
@@ -150,14 +171,18 @@ export var textFieldRoot = function textFieldRoot(Root) {
150
171
  readOnly: !disabled && readOnly,
151
172
  labelPlacement: innerLabelPlacementValue,
152
173
  onClick: handleInputFocus,
153
- className: cx(labelPlacementClass, hideLabelClass, classes.inputGroupItem, className),
174
+ className: cx(labelPlacementClass, classes.textFieldGroupItem, className),
154
175
  style: style
155
- }, labelInside || innerLabelValue && /*#__PURE__*/React.createElement(Label, {
176
+ }, hasOuterLabel && /*#__PURE__*/React.createElement(Label, {
156
177
  id: labelId,
157
178
  htmlFor: id
158
- }, innerLabelValue), /*#__PURE__*/React.createElement(InputWrapper, {
179
+ }, required && /*#__PURE__*/React.createElement(StyledIndicator, {
180
+ className: cx(classes.outerLabelPlacement, requiredPlacementClass)
181
+ }), innerLabelValue, optionalTextNode), /*#__PURE__*/React.createElement(InputWrapper, {
159
182
  className: cx(withHasChips, wrapperWithoutLeftContent, wrapperWithoutRightContent)
160
- }, contentLeft && /*#__PURE__*/React.createElement(StyledContentLeft, null, contentLeft), /*#__PURE__*/React.createElement(InputLabelWrapper, {
183
+ }, !hasOuterLabel && required && /*#__PURE__*/React.createElement(StyledIndicator, {
184
+ className: cx(classes.innerLabelPlacement, requiredPlacementClass)
185
+ }), contentLeft && /*#__PURE__*/React.createElement(StyledContentLeft, null, contentLeft), /*#__PURE__*/React.createElement(InputLabelWrapper, {
161
186
  tabIndex: -1,
162
187
  ref: contentRef,
163
188
  onKeyDown: handleContentKeyDown,
@@ -183,20 +208,22 @@ export var textFieldRoot = function textFieldRoot(Root) {
183
208
  },
184
209
  onClick: onChipClick
185
210
  });
186
- })), /*#__PURE__*/React.createElement(Input, _extends({
211
+ })), /*#__PURE__*/React.createElement(InputContainer, null, /*#__PURE__*/React.createElement(Input, _extends({
187
212
  ref: inputForkRef,
188
213
  id: innerId,
189
214
  "aria-labelledby": labelId,
190
215
  "aria-describedby": helperTextId,
191
216
  placeholder: innerPlaceholderValue,
217
+ className: cx(hasValueClass),
192
218
  disabled: disabled,
193
219
  readOnly: !disabled && readOnly,
220
+ onInput: handleInput,
194
221
  onChange: handleChange,
195
222
  onKeyDown: handleOnKeyDown
196
- }, rest)), labelInside && /*#__PURE__*/React.createElement(Label, {
223
+ }, rest)), hasInnerLabel && /*#__PURE__*/React.createElement(Label, {
197
224
  id: labelId,
198
225
  htmlFor: innerId
199
- }, innerLabelValue), textAfter && /*#__PURE__*/React.createElement(StyledTextAfter, null, textAfter)), contentRight && /*#__PURE__*/React.createElement(StyledContentRight, null, contentRight)), leftHelper && /*#__PURE__*/React.createElement(LeftHelper, {
226
+ }, innerLabelValue, optionalTextNode), placeholderShown && /*#__PURE__*/React.createElement(InputPlaceholder, null, innerPlaceholderValue, hasPlaceholderOptional && optionalTextNode)), textAfter && /*#__PURE__*/React.createElement(StyledTextAfter, null, textAfter)), contentRight && /*#__PURE__*/React.createElement(StyledContentRight, null, contentRight)), leftHelper && /*#__PURE__*/React.createElement(LeftHelper, {
200
227
  id: helperTextId
201
228
  }, leftHelper));
202
229
  });
@@ -11,22 +11,34 @@ export var StyledChips = /*#__PURE__*/styled.div.withConfig({
11
11
  })(["display:flex;gap:var(", ");margin-right:var(", ");user-select:none;"], tokens.chipGap, tokens.chipGap);
12
12
  export var Input = /*#__PURE__*/styled.input.withConfig({
13
13
  componentId: "plasma-new-hope__sc-g4vxbb-3"
14
- })(["box-sizing:border-box;appearance:none;border:0;padding:0;background-color:transparent;outline:none;flex:1;min-width:60%;"]);
15
- export var Label = /*#__PURE__*/styled.label.withConfig({
14
+ })(["box-sizing:border-box;appearance:none;border:0;padding:0;background-color:transparent;outline:none;width:100%;z-index:1;&::placeholder{opacity:0;}"]);
15
+ export var InputContainer = /*#__PURE__*/styled.div.withConfig({
16
16
  componentId: "plasma-new-hope__sc-g4vxbb-4"
17
- })([""]);
18
- export var StyledContentLeft = /*#__PURE__*/styled.div.withConfig({
17
+ })(["position:relative;flex:1;min-width:60%;"]);
18
+ export var InputPlaceholder = /*#__PURE__*/styled.div.withConfig({
19
19
  componentId: "plasma-new-hope__sc-g4vxbb-5"
20
+ })(["position:absolute;top:0;left:0;right:0;bottom:0;z-index:0;white-space:nowrap;pointer-events:none;user-select:none;font:inherit;letter-spacing:inherit;line-height:inherit;color:var(", ");"], tokens.placeholderColor);
21
+ export var Label = /*#__PURE__*/styled.label.withConfig({
22
+ componentId: "plasma-new-hope__sc-g4vxbb-6"
23
+ })(["position:relative;display:inline-flex;"]);
24
+ export var StyledContentLeft = /*#__PURE__*/styled.div.withConfig({
25
+ componentId: "plasma-new-hope__sc-g4vxbb-7"
20
26
  })(["margin:var(", ");line-height:0;"], tokens.leftContentMargin);
21
27
  export var StyledContentRight = /*#__PURE__*/styled.div.withConfig({
22
- componentId: "plasma-new-hope__sc-g4vxbb-6"
28
+ componentId: "plasma-new-hope__sc-g4vxbb-8"
23
29
  })(["margin:var(", ");line-height:0;"], tokens.rightContentMargin);
24
30
  export var LeftHelper = /*#__PURE__*/styled.div.withConfig({
25
- componentId: "plasma-new-hope__sc-g4vxbb-7"
31
+ componentId: "plasma-new-hope__sc-g4vxbb-9"
26
32
  })([""]);
27
33
  export var StyledTextBefore = /*#__PURE__*/styled.div.withConfig({
28
- componentId: "plasma-new-hope__sc-g4vxbb-8"
34
+ componentId: "plasma-new-hope__sc-g4vxbb-10"
29
35
  })([""]);
30
36
  export var StyledTextAfter = /*#__PURE__*/styled.div.withConfig({
31
- componentId: "plasma-new-hope__sc-g4vxbb-9"
32
- })([""]);
37
+ componentId: "plasma-new-hope__sc-g4vxbb-11"
38
+ })([""]);
39
+ export var StyledOptionalText = /*#__PURE__*/styled.span.withConfig({
40
+ componentId: "plasma-new-hope__sc-g4vxbb-12"
41
+ })(["color:var(", ");"], tokens.optionalColor);
42
+ export var StyledIndicator = /*#__PURE__*/styled.div.withConfig({
43
+ componentId: "plasma-new-hope__sc-g4vxbb-13"
44
+ })(["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);