@salutejs/plasma-new-hope 0.122.0-canary.1349.10357757918.0 → 0.122.0-canary.1352.10359015289.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (343) hide show
  1. package/cjs/components/Autocomplete/Autocomplete.css +10 -9
  2. package/cjs/components/Autocomplete/Autocomplete.js +1 -1
  3. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  4. package/cjs/components/DatePicker/RangeDate/RangeDate.css +10 -9
  5. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +10 -9
  6. package/cjs/components/DatePicker/SingleDate/SingleDate.css +10 -9
  7. package/cjs/components/Pagination/Pagination.css +8 -8
  8. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +8 -8
  9. package/cjs/components/Range/Range.css +10 -9
  10. package/cjs/components/Select/Select.css +8 -8
  11. package/cjs/components/Select/Select.js +6 -13
  12. package/cjs/components/Select/Select.js.map +1 -1
  13. package/cjs/components/Select/hooks/useKeyboardNavigation.js.map +1 -1
  14. package/cjs/components/Select/hooks/usePathMaps.js +2 -2
  15. package/cjs/components/Select/hooks/usePathMaps.js.map +1 -1
  16. package/cjs/components/Select/ui/Inner/Inner.css +8 -8
  17. package/cjs/components/Select/ui/Inner/Inner.js.map +1 -1
  18. package/cjs/components/Select/ui/Inner/ui/Item/Item.css +8 -8
  19. package/cjs/components/Select/ui/Inner/ui/Item/Item.js +5 -13
  20. package/cjs/components/Select/ui/Inner/ui/Item/Item.js.map +1 -1
  21. package/cjs/components/Select/ui/Inner/ui/Item/Item.styles.js +6 -15
  22. package/cjs/components/Select/ui/Inner/ui/Item/Item.styles.js.map +1 -1
  23. package/cjs/components/Select/ui/Inner/ui/Item/{Item.styles_baxa65.css → Item.styles_y3jg1m.css} +1 -1
  24. package/cjs/components/Select/ui/Target/Target.js +2 -4
  25. package/cjs/components/Select/ui/Target/Target.js.map +1 -1
  26. package/cjs/components/Select/ui/Target/ui/Button/Button.js +1 -3
  27. package/cjs/components/Select/ui/Target/ui/Button/Button.js.map +1 -1
  28. package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js +5 -7
  29. package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js.map +1 -1
  30. package/cjs/components/Select/utils/getButtonLabel.js +5 -5
  31. package/cjs/components/Select/utils/getButtonLabel.js.map +1 -1
  32. package/cjs/components/Select/utils/initialItemsTransform.js.map +1 -1
  33. package/cjs/components/Select/utils/updateAncestors.js.map +1 -1
  34. package/cjs/components/Select/utils/updateDescendants.js.map +1 -1
  35. package/cjs/components/Select/utils/updateSingleAncestors.js.map +1 -1
  36. package/cjs/components/Slider/Slider.css +10 -9
  37. package/cjs/components/Slider/components/Double/Double.css +10 -9
  38. package/cjs/components/TextArea/TextArea.js +17 -3
  39. package/cjs/components/TextArea/TextArea.js.map +1 -1
  40. package/cjs/components/TextArea/TextArea.styles.js +7 -1
  41. package/cjs/components/TextArea/TextArea.styles.js.map +1 -1
  42. package/{es/components/TextArea/TextArea.styles_1bv40vw.css → cjs/components/TextArea/TextArea.styles_wt773g.css} +2 -1
  43. package/cjs/components/TextArea/TextArea.tokens.js +8 -1
  44. package/cjs/components/TextArea/TextArea.tokens.js.map +1 -1
  45. package/cjs/components/TextArea/variations/_required/base.js +9 -0
  46. package/cjs/components/TextArea/variations/_required/base.js.map +1 -0
  47. package/cjs/components/TextArea/variations/_required/base_x642ct.css +1 -0
  48. package/cjs/components/TextField/TextField.js +23 -7
  49. package/cjs/components/TextField/TextField.js.map +1 -1
  50. package/cjs/components/TextField/TextField.styles.js +7 -1
  51. package/cjs/components/TextField/TextField.styles.js.map +1 -1
  52. package/cjs/components/TextField/{TextField.styles_9fkr1l.css → TextField.styles_x7rboj.css} +2 -1
  53. package/cjs/components/TextField/TextField.tokens.js +8 -1
  54. package/cjs/components/TextField/TextField.tokens.js.map +1 -1
  55. package/cjs/components/TextField/TextField_1lzb2r1.css +1 -0
  56. package/cjs/components/TextField/variations/_label-placement/base.js +1 -1
  57. package/cjs/components/TextField/variations/_label-placement/base.js.map +1 -1
  58. package/cjs/components/TextField/variations/_label-placement/base_1ch19bp.css +1 -0
  59. package/cjs/components/TextField/variations/_required/base.js +9 -0
  60. package/cjs/components/TextField/variations/_required/base.js.map +1 -0
  61. package/cjs/components/TextField/variations/_required/base_x642ct.css +1 -0
  62. package/cjs/index.css +28 -26
  63. package/emotion/cjs/components/Autocomplete/Autocomplete.js +1 -1
  64. package/emotion/cjs/components/Select/Select.js +6 -13
  65. package/emotion/cjs/components/Select/hooks/usePathMaps.js +2 -2
  66. package/emotion/cjs/components/Select/ui/Inner/ui/Item/Item.js +5 -13
  67. package/emotion/cjs/components/Select/ui/Inner/ui/Item/Item.styles.js +11 -14
  68. package/emotion/cjs/components/Select/ui/Target/Target.js +2 -4
  69. package/emotion/cjs/components/Select/ui/Target/ui/Button/Button.js +1 -3
  70. package/emotion/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js +5 -7
  71. package/emotion/cjs/components/Select/utils/getButtonLabel.js +5 -5
  72. package/emotion/cjs/components/Select/utils/index.js +1 -8
  73. package/emotion/cjs/components/TextArea/TextArea.js +18 -4
  74. package/emotion/cjs/components/TextArea/TextArea.styles.js +23 -19
  75. package/emotion/cjs/components/TextArea/TextArea.template-doc.mdx +29 -3
  76. package/emotion/cjs/components/TextArea/TextArea.tokens.js +8 -1
  77. package/emotion/cjs/components/TextArea/variations/_required/base.js +8 -0
  78. package/emotion/cjs/components/TextArea/variations/_required/tokens.json +1 -0
  79. package/emotion/cjs/components/TextArea/variations/_size/tokens.json +7 -1
  80. package/emotion/cjs/components/TextField/TextField.js +27 -11
  81. package/emotion/cjs/components/TextField/TextField.styles.js +33 -21
  82. package/emotion/cjs/components/TextField/TextField.template-doc.mdx +27 -1
  83. package/emotion/cjs/components/TextField/TextField.tokens.js +8 -1
  84. package/emotion/cjs/components/TextField/variations/_label-placement/base.js +1 -1
  85. package/emotion/cjs/components/TextField/variations/_required/base.js +8 -0
  86. package/emotion/cjs/components/TextField/variations/_required/tokens.json +1 -0
  87. package/emotion/cjs/components/TextField/variations/_size/tokens.json +6 -0
  88. package/emotion/cjs/examples/plasma_b2c/components/Select/Select.stories.tsx +21 -38
  89. package/emotion/cjs/examples/plasma_web/components/Select/Select.stories.tsx +21 -38
  90. package/emotion/cjs/examples/plasma_web/components/TextArea/TextArea.config.js +12 -9
  91. package/emotion/cjs/examples/plasma_web/components/TextArea/TextArea.stories.tsx +45 -0
  92. package/emotion/cjs/examples/plasma_web/components/TextField/TextField.config.js +15 -12
  93. package/emotion/cjs/examples/plasma_web/components/TextField/TextField.stories.tsx +43 -0
  94. package/emotion/es/components/Autocomplete/Autocomplete.js +1 -1
  95. package/emotion/es/components/Select/Select.js +7 -14
  96. package/emotion/es/components/Select/hooks/usePathMaps.js +2 -2
  97. package/emotion/es/components/Select/ui/Inner/ui/Item/Item.js +5 -13
  98. package/emotion/es/components/Select/ui/Inner/ui/Item/Item.styles.js +11 -14
  99. package/emotion/es/components/Select/ui/Target/Target.js +2 -4
  100. package/emotion/es/components/Select/ui/Target/ui/Button/Button.js +1 -3
  101. package/emotion/es/components/Select/ui/Target/ui/Textfield/Textfield.js +5 -7
  102. package/emotion/es/components/Select/utils/getButtonLabel.js +5 -5
  103. package/emotion/es/components/Select/utils/index.js +1 -2
  104. package/emotion/es/components/TextArea/TextArea.js +19 -5
  105. package/emotion/es/components/TextArea/TextArea.styles.js +22 -18
  106. package/emotion/es/components/TextArea/TextArea.template-doc.mdx +29 -3
  107. package/emotion/es/components/TextArea/TextArea.tokens.js +8 -1
  108. package/emotion/es/components/TextArea/variations/_required/base.js +2 -0
  109. package/emotion/es/components/TextArea/variations/_required/tokens.json +1 -0
  110. package/emotion/es/components/TextArea/variations/_size/tokens.json +7 -1
  111. package/emotion/es/components/TextField/TextField.js +26 -10
  112. package/emotion/es/components/TextField/TextField.styles.js +32 -20
  113. package/emotion/es/components/TextField/TextField.template-doc.mdx +27 -1
  114. package/emotion/es/components/TextField/TextField.tokens.js +8 -1
  115. package/emotion/es/components/TextField/variations/_label-placement/base.js +1 -1
  116. package/emotion/es/components/TextField/variations/_required/base.js +2 -0
  117. package/emotion/es/components/TextField/variations/_required/tokens.json +1 -0
  118. package/emotion/es/components/TextField/variations/_size/tokens.json +6 -0
  119. package/emotion/es/examples/plasma_b2c/components/Select/Select.stories.tsx +21 -38
  120. package/emotion/es/examples/plasma_web/components/Select/Select.stories.tsx +21 -38
  121. package/emotion/es/examples/plasma_web/components/TextArea/TextArea.config.js +12 -9
  122. package/emotion/es/examples/plasma_web/components/TextArea/TextArea.stories.tsx +45 -0
  123. package/emotion/es/examples/plasma_web/components/TextField/TextField.config.js +15 -12
  124. package/emotion/es/examples/plasma_web/components/TextField/TextField.stories.tsx +43 -0
  125. package/es/components/Autocomplete/Autocomplete.css +10 -9
  126. package/es/components/Autocomplete/Autocomplete.js +1 -1
  127. package/es/components/Autocomplete/Autocomplete.js.map +1 -1
  128. package/es/components/DatePicker/RangeDate/RangeDate.css +10 -9
  129. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +10 -9
  130. package/es/components/DatePicker/SingleDate/SingleDate.css +10 -9
  131. package/es/components/Pagination/Pagination.css +8 -8
  132. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +8 -8
  133. package/es/components/Range/Range.css +10 -9
  134. package/es/components/Select/Select.css +8 -8
  135. package/es/components/Select/Select.js +6 -13
  136. package/es/components/Select/Select.js.map +1 -1
  137. package/es/components/Select/hooks/useKeyboardNavigation.js.map +1 -1
  138. package/es/components/Select/hooks/usePathMaps.js +2 -2
  139. package/es/components/Select/hooks/usePathMaps.js.map +1 -1
  140. package/es/components/Select/ui/Inner/Inner.css +8 -8
  141. package/es/components/Select/ui/Inner/Inner.js.map +1 -1
  142. package/es/components/Select/ui/Inner/ui/Item/Item.css +8 -8
  143. package/es/components/Select/ui/Inner/ui/Item/Item.js +5 -13
  144. package/es/components/Select/ui/Inner/ui/Item/Item.js.map +1 -1
  145. package/es/components/Select/ui/Inner/ui/Item/Item.styles.js +6 -15
  146. package/es/components/Select/ui/Inner/ui/Item/Item.styles.js.map +1 -1
  147. package/es/components/Select/ui/Inner/ui/Item/{Item.styles_baxa65.css → Item.styles_y3jg1m.css} +1 -1
  148. package/es/components/Select/ui/Target/Target.js +2 -4
  149. package/es/components/Select/ui/Target/Target.js.map +1 -1
  150. package/es/components/Select/ui/Target/ui/Button/Button.js +1 -3
  151. package/es/components/Select/ui/Target/ui/Button/Button.js.map +1 -1
  152. package/es/components/Select/ui/Target/ui/Textfield/Textfield.js +5 -7
  153. package/es/components/Select/ui/Target/ui/Textfield/Textfield.js.map +1 -1
  154. package/es/components/Select/utils/getButtonLabel.js +5 -5
  155. package/es/components/Select/utils/getButtonLabel.js.map +1 -1
  156. package/es/components/Select/utils/initialItemsTransform.js.map +1 -1
  157. package/es/components/Select/utils/updateAncestors.js.map +1 -1
  158. package/es/components/Select/utils/updateDescendants.js.map +1 -1
  159. package/es/components/Select/utils/updateSingleAncestors.js.map +1 -1
  160. package/es/components/Slider/Slider.css +10 -9
  161. package/es/components/Slider/components/Double/Double.css +10 -9
  162. package/es/components/TextArea/TextArea.js +18 -4
  163. package/es/components/TextArea/TextArea.js.map +1 -1
  164. package/es/components/TextArea/TextArea.styles.js +7 -2
  165. package/es/components/TextArea/TextArea.styles.js.map +1 -1
  166. package/{cjs/components/TextArea/TextArea.styles_1bv40vw.css → es/components/TextArea/TextArea.styles_wt773g.css} +2 -1
  167. package/es/components/TextArea/TextArea.tokens.js +8 -1
  168. package/es/components/TextArea/TextArea.tokens.js.map +1 -1
  169. package/es/components/TextArea/variations/_required/base.js +5 -0
  170. package/es/components/TextArea/variations/_required/base.js.map +1 -0
  171. package/es/components/TextArea/variations/_required/base_x642ct.css +1 -0
  172. package/es/components/TextField/TextField.js +24 -8
  173. package/es/components/TextField/TextField.js.map +1 -1
  174. package/es/components/TextField/TextField.styles.js +7 -2
  175. package/es/components/TextField/TextField.styles.js.map +1 -1
  176. package/es/components/TextField/{TextField.styles_9fkr1l.css → TextField.styles_x7rboj.css} +2 -1
  177. package/es/components/TextField/TextField.tokens.js +8 -1
  178. package/es/components/TextField/TextField.tokens.js.map +1 -1
  179. package/es/components/TextField/TextField_1lzb2r1.css +1 -0
  180. package/es/components/TextField/variations/_label-placement/base.js +1 -1
  181. package/es/components/TextField/variations/_label-placement/base.js.map +1 -1
  182. package/es/components/TextField/variations/_label-placement/base_1ch19bp.css +1 -0
  183. package/es/components/TextField/variations/_required/base.js +5 -0
  184. package/es/components/TextField/variations/_required/base.js.map +1 -0
  185. package/es/components/TextField/variations/_required/base_x642ct.css +1 -0
  186. package/es/index.css +28 -26
  187. package/package.json +2 -2
  188. package/styled-components/cjs/components/Autocomplete/Autocomplete.js +1 -1
  189. package/styled-components/cjs/components/Select/Select.js +6 -13
  190. package/styled-components/cjs/components/Select/hooks/usePathMaps.js +2 -2
  191. package/styled-components/cjs/components/Select/ui/Inner/ui/Item/Item.js +5 -13
  192. package/styled-components/cjs/components/Select/ui/Inner/ui/Item/Item.styles.js +3 -6
  193. package/styled-components/cjs/components/Select/ui/Target/Target.js +2 -4
  194. package/styled-components/cjs/components/Select/ui/Target/ui/Button/Button.js +1 -3
  195. package/styled-components/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js +5 -7
  196. package/styled-components/cjs/components/Select/utils/getButtonLabel.js +5 -5
  197. package/styled-components/cjs/components/Select/utils/index.js +1 -8
  198. package/styled-components/cjs/components/TextArea/TextArea.js +17 -3
  199. package/styled-components/cjs/components/TextArea/TextArea.styles.js +6 -3
  200. package/styled-components/cjs/components/TextArea/TextArea.template-doc.mdx +29 -3
  201. package/styled-components/cjs/components/TextArea/TextArea.tokens.js +8 -1
  202. package/styled-components/cjs/components/TextArea/variations/_required/base.js +8 -0
  203. package/styled-components/cjs/components/TextArea/variations/_required/tokens.json +1 -0
  204. package/styled-components/cjs/components/TextArea/variations/_size/tokens.json +7 -1
  205. package/styled-components/cjs/components/TextField/TextField.js +23 -7
  206. package/styled-components/cjs/components/TextField/TextField.styles.js +6 -3
  207. package/styled-components/cjs/components/TextField/TextField.template-doc.mdx +27 -1
  208. package/styled-components/cjs/components/TextField/TextField.tokens.js +8 -1
  209. package/styled-components/cjs/components/TextField/variations/_label-placement/base.js +1 -1
  210. package/styled-components/cjs/components/TextField/variations/_required/base.js +8 -0
  211. package/styled-components/cjs/components/TextField/variations/_required/tokens.json +1 -0
  212. package/styled-components/cjs/components/TextField/variations/_size/tokens.json +6 -0
  213. package/styled-components/cjs/examples/plasma_b2c/components/Select/Select.stories.tsx +21 -38
  214. package/styled-components/cjs/examples/plasma_web/components/Select/Select.stories.tsx +21 -38
  215. package/styled-components/cjs/examples/plasma_web/components/TextArea/TextArea.config.js +7 -4
  216. package/styled-components/cjs/examples/plasma_web/components/TextArea/TextArea.stories.tsx +45 -0
  217. package/styled-components/cjs/examples/plasma_web/components/TextField/TextField.config.js +7 -4
  218. package/styled-components/cjs/examples/plasma_web/components/TextField/TextField.stories.tsx +43 -0
  219. package/styled-components/es/components/Autocomplete/Autocomplete.js +1 -1
  220. package/styled-components/es/components/Select/Select.js +7 -14
  221. package/styled-components/es/components/Select/hooks/usePathMaps.js +2 -2
  222. package/styled-components/es/components/Select/ui/Inner/ui/Item/Item.js +5 -13
  223. package/styled-components/es/components/Select/ui/Inner/ui/Item/Item.styles.js +3 -6
  224. package/styled-components/es/components/Select/ui/Target/Target.js +2 -4
  225. package/styled-components/es/components/Select/ui/Target/ui/Button/Button.js +1 -3
  226. package/styled-components/es/components/Select/ui/Target/ui/Textfield/Textfield.js +5 -7
  227. package/styled-components/es/components/Select/utils/getButtonLabel.js +5 -5
  228. package/styled-components/es/components/Select/utils/index.js +1 -2
  229. package/styled-components/es/components/TextArea/TextArea.js +18 -4
  230. package/styled-components/es/components/TextArea/TextArea.styles.js +5 -2
  231. package/styled-components/es/components/TextArea/TextArea.template-doc.mdx +29 -3
  232. package/styled-components/es/components/TextArea/TextArea.tokens.js +8 -1
  233. package/styled-components/es/components/TextArea/variations/_required/base.js +2 -0
  234. package/styled-components/es/components/TextArea/variations/_required/tokens.json +1 -0
  235. package/styled-components/es/components/TextArea/variations/_size/tokens.json +7 -1
  236. package/styled-components/es/components/TextField/TextField.js +22 -6
  237. package/styled-components/es/components/TextField/TextField.styles.js +5 -2
  238. package/styled-components/es/components/TextField/TextField.template-doc.mdx +27 -1
  239. package/styled-components/es/components/TextField/TextField.tokens.js +8 -1
  240. package/styled-components/es/components/TextField/variations/_label-placement/base.js +1 -1
  241. package/styled-components/es/components/TextField/variations/_required/base.js +2 -0
  242. package/styled-components/es/components/TextField/variations/_required/tokens.json +1 -0
  243. package/styled-components/es/components/TextField/variations/_size/tokens.json +6 -0
  244. package/styled-components/es/examples/plasma_b2c/components/Select/Select.stories.tsx +21 -38
  245. package/styled-components/es/examples/plasma_web/components/Select/Select.stories.tsx +21 -38
  246. package/styled-components/es/examples/plasma_web/components/TextArea/TextArea.config.js +7 -4
  247. package/styled-components/es/examples/plasma_web/components/TextArea/TextArea.stories.tsx +45 -0
  248. package/styled-components/es/examples/plasma_web/components/TextField/TextField.config.js +7 -4
  249. package/styled-components/es/examples/plasma_web/components/TextField/TextField.stories.tsx +43 -0
  250. package/types/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  251. package/types/components/Autocomplete/ui/TextField/TextField.styles.d.ts +4 -0
  252. package/types/components/Autocomplete/ui/TextField/TextField.styles.d.ts.map +1 -1
  253. package/types/components/DatePicker/SingleDate/SingleDate.styles.d.ts +4 -0
  254. package/types/components/DatePicker/SingleDate/SingleDate.styles.d.ts.map +1 -1
  255. package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts +27 -123
  256. package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts.map +1 -1
  257. package/types/components/Range/Range.styles.d.ts +4 -0
  258. package/types/components/Range/Range.styles.d.ts.map +1 -1
  259. package/types/components/Select/Select.d.ts +3 -3
  260. package/types/components/Select/Select.d.ts.map +1 -1
  261. package/types/components/Select/Select.types.d.ts +11 -140
  262. package/types/components/Select/Select.types.d.ts.map +1 -1
  263. package/types/components/Select/hooks/useKeyboardNavigation.d.ts +6 -6
  264. package/types/components/Select/hooks/useKeyboardNavigation.d.ts.map +1 -1
  265. package/types/components/Select/hooks/usePathMaps.d.ts +6 -6
  266. package/types/components/Select/hooks/usePathMaps.d.ts.map +1 -1
  267. package/types/components/Select/index.d.ts +1 -1
  268. package/types/components/Select/index.d.ts.map +1 -1
  269. package/types/components/Select/ui/Inner/Inner.type.d.ts +4 -4
  270. package/types/components/Select/ui/Inner/Inner.type.d.ts.map +1 -1
  271. package/types/components/Select/ui/Inner/ui/Item/Item.d.ts.map +1 -1
  272. package/types/components/Select/ui/Inner/ui/Item/Item.styles.d.ts +1 -3
  273. package/types/components/Select/ui/Inner/ui/Item/Item.styles.d.ts.map +1 -1
  274. package/types/components/Select/ui/Inner/ui/Item/Item.types.d.ts +3 -18
  275. package/types/components/Select/ui/Inner/ui/Item/Item.types.d.ts.map +1 -1
  276. package/types/components/Select/ui/Target/Target.d.ts.map +1 -1
  277. package/types/components/Select/ui/Target/Target.types.d.ts +3 -4
  278. package/types/components/Select/ui/Target/Target.types.d.ts.map +1 -1
  279. package/types/components/Select/ui/Target/ui/Button/Button.d.ts.map +1 -1
  280. package/types/components/Select/ui/Target/ui/Textfield/Textfield.d.ts.map +1 -1
  281. package/types/components/Select/utils/index.d.ts +0 -1
  282. package/types/components/Select/utils/index.d.ts.map +1 -1
  283. package/types/components/Select/utils/initialItemsTransform.d.ts +2 -2
  284. package/types/components/Select/utils/initialItemsTransform.d.ts.map +1 -1
  285. package/types/components/Select/utils/updateAncestors.d.ts +2 -2
  286. package/types/components/Select/utils/updateAncestors.d.ts.map +1 -1
  287. package/types/components/Select/utils/updateDescendants.d.ts +2 -2
  288. package/types/components/Select/utils/updateDescendants.d.ts.map +1 -1
  289. package/types/components/Select/utils/updateSingleAncestors.d.ts +2 -2
  290. package/types/components/Select/utils/updateSingleAncestors.d.ts.map +1 -1
  291. package/types/components/Slider/components/Double/Double.styles.d.ts +4 -0
  292. package/types/components/Slider/components/Double/Double.styles.d.ts.map +1 -1
  293. package/types/components/TextArea/TextArea.d.ts +4 -0
  294. package/types/components/TextArea/TextArea.d.ts.map +1 -1
  295. package/types/components/TextArea/TextArea.styles.d.ts +1 -0
  296. package/types/components/TextArea/TextArea.styles.d.ts.map +1 -1
  297. package/types/components/TextArea/TextArea.tokens.d.ts +7 -0
  298. package/types/components/TextArea/TextArea.tokens.d.ts.map +1 -1
  299. package/types/components/TextArea/TextArea.types.d.ts +9 -0
  300. package/types/components/TextArea/TextArea.types.d.ts.map +1 -1
  301. package/types/components/TextArea/variations/_required/base.d.ts +2 -0
  302. package/types/components/TextArea/variations/_required/base.d.ts.map +1 -0
  303. package/types/components/TextField/TextField.d.ts +4 -0
  304. package/types/components/TextField/TextField.d.ts.map +1 -1
  305. package/types/components/TextField/TextField.styles.d.ts +1 -0
  306. package/types/components/TextField/TextField.styles.d.ts.map +1 -1
  307. package/types/components/TextField/TextField.tokens.d.ts +7 -0
  308. package/types/components/TextField/TextField.tokens.d.ts.map +1 -1
  309. package/types/components/TextField/TextField.types.d.ts +9 -0
  310. package/types/components/TextField/TextField.types.d.ts.map +1 -1
  311. package/types/components/TextField/variations/_label-placement/base.d.ts.map +1 -1
  312. package/types/components/TextField/variations/_required/base.d.ts +2 -0
  313. package/types/components/TextField/variations/_required/base.d.ts.map +1 -0
  314. package/types/examples/plasma_b2c/components/Select/Select.d.ts +27 -123
  315. package/types/examples/plasma_b2c/components/Select/Select.d.ts.map +1 -1
  316. package/types/examples/plasma_b2c/components/TextField/TextField.d.ts +4 -0
  317. package/types/examples/plasma_b2c/components/TextField/TextField.d.ts.map +1 -1
  318. package/types/examples/plasma_web/components/Select/Select.d.ts +27 -123
  319. package/types/examples/plasma_web/components/Select/Select.d.ts.map +1 -1
  320. package/types/examples/plasma_web/components/TextArea/TextArea.config.d.ts +3 -0
  321. package/types/examples/plasma_web/components/TextArea/TextArea.config.d.ts.map +1 -1
  322. package/types/examples/plasma_web/components/TextArea/TextArea.d.ts +3 -0
  323. package/types/examples/plasma_web/components/TextArea/TextArea.d.ts.map +1 -1
  324. package/types/examples/plasma_web/components/TextField/TextField.config.d.ts +3 -0
  325. package/types/examples/plasma_web/components/TextField/TextField.config.d.ts.map +1 -1
  326. package/types/examples/plasma_web/components/TextField/TextField.d.ts +7 -0
  327. package/types/examples/plasma_web/components/TextField/TextField.d.ts.map +1 -1
  328. package/types/examples/sds_engineer/components/TextField/TextField.d.ts +4 -0
  329. package/types/examples/sds_engineer/components/TextField/TextField.d.ts.map +1 -1
  330. package/cjs/components/Select/utils/getView.js +0 -27
  331. package/cjs/components/Select/utils/getView.js.map +0 -1
  332. package/cjs/components/TextField/TextField_wctd2m.css +0 -1
  333. package/cjs/components/TextField/variations/_label-placement/base_qtoism.css +0 -1
  334. package/emotion/cjs/components/Select/utils/getView.js +0 -26
  335. package/emotion/es/components/Select/utils/getView.js +0 -20
  336. package/es/components/Select/utils/getView.js +0 -23
  337. package/es/components/Select/utils/getView.js.map +0 -1
  338. package/es/components/TextField/TextField_wctd2m.css +0 -1
  339. package/es/components/TextField/variations/_label-placement/base_qtoism.css +0 -1
  340. package/styled-components/cjs/components/Select/utils/getView.js +0 -26
  341. package/styled-components/es/components/Select/utils/getView.js +0 -20
  342. package/types/components/Select/utils/getView.d.ts +0 -3
  343. package/types/components/Select/utils/getView.d.ts.map +0 -1
@@ -40,14 +40,11 @@ export var IconWrapper = /*#__PURE__*/styled.div.withConfig({
40
40
  });
41
41
  export var StyledText = /*#__PURE__*/styled.div.withConfig({
42
42
  componentId: "plasma-new-hope__sc-fr2h0y-6"
43
- })(["", ";flex:1;color:", ";"], /*#__PURE__*/applyEllipsis(), function (_ref5) {
44
- var color = _ref5.color;
45
- return color || 'inherit';
46
- });
43
+ })(["", ";flex:1;"], /*#__PURE__*/applyEllipsis());
47
44
  export var Wrapper = /*#__PURE__*/styled.li.withConfig({
48
45
  componentId: "plasma-new-hope__sc-fr2h0y-7"
49
- })(["display:flex;align-items:center;min-height:var(", ");margin:0;box-sizing:content-box;padding:", ";font-family:var(", ");font-size:var(", ");font-style:var(", ");font-weight:var(", ");letter-spacing:var(", ");line-height:var(", ");background:var(", ");color:var(--text-primary);border-radius:var(", ");user-select:none;&:hover:not(.", "){cursor:pointer;background:var(", ");}&.", "{background:var(", ");}&.", "{opacity:", ";cursor:not-allowed;}:focus{outline:none;}", ";"], tokens.itemHeight, function (_ref6) {
50
- var variant = _ref6.variant;
46
+ })(["display:flex;align-items:center;min-height:var(", ");margin:0;box-sizing:content-box;padding:", ";font-family:var(", ");font-size:var(", ");font-style:var(", ");font-weight:var(", ");letter-spacing:var(", ");line-height:var(", ");background:var(", ");color:var(--text-primary);border-radius:var(", ");user-select:none;&:hover:not(.", "){cursor:pointer;background:var(", ");}&.", "{background:var(", ");}&.", "{opacity:", ";cursor:not-allowed;}:focus{outline:none;}", ";"], tokens.itemHeight, function (_ref5) {
47
+ var variant = _ref5.variant;
51
48
  return "var(".concat(variant === 'tight' ? tokens.itemPaddingTight : tokens.itemPadding, ")");
52
49
  }, tokens.fontFamily, tokens.fontSize, tokens.fontStyle, tokens.fontWeight, tokens.fontLetterSpacing, tokens.fontLineHeight, constants.itemBackground, tokens.itemBorderRadius, classes.dropdownItemIsDisabled, constants.itemBackgroundHover, classes.dropdownItemIsActive, constants.itemBackgroundHover, classes.dropdownItemIsDisabled, constants.opacity, /*#__PURE__*/addFocus({
53
50
  outlineSize: '0.0625rem',
@@ -16,8 +16,7 @@ export var Target = function Target(_ref) {
16
16
  renderValue = _ref.renderValue,
17
17
  focusedPath = _ref.focusedPath,
18
18
  focusedToValueMap = _ref.focusedToValueMap,
19
- selectProps = _ref.selectProps,
20
- separator = _ref.separator;
19
+ selectProps = _ref.selectProps;
21
20
  return selectProps.target === 'button-like' ? /*#__PURE__*/React.createElement(Button, {
22
21
  opened: opened,
23
22
  value: value,
@@ -29,8 +28,7 @@ export var Target = function Target(_ref) {
29
28
  renderValue: renderValue,
30
29
  focusedPath: focusedPath,
31
30
  focusedToValueMap: focusedToValueMap,
32
- selectProps: selectProps,
33
- separator: separator
31
+ selectProps: selectProps
34
32
  }) : /*#__PURE__*/React.createElement(Textfield, {
35
33
  opened: opened,
36
34
  value: value,
@@ -39,9 +39,7 @@ export var Button = function Button(_ref) {
39
39
  "aria-activedescendant": getActiveDescendant(),
40
40
  "aria-label": label,
41
41
  renderTarget: Boolean(selectProps.renderTarget)
42
- }, selectProps.renderTarget ? selectProps.renderTarget(Array.isArray(value) ? value.map(function (value) {
43
- return valueToItemMap.get(value);
44
- }) : valueToItemMap.get(value)) : /*#__PURE__*/React.createElement(Label, null, getButtonLabel({
42
+ }, selectProps.renderTarget ? selectProps.renderTarget(value) : /*#__PURE__*/React.createElement(Label, null, getButtonLabel({
45
43
  value: value,
46
44
  valueToItemMap: valueToItemMap,
47
45
  label: label,
@@ -15,7 +15,7 @@ var getLabel = function getLabel(_ref) {
15
15
  labelPlacement = _ref.labelPlacement,
16
16
  size = _ref.size,
17
17
  renderValue = _ref.renderValue;
18
- if (isEmpty(value) && typeof value !== 'number') {
18
+ if (isEmpty(value)) {
19
19
  if (!label || labelPlacement === 'outer') {
20
20
  return /*#__PURE__*/React.createElement(Placeholder, null, placeholder);
21
21
  }
@@ -31,7 +31,7 @@ var getLabel = function getLabel(_ref) {
31
31
  return value.map(function (currentValue, index) {
32
32
  var itemLabel = valueToItemMap.get(currentValue).label;
33
33
  return /*#__PURE__*/React.createElement(Chip, {
34
- text: renderValue ? renderValue(valueToItemMap.get(currentValue)) : itemLabel,
34
+ text: renderValue ? renderValue(currentValue, itemLabel) : itemLabel,
35
35
  onClick: function onClick(e) {
36
36
  e.stopPropagation();
37
37
  onChipClick(currentValue);
@@ -42,9 +42,9 @@ var getLabel = function getLabel(_ref) {
42
42
  }
43
43
  var itemLabel = valueToItemMap.get(value).label;
44
44
  if (!label || labelPlacement === 'outer') {
45
- return /*#__PURE__*/React.createElement(Value, null, renderValue ? renderValue(valueToItemMap.get(value)) : itemLabel);
45
+ return /*#__PURE__*/React.createElement(Value, null, renderValue ? renderValue(value, itemLabel) : itemLabel);
46
46
  }
47
- return /*#__PURE__*/React.createElement(InnerLabelWrapper, null, size !== 'xs' && /*#__PURE__*/React.createElement(InnerLabel, null, label), /*#__PURE__*/React.createElement(Value, null, renderValue ? renderValue(valueToItemMap.get(value)) : itemLabel));
47
+ return /*#__PURE__*/React.createElement(InnerLabelWrapper, null, size !== 'xs' && /*#__PURE__*/React.createElement(InnerLabel, null, label), /*#__PURE__*/React.createElement(Value, null, renderValue ? renderValue(value, itemLabel) : itemLabel));
48
48
  };
49
49
  export var Textfield = function Textfield(_ref2) {
50
50
  var opened = _ref2.opened,
@@ -85,9 +85,7 @@ export var Textfield = function Textfield(_ref2) {
85
85
  "aria-activedescendant": getActiveDescendant(),
86
86
  "aria-label": label,
87
87
  renderTarget: Boolean(selectProps.renderTarget)
88
- }, /*#__PURE__*/React.createElement(Wrapper, null, selectProps !== null && selectProps !== void 0 && selectProps.renderTarget ? selectProps.renderTarget(Array.isArray(value) ? value.map(function (value) {
89
- return valueToItemMap.get(value);
90
- }) : valueToItemMap.get(value)) : /*#__PURE__*/React.createElement(React.Fragment, null, contentLeft && (!selectProps.multiselect || isEmpty(value)) && /*#__PURE__*/React.createElement(ContentLeftWrapper, null, contentLeft), /*#__PURE__*/React.createElement(ChipWrapper, null, getLabel({
88
+ }, /*#__PURE__*/React.createElement(Wrapper, null, selectProps !== null && selectProps !== void 0 && selectProps.renderTarget ? selectProps.renderTarget(value) : /*#__PURE__*/React.createElement(React.Fragment, null, contentLeft && (!selectProps.multiselect || isEmpty(value)) && /*#__PURE__*/React.createElement(ContentLeftWrapper, null, contentLeft), /*#__PURE__*/React.createElement(ChipWrapper, null, getLabel({
91
89
  value: value,
92
90
  valueToItemMap: valueToItemMap,
93
91
  onChipClick: onChipClick,
@@ -3,9 +3,9 @@ var getLabel = function getLabel(_ref) {
3
3
  var value = _ref.value,
4
4
  valueToItemMap = _ref.valueToItemMap,
5
5
  renderValue = _ref.renderValue;
6
- var _ref2 = valueToItemMap.get(value),
6
+ var _ref2 = valueToItemMap.get(value === null || value === void 0 ? void 0 : value.toString()),
7
7
  label = _ref2.label;
8
- return renderValue ? renderValue(valueToItemMap.get(value)) : label;
8
+ return renderValue ? renderValue(value, label) : label;
9
9
  };
10
10
  export var getButtonLabel = function getButtonLabel(_ref3) {
11
11
  var value = _ref3.value,
@@ -13,7 +13,7 @@ export var getButtonLabel = function getButtonLabel(_ref3) {
13
13
  label = _ref3.label,
14
14
  renderValue = _ref3.renderValue,
15
15
  selectProps = _ref3.selectProps;
16
- if (isEmpty(value) && typeof value !== 'number') {
16
+ if (isEmpty(value)) {
17
17
  return label || '';
18
18
  }
19
19
  if (selectProps.multiselect && selectProps.isTargetAmount) {
@@ -29,8 +29,8 @@ export var getButtonLabel = function getButtonLabel(_ref3) {
29
29
  }).join(', ');
30
30
  }
31
31
  return getLabel({
32
+ renderValue: renderValue,
32
33
  value: value,
33
- valueToItemMap: valueToItemMap,
34
- renderValue: renderValue
34
+ valueToItemMap: valueToItemMap
35
35
  });
36
36
  };
@@ -4,5 +4,4 @@ export { updateAncestors } from './updateAncestors';
4
4
  export { updateSingleAncestors } from './updateSingleAncestors';
5
5
  export { sizeToIconSize } from './sizeToIconSize';
6
6
  export { getCorrectHeight } from './getCorrectHeight';
7
- export { getButtonLabel } from './getButtonLabel';
8
- export { getView } from './getView';
7
+ export { getButtonLabel } from './getButtonLabel';
@@ -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", "requiredAlign", "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,11 +24,12 @@ 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 } 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';
31
31
  import { base as disabledCSS } from './variations/_disabled/base';
32
+ import { base as requiredCSS } from './variations/_required/base';
32
33
  var innerPlaceholderUp = classes.innerPlaceholderUp,
33
34
  focusedOuterPlaceholderColor = classes.focusedOuterPlaceholderColor,
34
35
  hidePlaceHolder = classes.hidePlaceHolder,
@@ -89,6 +90,8 @@ 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
+ requiredAlign = props.requiredAlign,
92
95
  size = props.size,
93
96
  view = props.view,
94
97
  id = props.id,
@@ -117,6 +120,8 @@ export var textAreaRoot = function textAreaRoot(Root) {
117
120
  var textareaHelperId = id ? "".concat(id, "-helper") : undefined;
118
121
  var applyCustomWidth = resize !== 'horizontal' && resize !== 'both' && !cols;
119
122
  var placeLabel = labelPlacement === 'inner' && label && size !== 'xs' ? label : placeholder;
123
+ var hasOuterLabel = Boolean(label && labelPlacement === 'outer');
124
+ var requiredAlignClass = requiredAlign === 'right' ? 'align-right ' : undefined;
120
125
  useResizeObserver(outerRef, function (currentElement) {
121
126
  var inlineWidth = currentElement.style.width;
122
127
  if (inlineWidth || cols) {
@@ -155,16 +160,21 @@ export var textAreaRoot = function textAreaRoot(Root) {
155
160
  size: size,
156
161
  disabled: disabled,
157
162
  readOnly: readOnly,
163
+ required: required,
158
164
  style: _objectSpread({
159
165
  width: helperWidth
160
166
  }, style),
161
167
  className: className
162
- }, label && labelPlacement === 'outer' && /*#__PURE__*/React.createElement(StyledLabel, null, label), /*#__PURE__*/React.createElement(StyledContainer, {
168
+ }, hasOuterLabel && /*#__PURE__*/React.createElement(StyledLabel, null, required && /*#__PURE__*/React.createElement(StyledIndicator, {
169
+ className: cx('placement-outer', requiredAlignClass)
170
+ }), label), /*#__PURE__*/React.createElement(StyledContainer, {
163
171
  className: cx.apply(void 0, [styledContainer].concat(_toConsumableArray(dynamicLabelClasses))),
164
172
  width: helperWidth,
165
173
  onFocus: onFocusHandler,
166
174
  onBlur: onBlurHandler
167
- }, contentRight && /*#__PURE__*/React.createElement(StyledContent, null, contentRight), /*#__PURE__*/React.createElement(StyledTextAreaWrapper, {
175
+ }, required && !hasOuterLabel && /*#__PURE__*/React.createElement(StyledIndicator, {
176
+ className: cx('placement-inner', requiredAlignClass)
177
+ }), contentRight && /*#__PURE__*/React.createElement(StyledContent, null, contentRight), /*#__PURE__*/React.createElement(StyledTextAreaWrapper, {
168
178
  className: styledTextAreaWrapper,
169
179
  hasHelper: hasHelper
170
180
  }, /*#__PURE__*/React.createElement(StyledTextArea, _extends({
@@ -212,6 +222,10 @@ export var textAreaConfig = {
212
222
  css: disabledCSS,
213
223
  attrs: true
214
224
  },
225
+ required: {
226
+ css: requiredCSS,
227
+ attrs: true
228
+ },
215
229
  readOnly: {
216
230
  attrs: true
217
231
  }
@@ -3,7 +3,7 @@ import { applyEllipsis } from '../../mixins';
3
3
  import { 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);
6
+ })(["position:relative;display:inline-block;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
7
  export var StyledTextAreaWrapper = /*#__PURE__*/styled.div.withConfig({
8
8
  componentId: "plasma-new-hope__sc-pxxv3p-1"
9
9
  })(["background-color:var(", ");padding-top:var(", ");padding-bottom:", ";border-radius:", ";"], tokens.inputBackgroundColor, tokens.inputPaddingTop, function (_ref) {
@@ -67,4 +67,7 @@ export var StyledPlaceholder = /*#__PURE__*/styled.label.withConfig({
67
67
  })(["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
68
  var hasContentRight = _ref13.hasContentRight;
69
69
  return hasContentRight ? "var(".concat(tokens.inputPaddingRightWithRightContent, ")") : "var(".concat(tokens.inputPaddingRight, ")");
70
- }, tokens.inputFontFamily, tokens.inputFontSize, tokens.inputFontStyle, tokens.inputFontWeight, tokens.inputLetterSpacing, tokens.inputLineHeight);
70
+ }, tokens.inputFontFamily, tokens.inputFontSize, tokens.inputFontStyle, tokens.inputFontWeight, tokens.inputLetterSpacing, tokens.inputLineHeight);
71
+ export var StyledIndicator = /*#__PURE__*/styled.div.withConfig({
72
+ componentId: "plasma-new-hope__sc-pxxv3p-9"
73
+ })(["position:absolute;border-radius:50%;background-color:var(", ");&.placement-outer{width:var(", ");height:var(", ");inset:var(", ");&.align-right{inset:var(", ");}}&.placement-inner{width:var(", ");height:var(", ");inset:var(", ");&.align-right{inset:var(", ");}}"], tokens.indicatorColor, tokens.indicatorSizeOuter, tokens.indicatorSizeOuter, tokens.indicatorLabelPlacementOuter, tokens.indicatorLabelPlacementOuterRight, 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` и `requiredAlign`. Где `requiredAlign` отвечает за выравнивание и принимает значения `"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
+ requiredAlign="right"
148
+ />
149
+ </div>
150
+ );
151
+ }
152
+ ```
@@ -146,5 +146,12 @@ export var tokens = {
146
146
  /** Прозрачность для всего компонента в состоянии disabled */
147
147
  disabledOpacity: '--plasma-textarea-disabled-opacity',
148
148
  /** Цвет текста для элемента textarea в состоянии disabled */
149
- inputColorDisabled: '--plasma-textarea-input-color-disabled'
149
+ inputColorDisabled: '--plasma-textarea-input-color-disabled',
150
+ indicatorColor: '--plasma-textarea-indicator-color',
151
+ indicatorSizeInner: '--plasma-textarea-indicator-size-inner',
152
+ indicatorSizeOuter: '--plasma-textarea-indicator-size-outer',
153
+ indicatorLabelPlacementInner: '--plasma-textarea-indicator-placement-inner',
154
+ indicatorLabelPlacementOuter: '--plasma-textarea-indicator-placement-outer',
155
+ indicatorLabelPlacementInnerRight: '--plasma-textarea-indicator-placement-inner-right',
156
+ indicatorLabelPlacementOuterRight: '--plasma-textarea-indicator-placement-outer-right'
150
157
  };
@@ -0,0 +1,2 @@
1
+ import { css } from 'styled-components';
2
+ export var base = /*#__PURE__*/css([""]);
@@ -0,0 +1 @@
1
+ ["--plasma-textarea-indicator-color"]
@@ -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", "requiredAlign", "view", "size", "readOnly", "disabled", "required", "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."); }
@@ -16,12 +16,13 @@ import { base as sizeCSS } from './variations/_size/base';
16
16
  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
+ import { base as requiredCSS } from './variations/_required/base';
19
20
  import { base as labelPlacementCSS } from './variations/_label-placement/base';
20
- import { Input, LeftHelper, Label, InputWrapper, InputLabelWrapper, StyledContentLeft, StyledContentRight, StyledChips, StyledTextBefore, StyledTextAfter } from './TextField.styles';
21
+ import { Input, LeftHelper, Label, InputWrapper, InputLabelWrapper, StyledContentLeft, StyledContentRight, StyledChips, StyledTextBefore, StyledTextAfter, StyledIndicator } from './TextField.styles';
21
22
  import { classes } from './TextField.tokens';
22
23
  import { TextFieldChip } from './ui';
23
24
  import { useKeyNavigation } from './hooks';
24
- export var base = /*#__PURE__*/css(["display:block;overflow:hidden;"]);
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,16 @@ 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$requiredAlign = _ref.requiredAlign,
42
+ requiredAlign = _ref$requiredAlign === void 0 ? 'left' : _ref$requiredAlign,
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,
46
51
  values = _ref.chips,
47
52
  onChange = _ref.onChange,
48
53
  onChangeChips = _ref.onChangeChips,
@@ -72,6 +77,8 @@ export var textFieldRoot = function textFieldRoot(Root) {
72
77
  var innerLabelPlacementValue = hideLabel ? 'outer' : labelPlacement;
73
78
  var innerPlaceholderValue = hideLabel ? label : placeholder;
74
79
  var innerLabelValue = hideLabel ? undefined : label;
80
+ var hasOuterLabel = Boolean(!labelInside && innerLabelValue);
81
+ var requiredAlignClass = requiredAlign === 'right' ? 'align-right ' : undefined;
75
82
  var hideLabelClass = hideLabel && label ? classes.hideLabel : undefined;
76
83
  var labelPlacementClass = classes["".concat(labelPlacement, "LabelPlacement")];
77
84
  var isChipsVisible = isChipEnumeration && (chips === null || chips === void 0 ? void 0 : chips.length);
@@ -147,17 +154,22 @@ export var textFieldRoot = function textFieldRoot(Root) {
147
154
  view: view,
148
155
  size: size,
149
156
  disabled: disabled,
157
+ required: required,
150
158
  readOnly: !disabled && readOnly,
151
159
  labelPlacement: innerLabelPlacementValue,
152
160
  onClick: handleInputFocus,
153
161
  className: cx(labelPlacementClass, hideLabelClass, className),
154
162
  style: style
155
- }, labelInside || innerLabelValue && /*#__PURE__*/React.createElement(Label, {
163
+ }, hasOuterLabel && /*#__PURE__*/React.createElement(Label, {
156
164
  id: labelId,
157
165
  htmlFor: id
158
- }, innerLabelValue), /*#__PURE__*/React.createElement(InputWrapper, {
166
+ }, required && /*#__PURE__*/React.createElement(StyledIndicator, {
167
+ className: cx('placement-outer', requiredAlignClass)
168
+ }), innerLabelValue), /*#__PURE__*/React.createElement(InputWrapper, {
159
169
  className: cx(withHasChips, wrapperWithoutLeftContent, wrapperWithoutRightContent)
160
- }, contentLeft && /*#__PURE__*/React.createElement(StyledContentLeft, null, contentLeft), /*#__PURE__*/React.createElement(InputLabelWrapper, {
170
+ }, !hasOuterLabel && required && /*#__PURE__*/React.createElement(StyledIndicator, {
171
+ className: cx('placement-inner', requiredAlignClass)
172
+ }), contentLeft && /*#__PURE__*/React.createElement(StyledContentLeft, null, contentLeft), /*#__PURE__*/React.createElement(InputLabelWrapper, {
161
173
  tabIndex: -1,
162
174
  ref: contentRef,
163
175
  onKeyDown: handleContentKeyDown,
@@ -221,6 +233,10 @@ export var textFieldConfig = {
221
233
  css: readOnlyCSS,
222
234
  attrs: true
223
235
  },
236
+ required: {
237
+ css: requiredCSS,
238
+ attrs: true
239
+ },
224
240
  labelPlacement: {
225
241
  css: labelPlacementCSS
226
242
  }
@@ -14,7 +14,7 @@ export var Input = /*#__PURE__*/styled.input.withConfig({
14
14
  })(["box-sizing:border-box;appearance:none;border:0;padding:0;background-color:transparent;outline:none;flex:1;min-width:60%;"]);
15
15
  export var Label = /*#__PURE__*/styled.label.withConfig({
16
16
  componentId: "plasma-new-hope__sc-g4vxbb-4"
17
- })([""]);
17
+ })(["position:relative;"]);
18
18
  export var StyledContentLeft = /*#__PURE__*/styled.div.withConfig({
19
19
  componentId: "plasma-new-hope__sc-g4vxbb-5"
20
20
  })(["margin:var(", ");line-height:0;"], tokens.leftContentMargin);
@@ -29,4 +29,7 @@ export var StyledTextBefore = /*#__PURE__*/styled.div.withConfig({
29
29
  })([""]);
30
30
  export var StyledTextAfter = /*#__PURE__*/styled.div.withConfig({
31
31
  componentId: "plasma-new-hope__sc-g4vxbb-9"
32
- })([""]);
32
+ })([""]);
33
+ export var StyledIndicator = /*#__PURE__*/styled.div.withConfig({
34
+ componentId: "plasma-new-hope__sc-g4vxbb-10"
35
+ })(["position:absolute;border-radius:50%;background-color:var(", ");&.placement-outer{width:var(", ");height:var(", ");inset:var(", ");&.align-right{inset:var(", ");}}&.placement-inner{width:var(", ");height:var(", ");inset:var(", ");&.align-right{inset:var(", ");}}"], tokens.indicatorColor, tokens.indicatorSizeOuter, tokens.indicatorSizeOuter, tokens.indicatorLabelPlacementOuter, tokens.indicatorLabelPlacementOuterRight, tokens.indicatorSizeInner, tokens.indicatorSizeInner, tokens.indicatorLabelPlacementInner, tokens.indicatorLabelPlacementInnerRight);
@@ -112,7 +112,7 @@ export function App() {
112
112
  ```
113
113
 
114
114
  ### Режим ввода
115
- С помощью свойства `enumarationType` можно вводить элементы как теги.
115
+ С помощью свойства `enumarationType` можно вводить элементы как теги.
116
116
  По нажатию Enter, после ввода нужного текста, он преобразуется в Chip:
117
117
 
118
118
  ```tsx live
@@ -134,3 +134,29 @@ export function App() {
134
134
  );
135
135
  }
136
136
  ```
137
+
138
+
139
+ ### Обязательность поля
140
+ Обязательность поля задаётся с помощью свойств `required` и `requiredAlign`. Где `requiredAlign` отвечает за выравнивание и принимает значения `"left"` и `"right"`:
141
+
142
+ ```tsx live
143
+ import React from 'react';
144
+ import { TextField } from '@salutejs/{{ package }}';
145
+
146
+ export function App() {
147
+ return (
148
+ <div>
149
+ <TextField
150
+ placeholder="Введите значение"
151
+ required
152
+ />
153
+ <TextField
154
+ placeholder="Введите значение"
155
+ label="Заголовок"
156
+ required
157
+ requiredAlign="right"
158
+ />
159
+ </div>
160
+ );
161
+ }
162
+ ```
@@ -106,5 +106,12 @@ export var tokens = {
106
106
  chipClearContentMarginLeft: '--plasma-textfield__chip-clear-content-margin-left',
107
107
  chipClearContentMarginRight: '--plasma-textfield__chip-clear-content-margin-right',
108
108
  chipOpacityReadonly: '--plasma-textfield__chip-opacity-readonly',
109
- focusColor: '--plasma-textfield-focus-color'
109
+ focusColor: '--plasma-textfield-focus-color',
110
+ indicatorColor: '--plasma-textfield-indicator-color',
111
+ indicatorSizeInner: '--plasma-textfield-indicator-size-inner',
112
+ indicatorSizeOuter: '--plasma-textfield-indicator-size-outer',
113
+ indicatorLabelPlacementInner: '--plasma-textfield-indicator-placement-inner',
114
+ indicatorLabelPlacementOuter: '--plasma-textfield-indicator-placement-outer',
115
+ indicatorLabelPlacementInnerRight: '--plasma-textfield-indicator-placement-inner-right',
116
+ indicatorLabelPlacementOuterRight: '--plasma-textfield-indicator-placement-outer-right'
110
117
  };
@@ -1,4 +1,4 @@
1
1
  import { css } from 'styled-components';
2
2
  import { classes, tokens } from '../../TextField.tokens';
3
3
  import { Input, Label, StyledTextAfter, StyledTextBefore } from '../../TextField.styles';
4
- export var base = /*#__PURE__*/css(["&.", "{", "{display:block;margin-bottom:var(", ");color:var(", ");}}&.", "{&:not(.", "){", "{padding:var(", ");}", ",", "{padding:var(", ");}}", ":focus ~ ", ",", ":not(:placeholder-shown) ~ ", "{height:auto;padding:var(", ");font-family:var(", ");font-size:var(", ");font-style:var(", ");font-weight:var(", ");letter-spacing:var(", ");line-height:var(", ");}&:not(.", "){", ":not(:focus)::placeholder{color:transparent;}", ":focus::placeholder{color:transparent;}}", "{color:var(", ");pointer-events:none;position:absolute;top:0;display:flex;align-items:center;box-sizing:border-box;transition:padding 0.1s ease-in-out,height 0s;height:var(", ");padding-top:calc(var(", ") / 4);padding-bottom:calc(var(", ") / 4);}}"], classes.outerLabelPlacement, Label, tokens.labelOffset, tokens.labelColor, classes.innerLabelPlacement, classes.hideLabel, Input, tokens.contentLabelInnerPadding, StyledTextAfter, StyledTextBefore, tokens.contentLabelInnerPadding, Input, Label, Input, Label, tokens.labelInnerPadding, tokens.labelInnerFontFamily, tokens.labelInnerFontSize, tokens.labelInnerFontStyle, tokens.labelInnerFontWeight, tokens.labelInnerLetterSpacing, tokens.labelInnerLineHeight, classes.hideLabel, Input, Input, Label, tokens.placeholderColor, tokens.height, tokens.height, tokens.height);
4
+ export var base = /*#__PURE__*/css(["&.", "{", "{position:relative;display:inline-block;margin-bottom:var(", ");color:var(", ");}}&.", "{&:not(.", "){", "{padding:var(", ");}", ",", "{padding:var(", ");}}", ":focus ~ ", ",", ":not(:placeholder-shown) ~ ", "{height:auto;padding:var(", ");font-family:var(", ");font-size:var(", ");font-style:var(", ");font-weight:var(", ");letter-spacing:var(", ");line-height:var(", ");}&:not(.", "){", ":not(:focus)::placeholder{color:transparent;}", ":focus::placeholder{color:transparent;}}", "{color:var(", ");pointer-events:none;position:absolute;top:0;display:flex;align-items:center;box-sizing:border-box;transition:padding 0.1s ease-in-out,height 0s;height:var(", ");padding-top:calc(var(", ") / 4);padding-bottom:calc(var(", ") / 4);}}"], classes.outerLabelPlacement, Label, tokens.labelOffset, tokens.labelColor, classes.innerLabelPlacement, classes.hideLabel, Input, tokens.contentLabelInnerPadding, StyledTextAfter, StyledTextBefore, tokens.contentLabelInnerPadding, Input, Label, Input, Label, tokens.labelInnerPadding, tokens.labelInnerFontFamily, tokens.labelInnerFontSize, tokens.labelInnerFontStyle, tokens.labelInnerFontWeight, tokens.labelInnerLetterSpacing, tokens.labelInnerLineHeight, classes.hideLabel, Input, Input, Label, tokens.placeholderColor, tokens.height, tokens.height, tokens.height);
@@ -0,0 +1,2 @@
1
+ import { css } from 'styled-components';
2
+ export var base = /*#__PURE__*/css([""]);
@@ -0,0 +1 @@
1
+ ["--plasma-textfield-indicator-color"]
@@ -2,5 +2,11 @@
2
2
  "--plasma-textfield-height",
3
3
  "--plasma-textfield-padding",
4
4
  "--plasma-textfield-radius",
5
+ "--plasma-textfield-indicator-size-inner",
6
+ "--plasma-textfield-indicator-size-outer",
7
+ "--plasma-textfield-indicator-placement-inner",
8
+ "--plasma-textfield-indicator-placement-outer",
9
+ "--plasma-textfield-indicator-placement-inner-right",
10
+ "--plasma-textfield-indicator-placement-outer-right",
5
11
  { "name": "typography", "type": "enum", "value": "typo:body" }
6
12
  ]
@@ -60,23 +60,9 @@ const meta: Meta<StorySelectProps> = {
60
60
  type: 'select',
61
61
  },
62
62
  },
63
- listWidth: {
64
- control: {
65
- type: 'text',
66
- },
67
- },
68
- listOverflow: {
69
- control: {
70
- type: 'text',
71
- },
72
- },
73
- listHeight: {
74
- control: {
75
- type: 'text',
76
- },
77
- },
78
63
  },
79
64
  args: {
65
+ multiselect: false,
80
66
  target: 'textfield-like',
81
67
  label: 'Label',
82
68
  labelPlacement: 'outer',
@@ -89,27 +75,7 @@ const meta: Meta<StorySelectProps> = {
89
75
  isTargetAmount: false,
90
76
  variant: 'normal',
91
77
  disabled: false,
92
- },
93
- parameters: {
94
- controls: {
95
- include: [
96
- 'target',
97
- 'size',
98
- 'view',
99
- 'chipView',
100
- 'enableContentLeft',
101
- 'label',
102
- 'labelPlacement',
103
- 'placeholder',
104
- 'helperText',
105
- 'isTargetAmount',
106
- 'variant',
107
- 'disabled',
108
- 'listWidth',
109
- 'listOverflow',
110
- 'listHeight',
111
- ],
112
- },
78
+ separator: '',
113
79
  },
114
80
  };
115
81
 
@@ -388,8 +354,8 @@ const PredefinedStory = (args: StorySelectProps) => {
388
354
 
389
355
  <Select
390
356
  {...args}
391
- items={items}
392
357
  multiselect
358
+ items={items}
393
359
  value={valueMultiple}
394
360
  onChange={setValueMultiple}
395
361
  contentLeft={args.enableContentLeft ? <IconDone size="s" /> : undefined}
@@ -399,6 +365,11 @@ const PredefinedStory = (args: StorySelectProps) => {
399
365
  };
400
366
 
401
367
  export const Predefined: StoryObj<StorySelectProps> = {
368
+ parameters: {
369
+ controls: {
370
+ exclude: ['multiselect'],
371
+ },
372
+ },
402
373
  render: (args) => <PredefinedStory {...args} />,
403
374
  };
404
375
 
@@ -824,7 +795,19 @@ const CommonStory = (args: StorySelectProps) => {
824
795
  export const Common: StoryObj<StorySelectProps> = {
825
796
  parameters: {
826
797
  controls: {
827
- exclude: ['target', 'view'],
798
+ include: [
799
+ 'size',
800
+ 'enableContentLeft',
801
+ 'chipView',
802
+ 'label',
803
+ 'labelPlacement',
804
+ 'placeholder',
805
+ 'helperText',
806
+ 'isTargetAmount',
807
+ 'variant',
808
+ 'disabled',
809
+ 'separator',
810
+ ],
828
811
  },
829
812
  },
830
813
  argTypes: {