@salutejs/plasma-new-hope 0.173.0-canary.1500.11456169969.0 → 0.173.0-dev.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (639) hide show
  1. package/cjs/components/Autocomplete/Autocomplete.css +35 -19
  2. package/cjs/components/Autocomplete/Autocomplete.js +4 -2
  3. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  4. package/cjs/components/Badge/Badge.css +0 -2
  5. package/cjs/components/Badge/Badge.js +2 -9
  6. package/cjs/components/Badge/Badge.js.map +1 -1
  7. package/cjs/components/Badge/Badge.tokens.js +1 -2
  8. package/cjs/components/Badge/Badge.tokens.js.map +1 -1
  9. package/cjs/components/Combobox/ComboboxNew/Combobox.css +39 -18
  10. package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.css +39 -18
  11. package/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.css +39 -18
  12. package/cjs/components/DatePicker/RangeDate/RangeDate.css +34 -18
  13. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +34 -18
  14. package/cjs/components/DatePicker/SingleDate/SingleDate.css +36 -20
  15. package/cjs/components/Range/Range.css +40 -19
  16. package/cjs/components/Slider/Slider.css +40 -19
  17. package/cjs/components/Slider/Slider.js +2 -0
  18. package/cjs/components/Slider/Slider.js.map +1 -1
  19. package/cjs/components/Slider/components/Double/Double.css +40 -19
  20. package/cjs/components/Tabs/tokens.js +1 -2
  21. package/cjs/components/Tabs/tokens.js.map +1 -1
  22. package/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.css +0 -2
  23. package/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +2 -8
  24. package/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js.map +1 -1
  25. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.css +0 -2
  26. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +3 -11
  27. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js.map +1 -1
  28. package/cjs/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.css +5 -7
  29. package/cjs/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.js +2 -8
  30. package/cjs/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.js.map +1 -1
  31. package/cjs/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.styles.js +1 -1
  32. package/cjs/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.styles.js.map +1 -1
  33. package/cjs/components/Tabs/ui/vertical/VerticalTabItem/{VerticalTabItem.styles_1yspq9o.css → VerticalTabItem.styles_16d3lah.css} +1 -1
  34. package/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.css +0 -2
  35. package/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +2 -10
  36. package/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js.map +1 -1
  37. package/cjs/components/TextArea/TextArea.js +111 -19
  38. package/cjs/components/TextArea/TextArea.js.map +1 -1
  39. package/cjs/components/TextArea/TextArea.styles.js +166 -63
  40. package/cjs/components/TextArea/TextArea.styles.js.map +1 -1
  41. package/cjs/components/TextArea/TextArea.styles_1ke2ihc.css +18 -0
  42. package/cjs/components/TextArea/TextArea.tokens.js +45 -5
  43. package/cjs/components/TextArea/TextArea.tokens.js.map +1 -1
  44. package/cjs/components/TextArea/hooks/useAutoResize.js +2 -4
  45. package/cjs/components/TextArea/hooks/useAutoResize.js.map +1 -1
  46. package/cjs/components/TextArea/ui/Hint/Hint.css +30 -0
  47. package/cjs/components/TextArea/ui/Hint/Hint.js +53 -0
  48. package/cjs/components/TextArea/ui/Hint/Hint.js.map +1 -0
  49. package/cjs/components/TextArea/variations/_clear/base.js +1 -1
  50. package/cjs/components/TextArea/variations/_clear/base.js.map +1 -1
  51. package/cjs/components/TextArea/variations/_clear/base_iz2qkw.css +1 -0
  52. package/cjs/components/{Badge/variations/_truncate → TextArea/variations/_hint-size}/base.js +2 -2
  53. package/cjs/components/TextArea/variations/_hint-size/base.js.map +1 -0
  54. package/cjs/components/TextArea/variations/_hint-size/base_1ipgv90.css +1 -0
  55. package/cjs/components/{Tabs/ui/vertical/VerticalTabItem/variations/_truncate → TextArea/variations/_hint-view}/base.js +2 -2
  56. package/cjs/components/TextArea/variations/_hint-view/base.js.map +1 -0
  57. package/cjs/components/TextArea/variations/_hint-view/base_111a0qe.css +1 -0
  58. package/cjs/components/TextArea/variations/_view/base.js +1 -1
  59. package/cjs/components/TextArea/variations/_view/base.js.map +1 -1
  60. package/cjs/components/TextArea/variations/_view/base_1xgrm3x.css +1 -0
  61. package/cjs/components/TextField/TextField.js +100 -10
  62. package/cjs/components/TextField/TextField.js.map +1 -1
  63. package/cjs/components/TextField/TextField.styles.js +82 -23
  64. package/cjs/components/TextField/TextField.styles.js.map +1 -1
  65. package/cjs/components/TextField/TextField.styles_grgg7q.css +22 -0
  66. package/cjs/components/TextField/TextField.tokens.js +42 -2
  67. package/cjs/components/TextField/TextField.tokens.js.map +1 -1
  68. package/cjs/components/TextField/ui/Hint/Hint.css +34 -0
  69. package/cjs/components/TextField/ui/Hint/Hint.js +53 -0
  70. package/cjs/components/TextField/ui/Hint/Hint.js.map +1 -0
  71. package/cjs/components/TextField/variations/_clear/base.js +1 -1
  72. package/cjs/components/TextField/variations/_clear/base.js.map +1 -1
  73. package/cjs/components/TextField/variations/_clear/base_1i91sjp.css +1 -0
  74. package/cjs/components/TextField/variations/_disabled/base.js +1 -1
  75. package/cjs/components/TextField/variations/_disabled/{base_2tv0nz.css → base_4d3opa.css} +1 -1
  76. package/cjs/components/{Tabs/ui/horizontal/HorizontalTabItem/variations/_truncate → TextField/variations/_hint-size}/base.js +2 -2
  77. package/cjs/components/TextField/variations/_hint-size/base.js.map +1 -0
  78. package/cjs/components/TextField/variations/_hint-size/base_1x99605.css +1 -0
  79. package/cjs/components/{Tabs/ui/horizontal/HorizontalTabs/variations/_truncate → TextField/variations/_hint-view}/base.js +2 -2
  80. package/cjs/components/TextField/variations/_hint-view/base.js.map +1 -0
  81. package/cjs/components/TextField/variations/_hint-view/base_l8etux.css +1 -0
  82. package/cjs/components/TextField/variations/_label-placement/base.js +1 -1
  83. package/cjs/components/TextField/variations/_label-placement/base.js.map +1 -1
  84. package/cjs/components/TextField/variations/_label-placement/base_3domm.css +1 -0
  85. package/cjs/components/TextField/variations/_read-only/base.js +1 -1
  86. package/cjs/components/TextField/variations/_read-only/base.js.map +1 -1
  87. package/cjs/components/TextField/variations/_read-only/base_17ypmu7.css +1 -0
  88. package/cjs/components/TextField/variations/_size/base.js +1 -1
  89. package/cjs/components/TextField/variations/_size/base.js.map +1 -1
  90. package/cjs/components/TextField/variations/_size/base_1xdmaqh.css +1 -0
  91. package/cjs/components/TextField/variations/_view/base.js +1 -1
  92. package/cjs/components/TextField/variations/_view/base.js.map +1 -1
  93. package/cjs/components/TextField/variations/_view/base_qhyte8.css +1 -0
  94. package/cjs/components/TextFieldGroup/TextFieldGroup.css +1 -1
  95. package/cjs/components/TextFieldGroup/variations/_shape/base.js +1 -1
  96. package/cjs/components/TextFieldGroup/variations/_shape/base_52bndd.css +1 -0
  97. package/cjs/components/_Icon/Icon.assets/InfoCircleOutline.js +23 -0
  98. package/cjs/components/_Icon/Icon.assets/InfoCircleOutline.js.map +1 -0
  99. package/cjs/components/_Icon/Icons/IconInfoCircleOutline.js +23 -0
  100. package/cjs/components/_Icon/Icons/IconInfoCircleOutline.js.map +1 -0
  101. package/cjs/index.css +61 -49
  102. package/cjs/utils/index.js.map +1 -1
  103. package/emotion/cjs/components/Autocomplete/Autocomplete.js +4 -2
  104. package/emotion/cjs/components/Badge/Badge.js +2 -9
  105. package/emotion/cjs/components/Badge/Badge.tokens.js +1 -2
  106. package/emotion/cjs/components/Tabs/tokens.js +1 -2
  107. package/emotion/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +2 -8
  108. package/emotion/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +3 -11
  109. package/emotion/cjs/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.js +2 -8
  110. package/emotion/cjs/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.styles.js +5 -5
  111. package/emotion/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +2 -10
  112. package/emotion/cjs/components/TextArea/TextArea.js +115 -23
  113. package/emotion/cjs/components/TextArea/TextArea.styles.js +103 -41
  114. package/emotion/cjs/components/TextArea/TextArea.template-doc.mdx +6 -1
  115. package/emotion/cjs/components/TextArea/TextArea.tokens.js +45 -5
  116. package/emotion/cjs/components/TextArea/hooks/useAutoResize.js +2 -4
  117. package/emotion/cjs/components/TextArea/ui/Hint/Hint.js +53 -0
  118. package/emotion/cjs/components/TextArea/ui/Hint/Hint.types.js +5 -0
  119. package/emotion/cjs/components/TextArea/variations/_clear/base.js +1 -1
  120. package/emotion/cjs/components/TextArea/variations/_hint-size/base.js +11 -0
  121. package/emotion/cjs/components/TextArea/variations/_hint-size/tokens.json +21 -0
  122. package/emotion/cjs/components/TextArea/variations/_hint-view/base.js +11 -0
  123. package/emotion/cjs/components/TextArea/variations/_hint-view/tokens.json +5 -0
  124. package/emotion/cjs/components/TextArea/variations/_view/base.js +2 -1
  125. package/emotion/cjs/components/TextField/TextField.js +103 -13
  126. package/emotion/cjs/components/TextField/TextField.styles.js +88 -37
  127. package/emotion/cjs/components/TextField/TextField.template-doc.mdx +6 -1
  128. package/emotion/cjs/components/TextField/TextField.tokens.js +42 -2
  129. package/emotion/cjs/components/TextField/ui/Hint/Hint.js +53 -0
  130. package/emotion/cjs/components/TextField/ui/Hint/Hint.types.js +5 -0
  131. package/emotion/cjs/components/TextField/variations/_clear/base.js +1 -1
  132. package/emotion/cjs/components/TextField/variations/_hint-size/base.js +11 -0
  133. package/emotion/cjs/components/TextField/variations/_hint-size/tokens.json +21 -0
  134. package/emotion/cjs/components/TextField/variations/_hint-view/base.js +11 -0
  135. package/emotion/cjs/components/TextField/variations/_hint-view/tokens.json +5 -0
  136. package/emotion/cjs/components/TextField/variations/_label-placement/base.js +1 -1
  137. package/emotion/cjs/components/TextField/variations/_read-only/base.js +1 -1
  138. package/emotion/cjs/components/TextField/variations/_size/base.js +1 -1
  139. package/emotion/cjs/components/TextField/variations/_view/base.js +1 -1
  140. package/emotion/cjs/components/_Icon/Icon.assets/InfoCircleOutline.js +22 -0
  141. package/emotion/cjs/components/_Icon/Icons/IconInfoCircleOutline.js +22 -0
  142. package/emotion/cjs/components/_Icon/index.js +8 -1
  143. package/emotion/cjs/examples/plasma_b2c/components/Badge/Badge.config.js +14 -17
  144. package/emotion/cjs/examples/plasma_b2c/components/Badge/Badge.stories.tsx +2 -9
  145. package/emotion/cjs/examples/plasma_b2c/components/Tabs/Tabs.stories.tsx +5 -57
  146. package/emotion/cjs/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabItem.config.js +15 -18
  147. package/emotion/cjs/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabs.config.js +15 -18
  148. package/emotion/cjs/examples/plasma_b2c/components/Tabs/vertical/VerticalTabItem.config.js +6 -9
  149. package/emotion/cjs/examples/plasma_b2c/components/Tabs/vertical/VerticalTabs.config.js +6 -9
  150. package/emotion/cjs/examples/plasma_b2c/components/TextArea/TextArea.config.js +17 -10
  151. package/emotion/cjs/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +72 -0
  152. package/emotion/cjs/examples/plasma_b2c/components/TextField/TextField.config.js +20 -13
  153. package/emotion/cjs/examples/plasma_b2c/components/TextField/TextField.stories.tsx +73 -1
  154. package/emotion/cjs/examples/plasma_web/components/TextArea/TextArea.config.js +17 -10
  155. package/emotion/cjs/examples/plasma_web/components/TextArea/TextArea.stories.tsx +72 -0
  156. package/emotion/cjs/examples/plasma_web/components/TextField/TextField.config.js +20 -13
  157. package/emotion/cjs/examples/plasma_web/components/TextField/TextField.stories.tsx +82 -10
  158. package/emotion/es/components/Autocomplete/Autocomplete.js +4 -2
  159. package/emotion/es/components/Badge/Badge.js +2 -9
  160. package/emotion/es/components/Badge/Badge.tokens.js +1 -2
  161. package/emotion/es/components/Tabs/tokens.js +1 -2
  162. package/emotion/es/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +2 -8
  163. package/emotion/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +3 -11
  164. package/emotion/es/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.js +2 -8
  165. package/emotion/es/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.styles.js +5 -5
  166. package/emotion/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +2 -10
  167. package/emotion/es/components/TextArea/TextArea.js +115 -23
  168. package/emotion/es/components/TextArea/TextArea.styles.js +102 -40
  169. package/emotion/es/components/TextArea/TextArea.template-doc.mdx +6 -1
  170. package/emotion/es/components/TextArea/TextArea.tokens.js +45 -5
  171. package/emotion/es/components/TextArea/hooks/useAutoResize.js +2 -4
  172. package/emotion/es/components/TextArea/ui/Hint/Hint.js +44 -0
  173. package/emotion/es/components/TextArea/ui/Hint/Hint.types.js +1 -0
  174. package/emotion/es/components/TextArea/variations/_clear/base.js +2 -2
  175. package/emotion/es/components/TextArea/variations/_hint-size/base.js +5 -0
  176. package/emotion/es/components/TextArea/variations/_hint-size/tokens.json +21 -0
  177. package/emotion/es/components/TextArea/variations/_hint-view/base.js +5 -0
  178. package/emotion/es/components/TextArea/variations/_hint-view/tokens.json +5 -0
  179. package/emotion/es/components/TextArea/variations/_view/base.js +2 -1
  180. package/emotion/es/components/TextField/TextField.js +102 -12
  181. package/emotion/es/components/TextField/TextField.styles.js +87 -36
  182. package/emotion/es/components/TextField/TextField.template-doc.mdx +6 -1
  183. package/emotion/es/components/TextField/TextField.tokens.js +42 -2
  184. package/emotion/es/components/TextField/ui/Hint/Hint.js +44 -0
  185. package/emotion/es/components/TextField/ui/Hint/Hint.types.js +1 -0
  186. package/emotion/es/components/TextField/variations/_clear/base.js +2 -2
  187. package/emotion/es/components/TextField/variations/_hint-size/base.js +5 -0
  188. package/emotion/es/components/TextField/variations/_hint-size/tokens.json +21 -0
  189. package/emotion/es/components/TextField/variations/_hint-view/base.js +5 -0
  190. package/emotion/es/components/TextField/variations/_hint-view/tokens.json +5 -0
  191. package/emotion/es/components/TextField/variations/_label-placement/base.js +1 -1
  192. package/emotion/es/components/TextField/variations/_read-only/base.js +2 -2
  193. package/emotion/es/components/TextField/variations/_size/base.js +2 -2
  194. package/emotion/es/components/TextField/variations/_view/base.js +2 -2
  195. package/emotion/es/components/_Icon/Icon.assets/InfoCircleOutline.js +15 -0
  196. package/emotion/es/components/_Icon/Icons/IconInfoCircleOutline.js +15 -0
  197. package/emotion/es/components/_Icon/index.js +2 -1
  198. package/emotion/es/examples/plasma_b2c/components/Badge/Badge.config.js +14 -17
  199. package/emotion/es/examples/plasma_b2c/components/Badge/Badge.stories.tsx +2 -9
  200. package/emotion/es/examples/plasma_b2c/components/Tabs/Tabs.stories.tsx +5 -57
  201. package/emotion/es/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabItem.config.js +15 -18
  202. package/emotion/es/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabs.config.js +15 -18
  203. package/emotion/es/examples/plasma_b2c/components/Tabs/vertical/VerticalTabItem.config.js +6 -9
  204. package/emotion/es/examples/plasma_b2c/components/Tabs/vertical/VerticalTabs.config.js +6 -9
  205. package/emotion/es/examples/plasma_b2c/components/TextArea/TextArea.config.js +17 -10
  206. package/emotion/es/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +72 -0
  207. package/emotion/es/examples/plasma_b2c/components/TextField/TextField.config.js +20 -13
  208. package/emotion/es/examples/plasma_b2c/components/TextField/TextField.stories.tsx +73 -1
  209. package/emotion/es/examples/plasma_web/components/TextArea/TextArea.config.js +17 -10
  210. package/emotion/es/examples/plasma_web/components/TextArea/TextArea.stories.tsx +72 -0
  211. package/emotion/es/examples/plasma_web/components/TextField/TextField.config.js +20 -13
  212. package/emotion/es/examples/plasma_web/components/TextField/TextField.stories.tsx +82 -10
  213. package/es/components/Autocomplete/Autocomplete.css +35 -19
  214. package/es/components/Autocomplete/Autocomplete.js +4 -2
  215. package/es/components/Autocomplete/Autocomplete.js.map +1 -1
  216. package/es/components/Badge/Badge.css +0 -2
  217. package/es/components/Badge/Badge.js +2 -9
  218. package/es/components/Badge/Badge.js.map +1 -1
  219. package/es/components/Badge/Badge.tokens.js +1 -2
  220. package/es/components/Badge/Badge.tokens.js.map +1 -1
  221. package/es/components/Combobox/ComboboxNew/Combobox.css +39 -18
  222. package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.css +39 -18
  223. package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.css +39 -18
  224. package/es/components/DatePicker/RangeDate/RangeDate.css +34 -18
  225. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +34 -18
  226. package/es/components/DatePicker/SingleDate/SingleDate.css +36 -20
  227. package/es/components/Range/Range.css +40 -19
  228. package/es/components/Slider/Slider.css +40 -19
  229. package/es/components/Slider/Slider.js +2 -0
  230. package/es/components/Slider/Slider.js.map +1 -1
  231. package/es/components/Slider/components/Double/Double.css +40 -19
  232. package/es/components/Tabs/tokens.js +1 -2
  233. package/es/components/Tabs/tokens.js.map +1 -1
  234. package/es/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.css +0 -2
  235. package/es/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +2 -8
  236. package/es/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js.map +1 -1
  237. package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.css +0 -2
  238. package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +3 -11
  239. package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js.map +1 -1
  240. package/es/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.css +5 -7
  241. package/es/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.js +2 -8
  242. package/es/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.js.map +1 -1
  243. package/es/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.styles.js +1 -1
  244. package/es/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.styles.js.map +1 -1
  245. package/es/components/Tabs/ui/vertical/VerticalTabItem/{VerticalTabItem.styles_1yspq9o.css → VerticalTabItem.styles_16d3lah.css} +1 -1
  246. package/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.css +0 -2
  247. package/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +2 -10
  248. package/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js.map +1 -1
  249. package/es/components/TextArea/TextArea.js +115 -23
  250. package/es/components/TextArea/TextArea.js.map +1 -1
  251. package/es/components/TextArea/TextArea.styles.js +160 -64
  252. package/es/components/TextArea/TextArea.styles.js.map +1 -1
  253. package/es/components/TextArea/TextArea.styles_1ke2ihc.css +18 -0
  254. package/es/components/TextArea/TextArea.tokens.js +45 -5
  255. package/es/components/TextArea/TextArea.tokens.js.map +1 -1
  256. package/es/components/TextArea/hooks/useAutoResize.js +2 -4
  257. package/es/components/TextArea/hooks/useAutoResize.js.map +1 -1
  258. package/es/components/TextArea/ui/Hint/Hint.css +30 -0
  259. package/es/components/TextArea/ui/Hint/Hint.js +49 -0
  260. package/es/components/TextArea/ui/Hint/Hint.js.map +1 -0
  261. package/es/components/TextArea/variations/_clear/base.js +1 -1
  262. package/es/components/TextArea/variations/_clear/base.js.map +1 -1
  263. package/es/components/TextArea/variations/_clear/base_iz2qkw.css +1 -0
  264. package/es/components/{Tabs/ui/vertical/VerticalTabs/variations/_truncate → TextArea/variations/_hint-size}/base.js +2 -2
  265. package/es/components/TextArea/variations/_hint-size/base.js.map +1 -0
  266. package/es/components/TextArea/variations/_hint-size/base_1ipgv90.css +1 -0
  267. package/es/components/TextArea/variations/_hint-view/base.js +5 -0
  268. package/es/components/TextArea/variations/_hint-view/base.js.map +1 -0
  269. package/es/components/TextArea/variations/_hint-view/base_111a0qe.css +1 -0
  270. package/es/components/TextArea/variations/_view/base.js +1 -1
  271. package/es/components/TextArea/variations/_view/base.js.map +1 -1
  272. package/es/components/TextArea/variations/_view/base_1xgrm3x.css +1 -0
  273. package/es/components/TextField/TextField.js +101 -11
  274. package/es/components/TextField/TextField.js.map +1 -1
  275. package/es/components/TextField/TextField.styles.js +76 -24
  276. package/es/components/TextField/TextField.styles.js.map +1 -1
  277. package/es/components/TextField/TextField.styles_grgg7q.css +22 -0
  278. package/es/components/TextField/TextField.tokens.js +42 -2
  279. package/es/components/TextField/TextField.tokens.js.map +1 -1
  280. package/es/components/TextField/ui/Hint/Hint.css +34 -0
  281. package/es/components/TextField/ui/Hint/Hint.js +49 -0
  282. package/es/components/TextField/ui/Hint/Hint.js.map +1 -0
  283. package/es/components/TextField/variations/_clear/base.js +1 -1
  284. package/es/components/TextField/variations/_clear/base.js.map +1 -1
  285. package/es/components/TextField/variations/_clear/base_1i91sjp.css +1 -0
  286. package/es/components/TextField/variations/_disabled/base.js +1 -1
  287. package/es/components/TextField/variations/_disabled/{base_2tv0nz.css → base_4d3opa.css} +1 -1
  288. package/es/components/TextField/variations/_hint-size/base.js +5 -0
  289. package/es/components/TextField/variations/_hint-size/base.js.map +1 -0
  290. package/es/components/TextField/variations/_hint-size/base_1x99605.css +1 -0
  291. package/es/components/{Tabs/ui/horizontal/HorizontalTabs/variations/_truncate → TextField/variations/_hint-view}/base.js +2 -2
  292. package/es/components/TextField/variations/_hint-view/base.js.map +1 -0
  293. package/es/components/TextField/variations/_hint-view/base_l8etux.css +1 -0
  294. package/es/components/TextField/variations/_label-placement/base.js +1 -1
  295. package/es/components/TextField/variations/_label-placement/base.js.map +1 -1
  296. package/es/components/TextField/variations/_label-placement/base_3domm.css +1 -0
  297. package/es/components/TextField/variations/_read-only/base.js +1 -1
  298. package/es/components/TextField/variations/_read-only/base.js.map +1 -1
  299. package/es/components/TextField/variations/_read-only/base_17ypmu7.css +1 -0
  300. package/es/components/TextField/variations/_size/base.js +1 -1
  301. package/es/components/TextField/variations/_size/base.js.map +1 -1
  302. package/es/components/TextField/variations/_size/base_1xdmaqh.css +1 -0
  303. package/es/components/TextField/variations/_view/base.js +1 -1
  304. package/es/components/TextField/variations/_view/base.js.map +1 -1
  305. package/es/components/TextField/variations/_view/base_qhyte8.css +1 -0
  306. package/es/components/TextFieldGroup/TextFieldGroup.css +1 -1
  307. package/es/components/TextFieldGroup/variations/_shape/base.js +1 -1
  308. package/es/components/TextFieldGroup/variations/_shape/base_52bndd.css +1 -0
  309. package/es/components/_Icon/Icon.assets/InfoCircleOutline.js +19 -0
  310. package/es/components/_Icon/Icon.assets/InfoCircleOutline.js.map +1 -0
  311. package/es/components/_Icon/Icons/IconInfoCircleOutline.js +19 -0
  312. package/es/components/_Icon/Icons/IconInfoCircleOutline.js.map +1 -0
  313. package/es/index.css +61 -49
  314. package/es/utils/index.js.map +1 -1
  315. package/package.json +2 -2
  316. package/styled-components/cjs/components/Autocomplete/Autocomplete.js +4 -2
  317. package/styled-components/cjs/components/Badge/Badge.js +2 -9
  318. package/styled-components/cjs/components/Badge/Badge.tokens.js +1 -2
  319. package/styled-components/cjs/components/Tabs/tokens.js +1 -2
  320. package/styled-components/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +2 -8
  321. package/styled-components/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +3 -11
  322. package/styled-components/cjs/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.js +2 -8
  323. package/styled-components/cjs/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.styles.js +1 -1
  324. package/styled-components/cjs/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +2 -10
  325. package/styled-components/cjs/components/TextArea/TextArea.js +114 -22
  326. package/styled-components/cjs/components/TextArea/TextArea.styles.js +88 -42
  327. package/styled-components/cjs/components/TextArea/TextArea.template-doc.mdx +6 -1
  328. package/styled-components/cjs/components/TextArea/TextArea.tokens.js +45 -5
  329. package/styled-components/cjs/components/TextArea/hooks/useAutoResize.js +2 -4
  330. package/styled-components/cjs/components/TextArea/ui/Hint/Hint.js +53 -0
  331. package/styled-components/cjs/components/TextArea/ui/Hint/Hint.types.js +5 -0
  332. package/styled-components/cjs/components/TextArea/variations/_clear/base.js +1 -1
  333. package/styled-components/cjs/components/TextArea/variations/_hint-size/base.js +11 -0
  334. package/styled-components/cjs/components/TextArea/variations/_hint-size/tokens.json +21 -0
  335. package/styled-components/cjs/components/TextArea/variations/_hint-view/base.js +11 -0
  336. package/styled-components/cjs/components/TextArea/variations/_hint-view/tokens.json +5 -0
  337. package/styled-components/cjs/components/TextArea/variations/_view/base.js +2 -1
  338. package/styled-components/cjs/components/TextField/TextField.js +102 -12
  339. package/styled-components/cjs/components/TextField/TextField.styles.js +49 -21
  340. package/styled-components/cjs/components/TextField/TextField.template-doc.mdx +6 -1
  341. package/styled-components/cjs/components/TextField/TextField.tokens.js +42 -2
  342. package/styled-components/cjs/components/TextField/ui/Hint/Hint.js +53 -0
  343. package/styled-components/cjs/components/TextField/ui/Hint/Hint.types.js +5 -0
  344. package/styled-components/cjs/components/TextField/variations/_clear/base.js +1 -1
  345. package/styled-components/cjs/components/TextField/variations/_hint-size/base.js +11 -0
  346. package/styled-components/cjs/components/TextField/variations/_hint-size/tokens.json +21 -0
  347. package/styled-components/cjs/components/TextField/variations/_hint-view/base.js +11 -0
  348. package/styled-components/cjs/components/TextField/variations/_hint-view/tokens.json +5 -0
  349. package/styled-components/cjs/components/TextField/variations/_label-placement/base.js +1 -1
  350. package/styled-components/cjs/components/TextField/variations/_read-only/base.js +1 -1
  351. package/styled-components/cjs/components/TextField/variations/_size/base.js +1 -1
  352. package/styled-components/cjs/components/TextField/variations/_view/base.js +1 -1
  353. package/styled-components/cjs/components/_Icon/Icon.assets/InfoCircleOutline.js +22 -0
  354. package/styled-components/cjs/components/_Icon/Icons/IconInfoCircleOutline.js +22 -0
  355. package/styled-components/cjs/components/_Icon/index.js +8 -1
  356. package/styled-components/cjs/examples/plasma_b2c/components/Badge/Badge.config.js +0 -3
  357. package/styled-components/cjs/examples/plasma_b2c/components/Badge/Badge.stories.tsx +2 -9
  358. package/styled-components/cjs/examples/plasma_b2c/components/Tabs/Tabs.stories.tsx +5 -57
  359. package/styled-components/cjs/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabItem.config.js +0 -3
  360. package/styled-components/cjs/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabs.config.js +0 -3
  361. package/styled-components/cjs/examples/plasma_b2c/components/Tabs/vertical/VerticalTabItem.config.js +0 -3
  362. package/styled-components/cjs/examples/plasma_b2c/components/Tabs/vertical/VerticalTabs.config.js +0 -3
  363. package/styled-components/cjs/examples/plasma_b2c/components/TextArea/TextArea.config.js +16 -9
  364. package/styled-components/cjs/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +72 -0
  365. package/styled-components/cjs/examples/plasma_b2c/components/TextField/TextField.config.js +16 -9
  366. package/styled-components/cjs/examples/plasma_b2c/components/TextField/TextField.stories.tsx +73 -1
  367. package/styled-components/cjs/examples/plasma_web/components/TextArea/TextArea.config.js +16 -9
  368. package/styled-components/cjs/examples/plasma_web/components/TextArea/TextArea.stories.tsx +72 -0
  369. package/styled-components/cjs/examples/plasma_web/components/TextField/TextField.config.js +16 -9
  370. package/styled-components/cjs/examples/plasma_web/components/TextField/TextField.stories.tsx +82 -10
  371. package/styled-components/es/components/Autocomplete/Autocomplete.js +4 -2
  372. package/styled-components/es/components/Badge/Badge.js +2 -9
  373. package/styled-components/es/components/Badge/Badge.tokens.js +1 -2
  374. package/styled-components/es/components/Tabs/tokens.js +1 -2
  375. package/styled-components/es/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +2 -8
  376. package/styled-components/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +3 -11
  377. package/styled-components/es/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.js +2 -8
  378. package/styled-components/es/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.styles.js +1 -1
  379. package/styled-components/es/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.js +2 -10
  380. package/styled-components/es/components/TextArea/TextArea.js +114 -22
  381. package/styled-components/es/components/TextArea/TextArea.styles.js +87 -41
  382. package/styled-components/es/components/TextArea/TextArea.template-doc.mdx +6 -1
  383. package/styled-components/es/components/TextArea/TextArea.tokens.js +45 -5
  384. package/styled-components/es/components/TextArea/hooks/useAutoResize.js +2 -4
  385. package/styled-components/es/components/TextArea/ui/Hint/Hint.js +44 -0
  386. package/styled-components/es/components/TextArea/ui/Hint/Hint.types.js +1 -0
  387. package/styled-components/es/components/TextArea/variations/_clear/base.js +2 -2
  388. package/styled-components/es/components/TextArea/variations/_hint-size/base.js +5 -0
  389. package/styled-components/es/components/TextArea/variations/_hint-size/tokens.json +21 -0
  390. package/styled-components/es/components/TextArea/variations/_hint-view/base.js +5 -0
  391. package/styled-components/es/components/TextArea/variations/_hint-view/tokens.json +5 -0
  392. package/styled-components/es/components/TextArea/variations/_view/base.js +2 -1
  393. package/styled-components/es/components/TextField/TextField.js +101 -11
  394. package/styled-components/es/components/TextField/TextField.styles.js +48 -20
  395. package/styled-components/es/components/TextField/TextField.template-doc.mdx +6 -1
  396. package/styled-components/es/components/TextField/TextField.tokens.js +42 -2
  397. package/styled-components/es/components/TextField/ui/Hint/Hint.js +44 -0
  398. package/styled-components/es/components/TextField/ui/Hint/Hint.types.js +1 -0
  399. package/styled-components/es/components/TextField/variations/_clear/base.js +2 -2
  400. package/styled-components/es/components/TextField/variations/_hint-size/base.js +5 -0
  401. package/styled-components/es/components/TextField/variations/_hint-size/tokens.json +21 -0
  402. package/styled-components/es/components/TextField/variations/_hint-view/base.js +5 -0
  403. package/styled-components/es/components/TextField/variations/_hint-view/tokens.json +5 -0
  404. package/styled-components/es/components/TextField/variations/_label-placement/base.js +1 -1
  405. package/styled-components/es/components/TextField/variations/_read-only/base.js +2 -2
  406. package/styled-components/es/components/TextField/variations/_size/base.js +2 -2
  407. package/styled-components/es/components/TextField/variations/_view/base.js +2 -2
  408. package/styled-components/es/components/_Icon/Icon.assets/InfoCircleOutline.js +15 -0
  409. package/styled-components/es/components/_Icon/Icons/IconInfoCircleOutline.js +15 -0
  410. package/styled-components/es/components/_Icon/index.js +2 -1
  411. package/styled-components/es/examples/plasma_b2c/components/Badge/Badge.config.js +0 -3
  412. package/styled-components/es/examples/plasma_b2c/components/Badge/Badge.stories.tsx +2 -9
  413. package/styled-components/es/examples/plasma_b2c/components/Tabs/Tabs.stories.tsx +5 -57
  414. package/styled-components/es/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabItem.config.js +0 -3
  415. package/styled-components/es/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabs.config.js +0 -3
  416. package/styled-components/es/examples/plasma_b2c/components/Tabs/vertical/VerticalTabItem.config.js +0 -3
  417. package/styled-components/es/examples/plasma_b2c/components/Tabs/vertical/VerticalTabs.config.js +0 -3
  418. package/styled-components/es/examples/plasma_b2c/components/TextArea/TextArea.config.js +16 -9
  419. package/styled-components/es/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +72 -0
  420. package/styled-components/es/examples/plasma_b2c/components/TextField/TextField.config.js +16 -9
  421. package/styled-components/es/examples/plasma_b2c/components/TextField/TextField.stories.tsx +73 -1
  422. package/styled-components/es/examples/plasma_web/components/TextArea/TextArea.config.js +16 -9
  423. package/styled-components/es/examples/plasma_web/components/TextArea/TextArea.stories.tsx +72 -0
  424. package/styled-components/es/examples/plasma_web/components/TextField/TextField.config.js +16 -9
  425. package/styled-components/es/examples/plasma_web/components/TextField/TextField.stories.tsx +82 -10
  426. package/types/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  427. package/types/components/Autocomplete/ui/TextField/TextField.styles.d.ts +408 -0
  428. package/types/components/Autocomplete/ui/TextField/TextField.styles.d.ts.map +1 -1
  429. package/types/components/Badge/Badge.d.ts +0 -4
  430. package/types/components/Badge/Badge.d.ts.map +1 -1
  431. package/types/components/Badge/Badge.tokens.d.ts +0 -1
  432. package/types/components/Badge/Badge.tokens.d.ts.map +1 -1
  433. package/types/components/Badge/Badge.types.d.ts +0 -5
  434. package/types/components/Badge/Badge.types.d.ts.map +1 -1
  435. package/types/components/Combobox/ComboboxNew/ui/Target/Target.styles.d.ts +408 -0
  436. package/types/components/Combobox/ComboboxNew/ui/Target/Target.styles.d.ts.map +1 -1
  437. package/types/components/DatePicker/SingleDate/SingleDate.styles.d.ts +408 -0
  438. package/types/components/DatePicker/SingleDate/SingleDate.styles.d.ts.map +1 -1
  439. package/types/components/Dropdown/ui/DropdownOld/utils/index.d.ts +3 -2
  440. package/types/components/Dropdown/ui/DropdownOld/utils/index.d.ts.map +1 -1
  441. package/types/components/Popover/Popover.types.d.ts +2 -3
  442. package/types/components/Popover/Popover.types.d.ts.map +1 -1
  443. package/types/components/Range/Range.styles.d.ts +408 -0
  444. package/types/components/Range/Range.styles.d.ts.map +1 -1
  445. package/types/components/Slider/components/Double/Double.styles.d.ts +408 -0
  446. package/types/components/Slider/components/Double/Double.styles.d.ts.map +1 -1
  447. package/types/components/Tabs/TabItem.types.d.ts +0 -5
  448. package/types/components/Tabs/TabItem.types.d.ts.map +1 -1
  449. package/types/components/Tabs/Tabs.types.d.ts +0 -5
  450. package/types/components/Tabs/Tabs.types.d.ts.map +1 -1
  451. package/types/components/Tabs/tokens.d.ts +0 -1
  452. package/types/components/Tabs/tokens.d.ts.map +1 -1
  453. package/types/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.d.ts +0 -3
  454. package/types/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.d.ts.map +1 -1
  455. package/types/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.d.ts +0 -3
  456. package/types/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.d.ts.map +1 -1
  457. package/types/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.d.ts +0 -3
  458. package/types/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.d.ts.map +1 -1
  459. package/types/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.styles.d.ts.map +1 -1
  460. package/types/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.d.ts +0 -4
  461. package/types/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.d.ts.map +1 -1
  462. package/types/components/TextArea/TextArea.d.ts +9 -3
  463. package/types/components/TextArea/TextArea.d.ts.map +1 -1
  464. package/types/components/TextArea/TextArea.styles.d.ts +12 -1
  465. package/types/components/TextArea/TextArea.styles.d.ts.map +1 -1
  466. package/types/components/TextArea/TextArea.tokens.d.ts +40 -0
  467. package/types/components/TextArea/TextArea.tokens.d.ts.map +1 -1
  468. package/types/components/TextArea/TextArea.types.d.ts +78 -3
  469. package/types/components/TextArea/TextArea.types.d.ts.map +1 -1
  470. package/types/components/TextArea/hooks/useAutoResize.d.ts.map +1 -1
  471. package/types/components/TextArea/ui/Hint/Hint.d.ts +4 -0
  472. package/types/components/TextArea/ui/Hint/Hint.d.ts.map +1 -0
  473. package/types/components/TextArea/ui/Hint/Hint.types.d.ts +17 -0
  474. package/types/components/TextArea/ui/Hint/Hint.types.d.ts.map +1 -0
  475. package/types/components/TextArea/variations/_clear/base.d.ts.map +1 -1
  476. package/types/components/TextArea/variations/_hint-size/base.d.ts.map +1 -0
  477. package/types/components/TextArea/variations/_hint-view/base.d.ts.map +1 -0
  478. package/types/components/TextArea/variations/_view/base.d.ts.map +1 -1
  479. package/types/components/TextField/TextField.d.ts +9 -3
  480. package/types/components/TextField/TextField.d.ts.map +1 -1
  481. package/types/components/TextField/TextField.styles.d.ts +9 -0
  482. package/types/components/TextField/TextField.styles.d.ts.map +1 -1
  483. package/types/components/TextField/TextField.tokens.d.ts +40 -0
  484. package/types/components/TextField/TextField.tokens.d.ts.map +1 -1
  485. package/types/components/TextField/TextField.types.d.ts +73 -2
  486. package/types/components/TextField/TextField.types.d.ts.map +1 -1
  487. package/types/components/TextField/ui/Hint/Hint.d.ts +4 -0
  488. package/types/components/TextField/ui/Hint/Hint.d.ts.map +1 -0
  489. package/types/components/TextField/ui/Hint/Hint.types.d.ts +17 -0
  490. package/types/components/TextField/ui/Hint/Hint.types.d.ts.map +1 -0
  491. package/types/components/TextField/variations/_clear/base.d.ts.map +1 -1
  492. package/types/components/TextField/variations/_hint-size/base.d.ts.map +1 -0
  493. package/types/components/TextField/variations/_hint-view/base.d.ts.map +1 -0
  494. package/types/components/TextField/variations/_label-placement/base.d.ts.map +1 -1
  495. package/types/components/TextField/variations/_read-only/base.d.ts.map +1 -1
  496. package/types/components/TextField/variations/_size/base.d.ts.map +1 -1
  497. package/types/components/TextField/variations/_view/base.d.ts.map +1 -1
  498. package/types/components/_Icon/Icon.assets/InfoCircleOutline.d.ts +4 -0
  499. package/types/components/_Icon/Icon.assets/InfoCircleOutline.d.ts.map +1 -0
  500. package/types/components/_Icon/Icons/IconInfoCircleOutline.d.ts +4 -0
  501. package/types/components/_Icon/Icons/IconInfoCircleOutline.d.ts.map +1 -0
  502. package/types/components/_Icon/index.d.ts +1 -0
  503. package/types/components/_Icon/index.d.ts.map +1 -1
  504. package/types/examples/plasma_b2c/components/Badge/Badge.config.d.ts +0 -3
  505. package/types/examples/plasma_b2c/components/Badge/Badge.config.d.ts.map +1 -1
  506. package/types/examples/plasma_b2c/components/Badge/Badge.d.ts +0 -6
  507. package/types/examples/plasma_b2c/components/Badge/Badge.d.ts.map +1 -1
  508. package/types/examples/plasma_b2c/components/Mask/Mask.d.ts +740 -12
  509. package/types/examples/plasma_b2c/components/Mask/Mask.d.ts.map +1 -1
  510. package/types/examples/plasma_b2c/components/Tabs/TabItem.d.ts +0 -6
  511. package/types/examples/plasma_b2c/components/Tabs/TabItem.d.ts.map +1 -1
  512. package/types/examples/plasma_b2c/components/Tabs/Tabs.d.ts +0 -6
  513. package/types/examples/plasma_b2c/components/Tabs/Tabs.d.ts.map +1 -1
  514. package/types/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabItem.config.d.ts +0 -3
  515. package/types/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabItem.config.d.ts.map +1 -1
  516. package/types/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabs.config.d.ts +0 -3
  517. package/types/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabs.config.d.ts.map +1 -1
  518. package/types/examples/plasma_b2c/components/Tabs/vertical/VerticalTabItem.config.d.ts +0 -3
  519. package/types/examples/plasma_b2c/components/Tabs/vertical/VerticalTabItem.config.d.ts.map +1 -1
  520. package/types/examples/plasma_b2c/components/Tabs/vertical/VerticalTabs.config.d.ts +0 -3
  521. package/types/examples/plasma_b2c/components/Tabs/vertical/VerticalTabs.config.d.ts.map +1 -1
  522. package/types/examples/plasma_b2c/components/TextArea/TextArea.config.d.ts +7 -0
  523. package/types/examples/plasma_b2c/components/TextArea/TextArea.config.d.ts.map +1 -1
  524. package/types/examples/plasma_b2c/components/TextArea/TextArea.d.ts +455 -0
  525. package/types/examples/plasma_b2c/components/TextArea/TextArea.d.ts.map +1 -1
  526. package/types/examples/plasma_b2c/components/TextField/TextField.config.d.ts +7 -0
  527. package/types/examples/plasma_b2c/components/TextField/TextField.config.d.ts.map +1 -1
  528. package/types/examples/plasma_b2c/components/TextField/TextField.d.ts +415 -0
  529. package/types/examples/plasma_b2c/components/TextField/TextField.d.ts.map +1 -1
  530. package/types/examples/plasma_web/components/Badge/Badge.d.ts +0 -3
  531. package/types/examples/plasma_web/components/Badge/Badge.d.ts.map +1 -1
  532. package/types/examples/plasma_web/components/Mask/Mask.d.ts +740 -12
  533. package/types/examples/plasma_web/components/Mask/Mask.d.ts.map +1 -1
  534. package/types/examples/plasma_web/components/TextArea/TextArea.config.d.ts +7 -0
  535. package/types/examples/plasma_web/components/TextArea/TextArea.config.d.ts.map +1 -1
  536. package/types/examples/plasma_web/components/TextArea/TextArea.d.ts +455 -0
  537. package/types/examples/plasma_web/components/TextArea/TextArea.d.ts.map +1 -1
  538. package/types/examples/plasma_web/components/TextField/TextField.config.d.ts +7 -0
  539. package/types/examples/plasma_web/components/TextField/TextField.config.d.ts.map +1 -1
  540. package/types/examples/plasma_web/components/TextField/TextField.d.ts +415 -0
  541. package/types/examples/plasma_web/components/TextField/TextField.d.ts.map +1 -1
  542. package/types/utils/getPopoverPlacement.d.ts +3 -2
  543. package/types/utils/getPopoverPlacement.d.ts.map +1 -1
  544. package/types/utils/index.d.ts +1 -1
  545. package/types/utils/index.d.ts.map +1 -1
  546. package/cjs/components/Badge/variations/_truncate/base.js.map +0 -1
  547. package/cjs/components/Badge/variations/_truncate/base_nf9u2h.css +0 -1
  548. package/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/variations/_truncate/base.js.map +0 -1
  549. package/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/variations/_truncate/base_1b34xv3.css +0 -1
  550. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/variations/_truncate/base.js.map +0 -1
  551. package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/variations/_truncate/base_1kepful.css +0 -1
  552. package/cjs/components/Tabs/ui/vertical/VerticalTabItem/variations/_truncate/base.js.map +0 -1
  553. package/cjs/components/Tabs/ui/vertical/VerticalTabItem/variations/_truncate/base_1nwonlh.css +0 -1
  554. package/cjs/components/Tabs/ui/vertical/VerticalTabs/variations/_truncate/base.js +0 -9
  555. package/cjs/components/Tabs/ui/vertical/VerticalTabs/variations/_truncate/base.js.map +0 -1
  556. package/cjs/components/Tabs/ui/vertical/VerticalTabs/variations/_truncate/base_14x17ie.css +0 -1
  557. package/cjs/components/TextArea/TextArea.styles_es0miz.css +0 -11
  558. package/cjs/components/TextArea/variations/_clear/base_vidplj.css +0 -1
  559. package/cjs/components/TextArea/variations/_view/base_td55th.css +0 -1
  560. package/cjs/components/TextField/TextField.styles_1d2ryq.css +0 -15
  561. package/cjs/components/TextField/variations/_clear/base_rit6gc.css +0 -1
  562. package/cjs/components/TextField/variations/_label-placement/base_1ghihns.css +0 -1
  563. package/cjs/components/TextField/variations/_read-only/base_1n7tghz.css +0 -1
  564. package/cjs/components/TextField/variations/_size/base_1h8l0kj.css +0 -1
  565. package/cjs/components/TextField/variations/_view/base_1noe46b.css +0 -1
  566. package/cjs/components/TextFieldGroup/variations/_shape/base_1e0je21.css +0 -1
  567. package/emotion/cjs/components/Badge/variations/_truncate/base.js +0 -10
  568. package/emotion/cjs/components/Badge/variations/_truncate/tokens.json +0 -1
  569. package/emotion/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/variations/_truncate/base.js +0 -10
  570. package/emotion/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/variations/_truncate/tokens.json +0 -1
  571. package/emotion/cjs/components/Tabs/ui/horizontal/HorizontalTabs/variations/_truncate/base.js +0 -11
  572. package/emotion/cjs/components/Tabs/ui/horizontal/HorizontalTabs/variations/_truncate/tokens.json +0 -1
  573. package/emotion/cjs/components/Tabs/ui/vertical/VerticalTabItem/variations/_truncate/base.js +0 -10
  574. package/emotion/cjs/components/Tabs/ui/vertical/VerticalTabItem/variations/_truncate/tokens.json +0 -1
  575. package/emotion/cjs/components/Tabs/ui/vertical/VerticalTabs/variations/_truncate/base.js +0 -10
  576. package/emotion/cjs/components/Tabs/ui/vertical/VerticalTabs/variations/_truncate/tokens.json +0 -1
  577. package/emotion/es/components/Badge/variations/_truncate/base.js +0 -4
  578. package/emotion/es/components/Badge/variations/_truncate/tokens.json +0 -1
  579. package/emotion/es/components/Tabs/ui/horizontal/HorizontalTabItem/variations/_truncate/base.js +0 -4
  580. package/emotion/es/components/Tabs/ui/horizontal/HorizontalTabItem/variations/_truncate/tokens.json +0 -1
  581. package/emotion/es/components/Tabs/ui/horizontal/HorizontalTabs/variations/_truncate/base.js +0 -5
  582. package/emotion/es/components/Tabs/ui/horizontal/HorizontalTabs/variations/_truncate/tokens.json +0 -1
  583. package/emotion/es/components/Tabs/ui/vertical/VerticalTabItem/variations/_truncate/base.js +0 -4
  584. package/emotion/es/components/Tabs/ui/vertical/VerticalTabItem/variations/_truncate/tokens.json +0 -1
  585. package/emotion/es/components/Tabs/ui/vertical/VerticalTabs/variations/_truncate/base.js +0 -4
  586. package/emotion/es/components/Tabs/ui/vertical/VerticalTabs/variations/_truncate/tokens.json +0 -1
  587. package/es/components/Badge/variations/_truncate/base.js +0 -5
  588. package/es/components/Badge/variations/_truncate/base.js.map +0 -1
  589. package/es/components/Badge/variations/_truncate/base_nf9u2h.css +0 -1
  590. package/es/components/Tabs/ui/horizontal/HorizontalTabItem/variations/_truncate/base.js +0 -5
  591. package/es/components/Tabs/ui/horizontal/HorizontalTabItem/variations/_truncate/base.js.map +0 -1
  592. package/es/components/Tabs/ui/horizontal/HorizontalTabItem/variations/_truncate/base_1b34xv3.css +0 -1
  593. package/es/components/Tabs/ui/horizontal/HorizontalTabs/variations/_truncate/base.js.map +0 -1
  594. package/es/components/Tabs/ui/horizontal/HorizontalTabs/variations/_truncate/base_1kepful.css +0 -1
  595. package/es/components/Tabs/ui/vertical/VerticalTabItem/variations/_truncate/base.js +0 -5
  596. package/es/components/Tabs/ui/vertical/VerticalTabItem/variations/_truncate/base.js.map +0 -1
  597. package/es/components/Tabs/ui/vertical/VerticalTabItem/variations/_truncate/base_1nwonlh.css +0 -1
  598. package/es/components/Tabs/ui/vertical/VerticalTabs/variations/_truncate/base.js.map +0 -1
  599. package/es/components/Tabs/ui/vertical/VerticalTabs/variations/_truncate/base_14x17ie.css +0 -1
  600. package/es/components/TextArea/TextArea.styles_es0miz.css +0 -11
  601. package/es/components/TextArea/variations/_clear/base_vidplj.css +0 -1
  602. package/es/components/TextArea/variations/_view/base_td55th.css +0 -1
  603. package/es/components/TextField/TextField.styles_1d2ryq.css +0 -15
  604. package/es/components/TextField/variations/_clear/base_rit6gc.css +0 -1
  605. package/es/components/TextField/variations/_label-placement/base_1ghihns.css +0 -1
  606. package/es/components/TextField/variations/_read-only/base_1n7tghz.css +0 -1
  607. package/es/components/TextField/variations/_size/base_1h8l0kj.css +0 -1
  608. package/es/components/TextField/variations/_view/base_1noe46b.css +0 -1
  609. package/es/components/TextFieldGroup/variations/_shape/base_1e0je21.css +0 -1
  610. package/styled-components/cjs/components/Badge/variations/_truncate/base.js +0 -10
  611. package/styled-components/cjs/components/Badge/variations/_truncate/tokens.json +0 -1
  612. package/styled-components/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/variations/_truncate/base.js +0 -10
  613. package/styled-components/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/variations/_truncate/tokens.json +0 -1
  614. package/styled-components/cjs/components/Tabs/ui/horizontal/HorizontalTabs/variations/_truncate/base.js +0 -11
  615. package/styled-components/cjs/components/Tabs/ui/horizontal/HorizontalTabs/variations/_truncate/tokens.json +0 -1
  616. package/styled-components/cjs/components/Tabs/ui/vertical/VerticalTabItem/variations/_truncate/base.js +0 -10
  617. package/styled-components/cjs/components/Tabs/ui/vertical/VerticalTabItem/variations/_truncate/tokens.json +0 -1
  618. package/styled-components/cjs/components/Tabs/ui/vertical/VerticalTabs/variations/_truncate/base.js +0 -10
  619. package/styled-components/cjs/components/Tabs/ui/vertical/VerticalTabs/variations/_truncate/tokens.json +0 -1
  620. package/styled-components/es/components/Badge/variations/_truncate/base.js +0 -4
  621. package/styled-components/es/components/Badge/variations/_truncate/tokens.json +0 -1
  622. package/styled-components/es/components/Tabs/ui/horizontal/HorizontalTabItem/variations/_truncate/base.js +0 -4
  623. package/styled-components/es/components/Tabs/ui/horizontal/HorizontalTabItem/variations/_truncate/tokens.json +0 -1
  624. package/styled-components/es/components/Tabs/ui/horizontal/HorizontalTabs/variations/_truncate/base.js +0 -5
  625. package/styled-components/es/components/Tabs/ui/horizontal/HorizontalTabs/variations/_truncate/tokens.json +0 -1
  626. package/styled-components/es/components/Tabs/ui/vertical/VerticalTabItem/variations/_truncate/base.js +0 -4
  627. package/styled-components/es/components/Tabs/ui/vertical/VerticalTabItem/variations/_truncate/tokens.json +0 -1
  628. package/styled-components/es/components/Tabs/ui/vertical/VerticalTabs/variations/_truncate/base.js +0 -4
  629. package/styled-components/es/components/Tabs/ui/vertical/VerticalTabs/variations/_truncate/tokens.json +0 -1
  630. package/types/components/Badge/variations/_truncate/base.d.ts.map +0 -1
  631. package/types/components/Tabs/ui/horizontal/HorizontalTabItem/variations/_truncate/base.d.ts.map +0 -1
  632. package/types/components/Tabs/ui/horizontal/HorizontalTabs/variations/_truncate/base.d.ts.map +0 -1
  633. package/types/components/Tabs/ui/vertical/VerticalTabItem/variations/_truncate/base.d.ts.map +0 -1
  634. package/types/components/Tabs/ui/vertical/VerticalTabs/variations/_truncate/base.d.ts +0 -2
  635. package/types/components/Tabs/ui/vertical/VerticalTabs/variations/_truncate/base.d.ts.map +0 -1
  636. /package/types/components/{Badge/variations/_truncate → TextArea/variations/_hint-size}/base.d.ts +0 -0
  637. /package/types/components/{Tabs/ui/horizontal/HorizontalTabItem/variations/_truncate → TextArea/variations/_hint-view}/base.d.ts +0 -0
  638. /package/types/components/{Tabs/ui/horizontal/HorizontalTabs/variations/_truncate → TextField/variations/_hint-size}/base.d.ts +0 -0
  639. /package/types/components/{Tabs/ui/vertical/VerticalTabItem/variations/_truncate → TextField/variations/_hint-view}/base.d.ts +0 -0
@@ -8,9 +8,8 @@ import { LeftContent, StyledContent, TabItemValue, RightContent, base } from './
8
8
  import { base as base$2 } from './variations/_view/base.js';
9
9
  import { base as base$1 } from './variations/_size/base.js';
10
10
  import { base as base$3 } from './variations/_disabled/base.js';
11
- import { base as base$4 } from './variations/_truncate/base.js';
12
11
 
13
- var _excluded = ["size", "view", "selected", "disabled", "children", "value", "contentLeft", "contentRight", "onIndexChange", "itemIndex", "tabIndex", "className", "onClick", "truncate"];
12
+ var _excluded = ["size", "view", "selected", "disabled", "children", "value", "contentLeft", "contentRight", "onIndexChange", "itemIndex", "tabIndex", "className", "onClick"];
14
13
  var verticalTabItemRoot = function verticalTabItemRoot(Root) {
15
14
  return /*#__PURE__*/forwardRef(function (props, outerRef) {
16
15
  var size = props.size,
@@ -27,7 +26,6 @@ var verticalTabItemRoot = function verticalTabItemRoot(Root) {
27
26
  tabIndex = props.tabIndex,
28
27
  className = props.className,
29
28
  onClick = props.onClick,
30
- truncate = props.truncate,
31
29
  rest = _objectWithoutProperties(props, _excluded);
32
30
  var innerRef = useRef(null);
33
31
  var ref = useForkRef(outerRef, innerRef);
@@ -84,10 +82,9 @@ var verticalTabItemRoot = function verticalTabItemRoot(Root) {
84
82
  role: role,
85
83
  view: view,
86
84
  size: size,
87
- truncate: truncate,
88
85
  onFocus: onItemFocus,
89
86
  tabIndex: hasKeyNavigation ? navigationTabIndex : tabIndex,
90
- className: cx(selectedClass, truncate && classes.tabsTruncate, className),
87
+ className: cx(selectedClass, className),
91
88
  onClick: handleClick
92
89
  }, rest), /*#__PURE__*/React.createElement(React.Fragment, null, contentLeft && /*#__PURE__*/React.createElement(LeftContent, {
93
90
  className: classes.tabLeftContent
@@ -113,9 +110,6 @@ var verticalTabItemConfig = {
113
110
  disabled: {
114
111
  css: base$3,
115
112
  attrs: true
116
- },
117
- truncate: {
118
- css: base$4
119
113
  }
120
114
  },
121
115
  defaults: {
@@ -1 +1 @@
1
- {"version":3,"file":"VerticalTabItem.js","sources":["../../../../../../src/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.tsx"],"sourcesContent":["import React, { forwardRef, useRef, useContext, useEffect, useCallback } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../../../../engines';\nimport { classes } from '../../../tokens';\nimport { cx } from '../../../../../utils';\nimport { TabsContext } from '../../../TabsContext';\nimport { VerticalTabItemProps } from '../../../TabItem.types';\n\nimport { base, LeftContent, RightContent, StyledContent, TabItemValue } from './VerticalTabItem.styles';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as truncateCSS } from './variations/_truncate/base';\n\nexport const verticalTabItemRoot = (Root: RootProps<HTMLButtonElement, VerticalTabItemProps>) =>\n forwardRef<HTMLButtonElement, VerticalTabItemProps>((props, outerRef) => {\n const {\n size,\n view,\n selected,\n disabled = false,\n children,\n value,\n contentLeft,\n contentRight,\n onIndexChange,\n itemIndex,\n tabIndex,\n className,\n onClick,\n truncate,\n ...rest\n } = props;\n\n const innerRef = useRef<HTMLButtonElement>(null);\n const ref = useForkRef(outerRef, innerRef);\n const refs = useContext(TabsContext);\n\n const role = 'tab';\n\n const selectedClass = selected ? classes.selectedTabsItem : undefined;\n\n const hasKeyNavigation = itemIndex !== undefined && onIndexChange !== undefined;\n const navigationTabIndex = !disabled && refs?.current === itemIndex ? 0 : -1;\n\n useEffect(() => {\n if (!refs) {\n return;\n }\n\n refs.register(innerRef);\n\n return () => refs.unregister(innerRef);\n }, [refs]);\n\n const onItemFocus = useCallback<React.FocusEventHandler>(\n (event) => {\n if (disabled) {\n return;\n }\n\n if (!hasKeyNavigation && innerRef?.current) {\n innerRef.current.scrollTo({\n top: innerRef.current.offsetTop,\n behavior: 'smooth',\n });\n\n return;\n }\n\n if (!refs) {\n return;\n }\n\n const focusIndex = refs.items.findIndex((itemRef) => itemRef.current === event.target);\n\n if (focusIndex === refs.current) {\n return;\n }\n\n onIndexChange?.(focusIndex);\n refs.setCurrent(focusIndex);\n },\n [refs, innerRef, onIndexChange, disabled],\n );\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n event.currentTarget.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n\n if (!onClick) {\n return;\n }\n\n onClick(event);\n };\n\n return (\n <Root\n ref={ref}\n disabled={disabled}\n role={role}\n view={view}\n size={size}\n truncate={truncate}\n onFocus={onItemFocus}\n tabIndex={hasKeyNavigation ? navigationTabIndex : tabIndex}\n className={cx(selectedClass, truncate && classes.tabsTruncate, className)}\n onClick={handleClick}\n {...rest}\n >\n <>\n {contentLeft && <LeftContent className={classes.tabLeftContent}>{contentLeft}</LeftContent>}\n <StyledContent className={classes.tabContent}>{children}</StyledContent>\n {!contentRight && value && <TabItemValue>{value}</TabItemValue>}\n {!value && contentRight && (\n <RightContent className={classes.tabRightContent}>{contentRight}</RightContent>\n )}\n </>\n </Root>\n );\n });\n\nexport const verticalTabItemConfig = {\n name: 'VerticalTabItem',\n tag: 'button',\n layout: verticalTabItemRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n truncate: {\n css: truncateCSS,\n },\n },\n defaults: {\n view: 'divider',\n },\n};\n"],"names":["verticalTabItemRoot","Root","forwardRef","props","outerRef","size","view","selected","_props$disabled","disabled","children","value","contentLeft","contentRight","onIndexChange","itemIndex","tabIndex","className","onClick","truncate","rest","_objectWithoutProperties","_excluded","innerRef","useRef","ref","useForkRef","refs","useContext","TabsContext","role","selectedClass","classes","selectedTabsItem","undefined","hasKeyNavigation","navigationTabIndex","current","useEffect","register","unregister","onItemFocus","useCallback","event","scrollTo","top","offsetTop","behavior","focusIndex","items","findIndex","itemRef","target","setCurrent","handleClick","currentTarget","scrollIntoView","block","inline","React","createElement","_extends","onFocus","cx","tabsTruncate","Fragment","LeftContent","tabLeftContent","StyledContent","tabContent","TabItemValue","RightContent","tabRightContent","verticalTabItemConfig","name","tag","layout","base","variations","css","sizeCSS","viewCSS","disabledCSS","attrs","truncateCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"VerticalTabItem.js","sources":["../../../../../../src/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.tsx"],"sourcesContent":["import React, { forwardRef, useRef, useContext, useEffect, useCallback } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../../../../engines';\nimport { classes } from '../../../tokens';\nimport { cx } from '../../../../../utils';\nimport { TabsContext } from '../../../TabsContext';\nimport { VerticalTabItemProps } from '../../../TabItem.types';\n\nimport { base, LeftContent, RightContent, StyledContent, TabItemValue } from './VerticalTabItem.styles';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\n\nexport const verticalTabItemRoot = (Root: RootProps<HTMLButtonElement, VerticalTabItemProps>) =>\n forwardRef<HTMLButtonElement, VerticalTabItemProps>((props, outerRef) => {\n const {\n size,\n view,\n selected,\n disabled = false,\n children,\n value,\n contentLeft,\n contentRight,\n onIndexChange,\n itemIndex,\n tabIndex,\n className,\n onClick,\n ...rest\n } = props;\n\n const innerRef = useRef<HTMLButtonElement>(null);\n const ref = useForkRef(outerRef, innerRef);\n const refs = useContext(TabsContext);\n\n const role = 'tab';\n\n const selectedClass = selected ? classes.selectedTabsItem : undefined;\n\n const hasKeyNavigation = itemIndex !== undefined && onIndexChange !== undefined;\n const navigationTabIndex = !disabled && refs?.current === itemIndex ? 0 : -1;\n\n useEffect(() => {\n if (!refs) {\n return;\n }\n\n refs.register(innerRef);\n\n return () => refs.unregister(innerRef);\n }, [refs]);\n\n const onItemFocus = useCallback<React.FocusEventHandler>(\n (event) => {\n if (disabled) {\n return;\n }\n\n if (!hasKeyNavigation && innerRef?.current) {\n innerRef.current.scrollTo({\n top: innerRef.current.offsetTop,\n behavior: 'smooth',\n });\n\n return;\n }\n\n if (!refs) {\n return;\n }\n\n const focusIndex = refs.items.findIndex((itemRef) => itemRef.current === event.target);\n\n if (focusIndex === refs.current) {\n return;\n }\n\n onIndexChange?.(focusIndex);\n refs.setCurrent(focusIndex);\n },\n [refs, innerRef, onIndexChange, disabled],\n );\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n event.currentTarget.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n\n if (!onClick) {\n return;\n }\n\n onClick(event);\n };\n\n return (\n <Root\n ref={ref}\n disabled={disabled}\n role={role}\n view={view}\n size={size}\n onFocus={onItemFocus}\n tabIndex={hasKeyNavigation ? navigationTabIndex : tabIndex}\n className={cx(selectedClass, className)}\n onClick={handleClick}\n {...rest}\n >\n <>\n {contentLeft && <LeftContent className={classes.tabLeftContent}>{contentLeft}</LeftContent>}\n <StyledContent className={classes.tabContent}>{children}</StyledContent>\n {!contentRight && value && <TabItemValue>{value}</TabItemValue>}\n {!value && contentRight && (\n <RightContent className={classes.tabRightContent}>{contentRight}</RightContent>\n )}\n </>\n </Root>\n );\n });\n\nexport const verticalTabItemConfig = {\n name: 'VerticalTabItem',\n tag: 'button',\n layout: verticalTabItemRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n },\n defaults: {\n view: 'divider',\n },\n};\n"],"names":["verticalTabItemRoot","Root","forwardRef","props","outerRef","size","view","selected","_props$disabled","disabled","children","value","contentLeft","contentRight","onIndexChange","itemIndex","tabIndex","className","onClick","rest","_objectWithoutProperties","_excluded","innerRef","useRef","ref","useForkRef","refs","useContext","TabsContext","role","selectedClass","classes","selectedTabsItem","undefined","hasKeyNavigation","navigationTabIndex","current","useEffect","register","unregister","onItemFocus","useCallback","event","scrollTo","top","offsetTop","behavior","focusIndex","items","findIndex","itemRef","target","setCurrent","handleClick","currentTarget","scrollIntoView","block","inline","React","createElement","_extends","onFocus","cx","Fragment","LeftContent","tabLeftContent","StyledContent","tabContent","TabItemValue","RightContent","tabRightContent","verticalTabItemConfig","name","tag","layout","base","variations","css","sizeCSS","viewCSS","disabledCSS","attrs","defaults"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import './VerticalTabItem.styles_1yspq9o.css';
1
+ import './VerticalTabItem.styles_16d3lah.css';
2
2
  import { styled } from '@linaria/react';
3
3
 
4
4
  var base = "b1vnvg8i";
@@ -1 +1 @@
1
- {"version":3,"file":"VerticalTabItem.styles.js","sources":["../../../../../../src/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.styles.ts"],"sourcesContent":["import { css } from '@linaria/core';\nimport { styled } from '@linaria/react';\n\nimport { addFocus } from '../../../../../mixins';\nimport { tokens } from '../../../tokens';\n\nexport const base = css`\n position: relative;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n box-sizing: border-box;\n align-items: center;\n\n gap: var(${tokens.itemContentGap});\n padding: var(${tokens.itemPaddingOrientationVertical});\n\n appearance: none;\n border: none;\n outline: none;\n cursor: pointer;\n -webkit-tap-highlight-color: transparent;\n\n ${addFocus({\n outlineSize: '0.063rem',\n outlineOffset: '-0.125rem',\n outlineColor: `var(${tokens.outlineFocusColor})`,\n outlineRadius: 'calc(var(--plasma_private-outline-radius) + 0.063rem)',\n customFocusRules: `\n &.focus-visible:focus,\n &[data-focus-visible-added] {\n &::before {\n z-index: 1;\n outline: none;\n box-shadow: 0 0 0 0.063rem var(${tokens.outlineFocusColor});\n }\n }\n `,\n })};\n`;\n\nexport const StyledContent = styled.div`\n display: inline-block;\n width: fit-content;\n\n padding: 0 var(${tokens.itemContentPaddingClear}, var(${tokens.itemContentPadding}));\n`;\n\nexport const TabItemValue = styled.span`\n white-space: nowrap;\n color: var(${tokens.itemValueColor});\n`;\n\nexport const RightContent = styled.div`\n display: flex;\n color: inherit;\n\n &:hover {\n color: inherit;\n }\n`;\n\nexport const LeftContent = styled.div`\n display: flex;\n color: inherit;\n\n &:hover {\n color: inherit;\n }\n`;\n"],"names":["base","StyledContent","styled","name","class","propsAsIs","TabItemValue","RightContent","LeftContent"],"mappings":";;AAMO,IAAMA,IAAI,GAiChB,WAAA;AAEM,IAAMC,aAAa,gBAAGC,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,eAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAKlC,EAAA;AAEM,IAAMC,YAAY,gBAAGJ,MAAM,CAAA,MAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,cAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAGjC,EAAA;AAEM,IAAME,YAAY,gBAAGL,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,cAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAOjC,EAAA;AAEM,IAAMG,WAAW,gBAAGN,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,aAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAOhC;;;;"}
1
+ {"version":3,"file":"VerticalTabItem.styles.js","sources":["../../../../../../src/components/Tabs/ui/vertical/VerticalTabItem/VerticalTabItem.styles.ts"],"sourcesContent":["import { css } from '@linaria/core';\nimport { styled } from '@linaria/react';\n\nimport { addFocus } from '../../../../../mixins';\nimport { tokens } from '../../../tokens';\n\nexport const base = css`\n position: relative;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n box-sizing: border-box;\n align-items: center;\n\n gap: var(${tokens.itemContentGap});\n padding: var(${tokens.itemPaddingOrientationVertical});\n\n appearance: none;\n border: none;\n outline: none;\n cursor: pointer;\n -webkit-tap-highlight-color: transparent;\n\n ${addFocus({\n outlineSize: '0.063rem',\n outlineOffset: '-0.125rem',\n outlineColor: `var(${tokens.outlineFocusColor})`,\n outlineRadius: 'calc(var(--plasma_private-outline-radius) + 0.063rem)',\n customFocusRules: `\n &.focus-visible:focus,\n &[data-focus-visible-added] {\n &::before {\n z-index: 1;\n outline: none;\n box-shadow: 0 0 0 0.063rem var(${tokens.outlineFocusColor});\n }\n }\n `,\n })};\n`;\n\nexport const StyledContent = styled.div`\n display: inline-block;\n width: fit-content;\n\n padding: 0 var(${tokens.itemContentPaddingClear}, var(${tokens.itemContentPadding}));\n`;\n\nexport const TabItemValue = styled.span`\n color: var(${tokens.itemValueColor});\n`;\n\nexport const RightContent = styled.div`\n display: flex;\n color: inherit;\n\n &:hover {\n color: inherit;\n }\n`;\n\nexport const LeftContent = styled.div`\n display: flex;\n color: inherit;\n\n &:hover {\n color: inherit;\n }\n`;\n"],"names":["base","StyledContent","styled","name","class","propsAsIs","TabItemValue","RightContent","LeftContent"],"mappings":";;AAMO,IAAMA,IAAI,GAiChB,WAAA;AAEM,IAAMC,aAAa,gBAAGC,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,eAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAKlC,EAAA;AAEM,IAAMC,YAAY,gBAAGJ,MAAM,CAAA,MAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,cAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAEjC,EAAA;AAEM,IAAME,YAAY,gBAAGL,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,cAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAOjC,EAAA;AAEM,IAAMG,WAAW,gBAAGN,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,aAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAOhC;;;;"}
@@ -1,5 +1,5 @@
1
1
  .b1vnvg8i{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;box-sizing:border-box;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--plasma-tab-item-content-gap);padding:var(--plasma-tab-item-padding-orientation-vertical);-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;outline:none;cursor:pointer;-webkit-tap-highlight-color:transparent;position:relative;}.b1vnvg8i::before{content:'';position:absolute;top:-0.125rem;left:-0.125rem;right:-0.125rem;bottom:-0.125rem;z-index:1;display:block;box-sizing:content-box;border:0.063rem solid transparent;border-radius:calc(var(--plasma_private-outline-radius) + 0.063rem);-webkit-transition:box-shadow 0.2s ease-in-out;transition:box-shadow 0.2s ease-in-out;pointer-events:none;}.b1vnvg8i.focus-visible:focus::before,.b1vnvg8i[data-focus-visible-added]::before{z-index:1;outline:none;box-shadow:0 0 0 0.063rem var(--plasma-tabs-outline-focus-color);}
2
2
  .s4s0t81{display:inline-block;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;padding:0 var(--plasma-tab-item-content-padding-clear,var(--plasma-tab-item-content-padding));}
3
- .tur46hh{white-space:nowrap;color:var(--plasma-tab-item-value-color);}
3
+ .tur46hh{color:var(--plasma-tab-item-value-color);}
4
4
  .r1ms3p4x{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;color:inherit;}.r1ms3p4x:hover{color:inherit;}
5
5
  .l1yz2xa4{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;color:inherit;}.l1yz2xa4:hover{color:inherit;}
@@ -10,5 +10,3 @@
10
10
  .base_rze03c_bljnkat__94b6c151{background-color:var(--plasma-tabs-background-color);}.base_rze03c_bljnkat__94b6c151::after{content:'';position:absolute;top:0.125rem;bottom:0.125rem;left:0;background:var(--plasma-tabs-divider-color);width:var(--plasma-tabs-divider-width);border-radius:var(--plasma-tabs-divider-border-radius);}.base_rze03c_bljnkat__94b6c151.base_rze03c_tabsHasTopArrow__94b6c151::after{top:1.5rem;}.base_rze03c_bljnkat__94b6c151.base_rze03c_tabsHasBottomArrow__94b6c151::after{bottom:1.5rem;}.base_rze03c_bljnkat__94b6c151.base_rze03c_tabsNoDivider__94b6c151::after{width:0;}
11
11
 
12
12
  .base_do8935_b1vdpmya__377ce78c{opacity:var(--plasma-tabs-disabled-opacity);}
13
-
14
- .base_14x17ie_b5l3t3q__48c3df29.base_14x17ie_tabsTruncate__48c3df29{max-width:100%;}.base_14x17ie_b5l3t3q__48c3df29.base_14x17ie_tabsTruncate__48c3df29 .base_14x17ie_s1tfgc53__48c3df29{max-width:100%;}
@@ -11,9 +11,8 @@ import { StyledContentWrapper, StyledContent, base, StyledArrow } from './Vertic
11
11
  import { base as base$1 } from './variations/_size/base.js';
12
12
  import { base as base$2 } from './variations/_view/base.js';
13
13
  import { base as base$3 } from './variations/_disabled/base.js';
14
- import { base as base$4 } from './variations/_truncate/base.js';
15
14
 
16
- var _excluded = ["id", "disabled", "clip", "size", "view", "children", "index", "className", "orientation", "hasDivider", "truncate"];
15
+ var _excluded = ["id", "disabled", "clip", "size", "view", "children", "index", "className", "orientation", "hasDivider"];
17
16
  var Keys = /*#__PURE__*/function (Keys) {
18
17
  Keys[Keys["end"] = 35] = "end";
19
18
  Keys[Keys["home"] = 36] = "home";
@@ -36,8 +35,6 @@ var verticalTabsRoot = function verticalTabsRoot(Root) {
36
35
  orientation = props.orientation,
37
36
  _props$hasDivider = props.hasDivider,
38
37
  hasDivider = _props$hasDivider === void 0 ? true : _props$hasDivider,
39
- _props$truncate = props.truncate,
40
- truncate = _props$truncate === void 0 ? false : _props$truncate,
41
38
  rest = _objectWithoutProperties(props, _excluded);
42
39
  var _useState = useState(true),
43
40
  _useState2 = _slicedToArray(_useState, 2),
@@ -179,8 +176,7 @@ var verticalTabsRoot = function verticalTabsRoot(Root) {
179
176
  id: tabsId,
180
177
  ref: outerRef,
181
178
  disabled: disabled,
182
- truncate: truncate,
183
- className: cx(hasTopArrowClass, hasBottomArrowClass, noDividerClass, truncate && classes.tabsTruncate, className),
179
+ className: cx(hasTopArrowClass, hasBottomArrowClass, noDividerClass, className),
184
180
  onKeyDown: onKeyDown,
185
181
  orientation: orientation
186
182
  }, rest), !firstItemVisible && PreviousButton, /*#__PURE__*/React.createElement(StyledContentWrapper, {
@@ -207,10 +203,6 @@ var verticalTabsConfig = {
207
203
  disabled: {
208
204
  css: base$3,
209
205
  attrs: true
210
- },
211
- truncate: {
212
- css: base$4,
213
- attrs: true
214
206
  }
215
207
  },
216
208
  defaults: {
@@ -1 +1 @@
1
- {"version":3,"file":"VerticalTabs.js","sources":["../../../../../../src/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo, useState, useEffect, useRef, KeyboardEvent } from 'react';\nimport type { MutableRefObject } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../../../../engines/types';\nimport { classes, tokens } from '../../../tokens';\nimport { cx } from '../../../../../utils';\nimport { TabItemRefs, TabsContext } from '../../../TabsContext';\nimport type { VerticalTabsProps } from '../../../Tabs.types';\nimport { IconDisclosureLeft, IconDisclosureRight } from '../../../../_Icon';\n\nimport { base, StyledArrow, StyledContent, StyledContentWrapper } from './VerticalTabs.styles';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as truncateCSS } from './variations/_truncate/base';\n\nenum Keys {\n end = 35,\n home = 36,\n up = 38,\n down = 40,\n}\n\n// TODO: https://github.com/salute-developers/plasma/issues/1474\nexport const verticalTabsRoot = (Root: RootProps<HTMLDivElement, VerticalTabsProps>) =>\n forwardRef<HTMLDivElement, VerticalTabsProps>((props, outerRef) => {\n const {\n id,\n disabled = false,\n clip = 'showAll',\n size,\n view,\n children,\n index,\n className,\n orientation,\n hasDivider = true,\n truncate = false,\n ...rest\n } = props;\n\n const [firstItemVisible, setFirstItemVisible] = useState(true);\n const [lastItemVisible, setLastItemVisible] = useState(true);\n\n const refs = useMemo(() => new TabItemRefs(index), []);\n\n const uniqId = safeUseId();\n const tabsId = id || uniqId;\n\n const noDividerClass = !hasDivider ? classes.tabsNoDivider : undefined;\n const hasTopArrowClass = !firstItemVisible ? classes.tabsHasTopArrow : undefined;\n const hasBottomArrowClass = !lastItemVisible ? classes.tabsHasBottomArrow : undefined;\n const clipScrollClass = clip === 'scroll' ? classes.tabsClipScroll : undefined;\n const clipShowAllClass = clip === 'showAll' ? classes.tabsClipShowAll : undefined;\n\n const scrollRef = useRef<HTMLElement | null>(null);\n const trackRef = useRef<HTMLElement | null>(null);\n const upArrowRef = useRef<HTMLButtonElement | null>(null);\n\n const onPrev = useCallback(() => {\n if (disabled || !scrollRef.current) {\n return;\n }\n\n const scrollTop = Math.round(scrollRef.current.scrollTop);\n const firstOverflowingTab = refs.items\n .slice()\n .reverse()\n .find((item: MutableRefObject<HTMLElement | null>) => {\n if (!item.current || item.current.offsetTop === undefined) {\n return;\n }\n const tabStartY = item.current.offsetTop;\n\n return tabStartY < scrollTop;\n });\n\n firstOverflowingTab?.current?.scrollIntoView({ block: 'start', inline: 'nearest' });\n }, [disabled, scrollRef, refs]);\n\n const onNext = useCallback(() => {\n if (disabled || !scrollRef.current) {\n return;\n }\n\n const scrollBottom = Math.round(scrollRef.current.scrollTop + scrollRef.current.clientHeight);\n const lastOverflowingTab = refs.items.find((item: MutableRefObject<HTMLElement | null>) => {\n if (!item.current || item.current.offsetTop === undefined) {\n return;\n }\n const tabEndY = item.current.offsetTop + item.current.offsetHeight;\n\n return tabEndY > scrollBottom;\n });\n\n lastOverflowingTab?.current?.scrollIntoView({ block: 'end', inline: 'nearest' });\n }, [disabled, scrollRef, refs]);\n\n const PreviousButton = (\n <StyledArrow\n type=\"button\"\n aria-label=\"Предыдущий таб\"\n onClick={onPrev}\n tabIndex={disabled ? -1 : 0}\n disabled={disabled}\n ref={upArrowRef}\n >\n <IconDisclosureLeft color={`var(${tokens.arrowColor})`} />\n </StyledArrow>\n );\n\n const NextButton = (\n <StyledArrow\n type=\"button\"\n aria-label=\"Следующий таб\"\n onClick={onNext}\n tabIndex={disabled ? -1 : 0}\n disabled={disabled}\n >\n <IconDisclosureRight color={`var(${tokens.arrowColor})`} />\n </StyledArrow>\n );\n\n const handleScroll = useCallback(\n (event: React.UIEvent<HTMLElement>): void => {\n event.stopPropagation();\n const maxScrollTop = event.currentTarget.scrollHeight - event.currentTarget.clientHeight;\n const scrollTop = Math.round(event.currentTarget.scrollTop);\n\n setFirstItemVisible(scrollTop <= 0);\n setLastItemVisible(scrollTop >= maxScrollTop);\n },\n [setFirstItemVisible, setLastItemVisible],\n );\n\n const onKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (index === undefined) {\n return;\n }\n\n const minIndex = 0;\n const maxIndex = refs.items.length - 1;\n let nextIndex: number;\n\n switch (event.keyCode) {\n case Keys.end:\n nextIndex = maxIndex;\n break;\n case Keys.up:\n nextIndex = index > minIndex ? index - 1 : index;\n break;\n case Keys.down:\n nextIndex = index < maxIndex ? index + 1 : index;\n break;\n case Keys.home:\n nextIndex = minIndex;\n break;\n default:\n return;\n }\n\n if (nextIndex !== index) {\n event.preventDefault();\n refs.items[nextIndex].current?.focus();\n refs.items[nextIndex].current?.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n behavior: 'smooth',\n });\n }\n },\n [index],\n );\n\n useEffect(() => {\n setLastItemVisible(scrollRef.current?.scrollHeight === scrollRef.current?.clientHeight);\n }, []);\n\n // Этот хук компенсирует появление верхней стрелки при прокрутке\n useEffect(() => {\n if (firstItemVisible || !scrollRef.current || !upArrowRef.current) {\n return;\n }\n\n scrollRef.current.scrollTo({\n top: Math.round(scrollRef.current.scrollTop + upArrowRef.current.clientHeight),\n });\n }, [firstItemVisible, scrollRef, upArrowRef]);\n\n return (\n <TabsContext.Provider value={refs}>\n <Root\n view={view}\n role=\"tablist\"\n size={size}\n id={tabsId}\n ref={outerRef}\n disabled={disabled}\n truncate={truncate}\n className={cx(\n hasTopArrowClass,\n hasBottomArrowClass,\n noDividerClass,\n truncate && classes.tabsTruncate,\n className,\n )}\n onKeyDown={onKeyDown}\n orientation={orientation}\n {...rest}\n >\n {!firstItemVisible && PreviousButton}\n <StyledContentWrapper\n className={cx(clipScrollClass, clipShowAllClass)}\n ref={scrollRef as MutableRefObject<HTMLDivElement | null>}\n onScroll={handleScroll}\n >\n <StyledContent ref={trackRef as MutableRefObject<HTMLDivElement | null>}>\n {children}\n </StyledContent>\n </StyledContentWrapper>\n {!lastItemVisible && NextButton}\n </Root>\n </TabsContext.Provider>\n );\n });\n\nexport const verticalTabsConfig = {\n name: 'VerticalTabs',\n tag: 'div',\n layout: verticalTabsRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n truncate: {\n css: truncateCSS,\n attrs: true,\n },\n },\n defaults: {\n view: 'divider',\n size: 'xs',\n },\n};\n"],"names":["Keys","verticalTabsRoot","Root","forwardRef","props","outerRef","id","_props$disabled","disabled","_props$clip","clip","size","view","children","index","className","orientation","_props$hasDivider","hasDivider","_props$truncate","truncate","rest","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","firstItemVisible","setFirstItemVisible","_useState3","_useState4","lastItemVisible","setLastItemVisible","refs","useMemo","TabItemRefs","uniqId","safeUseId","tabsId","noDividerClass","classes","tabsNoDivider","undefined","hasTopArrowClass","tabsHasTopArrow","hasBottomArrowClass","tabsHasBottomArrow","clipScrollClass","tabsClipScroll","clipShowAllClass","tabsClipShowAll","scrollRef","useRef","trackRef","upArrowRef","onPrev","useCallback","_firstOverflowingTab$","current","scrollTop","Math","round","firstOverflowingTab","items","slice","reverse","find","item","offsetTop","tabStartY","scrollIntoView","block","inline","onNext","_lastOverflowingTab$c","scrollBottom","clientHeight","lastOverflowingTab","tabEndY","offsetHeight","PreviousButton","React","createElement","StyledArrow","type","onClick","tabIndex","ref","IconDisclosureLeft","color","concat","tokens","arrowColor","NextButton","IconDisclosureRight","handleScroll","event","stopPropagation","maxScrollTop","currentTarget","scrollHeight","onKeyDown","minIndex","maxIndex","length","nextIndex","keyCode","end","up","down","home","_refs$items$nextIndex","_refs$items$nextIndex2","preventDefault","focus","behavior","useEffect","_scrollRef$current","_scrollRef$current2","scrollTo","top","TabsContext","Provider","value","_extends","role","cx","tabsTruncate","StyledContentWrapper","onScroll","StyledContent","verticalTabsConfig","name","tag","layout","base","variations","css","sizeCSS","viewCSS","disabledCSS","attrs","truncateCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"VerticalTabs.js","sources":["../../../../../../src/components/Tabs/ui/vertical/VerticalTabs/VerticalTabs.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo, useState, useEffect, useRef, KeyboardEvent } from 'react';\nimport type { MutableRefObject } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\n\nimport type { RootProps } from '../../../../../engines/types';\nimport { classes, tokens } from '../../../tokens';\nimport { cx } from '../../../../../utils';\nimport { TabItemRefs, TabsContext } from '../../../TabsContext';\nimport type { VerticalTabsProps } from '../../../Tabs.types';\nimport { IconDisclosureLeft, IconDisclosureRight } from '../../../../_Icon';\n\nimport { base, StyledArrow, StyledContent, StyledContentWrapper } from './VerticalTabs.styles';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\n\nenum Keys {\n end = 35,\n home = 36,\n up = 38,\n down = 40,\n}\n\n// TODO: https://github.com/salute-developers/plasma/issues/1474\nexport const verticalTabsRoot = (Root: RootProps<HTMLDivElement, VerticalTabsProps>) =>\n forwardRef<HTMLDivElement, VerticalTabsProps>((props, outerRef) => {\n const {\n id,\n disabled = false,\n clip = 'showAll',\n size,\n view,\n children,\n index,\n className,\n orientation,\n hasDivider = true,\n ...rest\n } = props;\n\n const [firstItemVisible, setFirstItemVisible] = useState(true);\n const [lastItemVisible, setLastItemVisible] = useState(true);\n\n const refs = useMemo(() => new TabItemRefs(index), []);\n\n const uniqId = safeUseId();\n const tabsId = id || uniqId;\n\n const noDividerClass = !hasDivider ? classes.tabsNoDivider : undefined;\n const hasTopArrowClass = !firstItemVisible ? classes.tabsHasTopArrow : undefined;\n const hasBottomArrowClass = !lastItemVisible ? classes.tabsHasBottomArrow : undefined;\n const clipScrollClass = clip === 'scroll' ? classes.tabsClipScroll : undefined;\n const clipShowAllClass = clip === 'showAll' ? classes.tabsClipShowAll : undefined;\n\n const scrollRef = useRef<HTMLElement | null>(null);\n const trackRef = useRef<HTMLElement | null>(null);\n const upArrowRef = useRef<HTMLButtonElement | null>(null);\n\n const onPrev = useCallback(() => {\n if (disabled || !scrollRef.current) {\n return;\n }\n\n const scrollTop = Math.round(scrollRef.current.scrollTop);\n const firstOverflowingTab = refs.items\n .slice()\n .reverse()\n .find((item: MutableRefObject<HTMLElement | null>) => {\n if (!item.current || item.current.offsetTop === undefined) {\n return;\n }\n const tabStartY = item.current.offsetTop;\n\n return tabStartY < scrollTop;\n });\n\n firstOverflowingTab?.current?.scrollIntoView({ block: 'start', inline: 'nearest' });\n }, [disabled, scrollRef, refs]);\n\n const onNext = useCallback(() => {\n if (disabled || !scrollRef.current) {\n return;\n }\n\n const scrollBottom = Math.round(scrollRef.current.scrollTop + scrollRef.current.clientHeight);\n const lastOverflowingTab = refs.items.find((item: MutableRefObject<HTMLElement | null>) => {\n if (!item.current || item.current.offsetTop === undefined) {\n return;\n }\n const tabEndY = item.current.offsetTop + item.current.offsetHeight;\n\n return tabEndY > scrollBottom;\n });\n\n lastOverflowingTab?.current?.scrollIntoView({ block: 'end', inline: 'nearest' });\n }, [disabled, scrollRef, refs]);\n\n const PreviousButton = (\n <StyledArrow\n type=\"button\"\n aria-label=\"Предыдущий таб\"\n onClick={onPrev}\n tabIndex={disabled ? -1 : 0}\n disabled={disabled}\n ref={upArrowRef}\n >\n <IconDisclosureLeft color={`var(${tokens.arrowColor})`} />\n </StyledArrow>\n );\n\n const NextButton = (\n <StyledArrow\n type=\"button\"\n aria-label=\"Следующий таб\"\n onClick={onNext}\n tabIndex={disabled ? -1 : 0}\n disabled={disabled}\n >\n <IconDisclosureRight color={`var(${tokens.arrowColor})`} />\n </StyledArrow>\n );\n\n const handleScroll = useCallback(\n (event: React.UIEvent<HTMLElement>): void => {\n event.stopPropagation();\n const maxScrollTop = event.currentTarget.scrollHeight - event.currentTarget.clientHeight;\n const scrollTop = Math.round(event.currentTarget.scrollTop);\n\n setFirstItemVisible(scrollTop <= 0);\n setLastItemVisible(scrollTop >= maxScrollTop);\n },\n [setFirstItemVisible, setLastItemVisible],\n );\n\n const onKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (index === undefined) {\n return;\n }\n\n const minIndex = 0;\n const maxIndex = refs.items.length - 1;\n let nextIndex: number;\n\n switch (event.keyCode) {\n case Keys.end:\n nextIndex = maxIndex;\n break;\n case Keys.up:\n nextIndex = index > minIndex ? index - 1 : index;\n break;\n case Keys.down:\n nextIndex = index < maxIndex ? index + 1 : index;\n break;\n case Keys.home:\n nextIndex = minIndex;\n break;\n default:\n return;\n }\n\n if (nextIndex !== index) {\n event.preventDefault();\n refs.items[nextIndex].current?.focus();\n refs.items[nextIndex].current?.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n behavior: 'smooth',\n });\n }\n },\n [index],\n );\n\n useEffect(() => {\n setLastItemVisible(scrollRef.current?.scrollHeight === scrollRef.current?.clientHeight);\n }, []);\n\n // Этот хук компенсирует появление верхней стрелки при прокрутке\n useEffect(() => {\n if (firstItemVisible || !scrollRef.current || !upArrowRef.current) {\n return;\n }\n\n scrollRef.current.scrollTo({\n top: Math.round(scrollRef.current.scrollTop + upArrowRef.current.clientHeight),\n });\n }, [firstItemVisible, scrollRef, upArrowRef]);\n\n return (\n <TabsContext.Provider value={refs}>\n <Root\n view={view}\n role=\"tablist\"\n size={size}\n id={tabsId}\n ref={outerRef}\n disabled={disabled}\n className={cx(hasTopArrowClass, hasBottomArrowClass, noDividerClass, className)}\n onKeyDown={onKeyDown}\n orientation={orientation}\n {...rest}\n >\n {!firstItemVisible && PreviousButton}\n <StyledContentWrapper\n className={cx(clipScrollClass, clipShowAllClass)}\n ref={scrollRef as MutableRefObject<HTMLDivElement | null>}\n onScroll={handleScroll}\n >\n <StyledContent ref={trackRef as MutableRefObject<HTMLDivElement | null>}>\n {children}\n </StyledContent>\n </StyledContentWrapper>\n {!lastItemVisible && NextButton}\n </Root>\n </TabsContext.Provider>\n );\n });\n\nexport const verticalTabsConfig = {\n name: 'VerticalTabs',\n tag: 'div',\n layout: verticalTabsRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n },\n defaults: {\n view: 'divider',\n size: 'xs',\n },\n};\n"],"names":["Keys","verticalTabsRoot","Root","forwardRef","props","outerRef","id","_props$disabled","disabled","_props$clip","clip","size","view","children","index","className","orientation","_props$hasDivider","hasDivider","rest","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","firstItemVisible","setFirstItemVisible","_useState3","_useState4","lastItemVisible","setLastItemVisible","refs","useMemo","TabItemRefs","uniqId","safeUseId","tabsId","noDividerClass","classes","tabsNoDivider","undefined","hasTopArrowClass","tabsHasTopArrow","hasBottomArrowClass","tabsHasBottomArrow","clipScrollClass","tabsClipScroll","clipShowAllClass","tabsClipShowAll","scrollRef","useRef","trackRef","upArrowRef","onPrev","useCallback","_firstOverflowingTab$","current","scrollTop","Math","round","firstOverflowingTab","items","slice","reverse","find","item","offsetTop","tabStartY","scrollIntoView","block","inline","onNext","_lastOverflowingTab$c","scrollBottom","clientHeight","lastOverflowingTab","tabEndY","offsetHeight","PreviousButton","React","createElement","StyledArrow","type","onClick","tabIndex","ref","IconDisclosureLeft","color","concat","tokens","arrowColor","NextButton","IconDisclosureRight","handleScroll","event","stopPropagation","maxScrollTop","currentTarget","scrollHeight","onKeyDown","minIndex","maxIndex","length","nextIndex","keyCode","end","up","down","home","_refs$items$nextIndex","_refs$items$nextIndex2","preventDefault","focus","behavior","useEffect","_scrollRef$current","_scrollRef$current2","scrollTo","top","TabsContext","Provider","value","_extends","role","cx","StyledContentWrapper","onScroll","StyledContent","verticalTabsConfig","name","tag","layout","base","variations","css","sizeCSS","viewCSS","disabledCSS","attrs","defaults"],"mappings":"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"}
@@ -1,18 +1,22 @@
1
1
  import './TextArea_ob9y3r.css';
2
- import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _slicedToArray, objectSpread2 as _objectSpread2, toConsumableArray as _toConsumableArray, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
3
- import React, { forwardRef, useState, useCallback, createRef } from 'react';
4
- import { useResizeObserver } from '@salutejs/plasma-core';
2
+ import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _slicedToArray, extends as _extends, objectSpread2 as _objectSpread2, toConsumableArray as _toConsumableArray } from '../../_virtual/_rollupPluginBabelHelpers.js';
3
+ import React, { forwardRef, useState, useRef, useCallback, createRef } from 'react';
4
+ import { useForkRef, useResizeObserver } from '@salutejs/plasma-core';
5
5
  import { cx } from '../../utils/index.js';
6
+ import { useOutsideClick } from '../../hooks/useOutsideClick.js';
6
7
  import { ROOT_FONT_SIZE, useAutoResize } from './hooks/useAutoResize.js';
7
- import { StyledLabel, StyledIndicator, StyledContainer, StyledContent, StyledTextAreaWrapper, StyledTextArea, StyledHelpers, StyledLeftHelper, StyledRightHelper, StyledPlaceholder, StyledOptionalText } from './TextArea.styles.js';
8
+ import { OuterLabelWrapper, StyledIndicatorWrapper, StyledLabel, StyledHintWrapper, StyledIndicator, TitleCaption, StyledContainer, StyledContent, StyledTextAreaWrapper, StyledTextArea, StyledHelpers, StyledLeftHelper, StyledRightHelper, StyledPlaceholder, StyledOptionalText } from './TextArea.styles.js';
8
9
  import { classes } from './TextArea.tokens.js';
9
10
  import { base as base$2 } from './variations/_view/base.js';
10
11
  import { base as base$1 } from './variations/_size/base.js';
11
12
  import { base as base$3 } from './variations/_clear/base.js';
12
13
  import { base as base$4 } from './variations/_disabled/base.js';
14
+ import { base as base$5 } from './variations/_hint-view/base.js';
15
+ import { base as base$6 } from './variations/_hint-size/base.js';
16
+ import { HintComponent } from './ui/Hint/Hint.js';
13
17
  import { mergeRefs } from '../../utils/setRefList.js';
14
18
 
15
- var _excluded = ["helperText", "status", "resize", "rightHelper", "leftHelper", "contentRight", "autoResize", "minAuto", "maxAuto", "label", "labelPlacement", "placeholder", "defaultValue", "height", "width", "value", "disabled", "required", "requiredPlacement", "optional", "clear", "hasDivider", "size", "view", "id", "style", "className", "readOnly", "rows", "cols", "onChange"];
19
+ var _excluded = ["helperText", "status", "resize", "rightHelper", "leftHelper", "contentRight", "autoResize", "minAuto", "maxAuto", "label", "labelPlacement", "titleCaption", "placeholder", "defaultValue", "height", "width", "value", "disabled", "required", "requiredPlacement", "optional", "clear", "hasDivider", "size", "view", "id", "style", "className", "readOnly", "rows", "cols", "hintTrigger", "hintText", "hintView", "hintSize", "hintTargetIcon", "hintPlacement", "hintHasArrow", "hintOffset", "hintWidth", "hintContentLeft", "onChange"];
16
20
  var innerPlaceholderUp = classes.innerPlaceholderUp,
17
21
  focusedOuterPlaceholderColor = classes.focusedOuterPlaceholderColor,
18
22
  hidePlaceHolder = classes.hidePlaceHolder,
@@ -31,6 +35,7 @@ var fallbackStatusMap = {
31
35
  warning: 'warning',
32
36
  error: 'negative'
33
37
  };
38
+ var HINT_DEFAULT_OFFSET = [0, 0];
34
39
 
35
40
  // TODO: Перенести этот метод в файл applyDynamicLabel.ts
36
41
  var getDynamicLabelClasses = function getDynamicLabelClasses(props, focused) {
@@ -67,6 +72,7 @@ var textAreaRoot = function textAreaRoot(Root) {
67
72
  label = props.label,
68
73
  _props$labelPlacement = props.labelPlacement,
69
74
  labelPlacement = _props$labelPlacement === void 0 ? 'inner' : _props$labelPlacement,
75
+ titleCaption = props.titleCaption,
70
76
  placeholder = props.placeholder,
71
77
  defaultValue = props.defaultValue,
72
78
  height = props.height,
@@ -89,21 +95,45 @@ var textAreaRoot = function textAreaRoot(Root) {
89
95
  readOnly = props.readOnly,
90
96
  rows = props.rows,
91
97
  cols = props.cols,
98
+ _props$hintTrigger = props.hintTrigger,
99
+ hintTrigger = _props$hintTrigger === void 0 ? 'hover' : _props$hintTrigger,
100
+ hintText = props.hintText,
101
+ _props$hintView = props.hintView,
102
+ hintView = _props$hintView === void 0 ? 'default' : _props$hintView,
103
+ _props$hintSize = props.hintSize,
104
+ hintSize = _props$hintSize === void 0 ? 'm' : _props$hintSize,
105
+ hintTargetIcon = props.hintTargetIcon,
106
+ _props$hintPlacement = props.hintPlacement,
107
+ hintPlacement = _props$hintPlacement === void 0 ? 'auto' : _props$hintPlacement,
108
+ hintHasArrow = props.hintHasArrow,
109
+ _props$hintOffset = props.hintOffset,
110
+ hintOffset = _props$hintOffset === void 0 ? HINT_DEFAULT_OFFSET : _props$hintOffset,
111
+ hintWidth = props.hintWidth,
112
+ hintContentLeft = props.hintContentLeft,
92
113
  onChange = props.onChange,
93
114
  rest = _objectWithoutProperties(props, _excluded);
94
- var _useState = useState(width ? "".concat(width, "rem") : '100%'),
115
+ var _useState = useState(false),
95
116
  _useState2 = _slicedToArray(_useState, 2),
96
- helperWidth = _useState2[0],
97
- setHelperWidth = _useState2[1];
98
- var _useState3 = useState(false),
117
+ isHintVisible = _useState2[0],
118
+ setIsHintVisible = _useState2[1];
119
+ var _useState3 = useState(width ? "".concat(width, "rem") : '100%'),
99
120
  _useState4 = _slicedToArray(_useState3, 2),
100
- focused = _useState4[0],
101
- setFocused = _useState4[1];
102
- var _useState5 = useState(),
121
+ helperWidth = _useState4[0],
122
+ setHelperWidth = _useState4[1];
123
+ var _useState5 = useState(false),
103
124
  _useState6 = _slicedToArray(_useState5, 2),
104
- uncontrolledValue = _useState6[0],
105
- setUncontrolledValue = _useState6[1];
125
+ focused = _useState6[0],
126
+ setFocused = _useState6[1];
127
+ var _useState7 = useState(),
128
+ _useState8 = _slicedToArray(_useState7, 2),
129
+ uncontrolledValue = _useState8[0],
130
+ setUncontrolledValue = _useState8[1];
106
131
  var outerRef = /*#__PURE__*/createRef();
132
+ var hintRef = useOutsideClick(function () {
133
+ setIsHintVisible(false);
134
+ });
135
+ var hintInnerRef = useRef(null);
136
+ var hintForkRef = useForkRef(hintRef, hintInnerRef);
107
137
  var innerOptional = required ? false : optional;
108
138
  var hasHelper = Boolean(leftHelper || rightHelper || helperText);
109
139
  var hasOuterLabel = Boolean(label && labelPlacement === 'outer');
@@ -114,9 +144,28 @@ var textAreaRoot = function textAreaRoot(Root) {
114
144
  var applyCustomWidth = resize !== 'horizontal' && resize !== 'both' && !cols;
115
145
  var placeholderLabel = hasInnerLabel ? label : placeholder;
116
146
  var clearClass = clear ? classes.clear : undefined;
147
+ var hasHintClass = hintText ? classes.hasHint : undefined;
117
148
  var hasRightContentClass = contentRight ? classes.hasRightContent : undefined;
118
149
  var hasDividerClass = hasDivider ? classes.hasDivider : undefined;
119
- var requiredPlacementClass = requiredPlacement === 'right' ? 'align-right ' : undefined;
150
+ var requiredPlacementClass = requiredPlacement === 'right' ? classes.requiredAlignRight : undefined;
151
+ var handleHintShow = function handleHintShow() {
152
+ return setIsHintVisible(true);
153
+ };
154
+ var handleHintHide = function handleHintHide() {
155
+ return setIsHintVisible(false);
156
+ };
157
+ var handleHintClick = function handleHintClick(event) {
158
+ var _hintInnerRef$current;
159
+ if (!hintText || hintTrigger !== 'click') {
160
+ return;
161
+ }
162
+ event.stopPropagation();
163
+ var targetIsPopover = event.target === hintInnerRef.current;
164
+ var rootHasTarget = (_hintInnerRef$current = hintInnerRef.current) === null || _hintInnerRef$current === void 0 ? void 0 : _hintInnerRef$current.contains(event.target);
165
+ if (!targetIsPopover && !rootHasTarget) {
166
+ setIsHintVisible(true);
167
+ }
168
+ };
120
169
  useResizeObserver(outerRef, function (currentElement) {
121
170
  var inlineWidth = currentElement.style.width;
122
171
  if (inlineWidth || cols) {
@@ -158,8 +207,10 @@ var textAreaRoot = function textAreaRoot(Root) {
158
207
  value: value || uncontrolledValue || defaultValue,
159
208
  rows: rows
160
209
  }, focused);
161
- var optionalTextNode = innerOptional ? /*#__PURE__*/React.createElement(StyledOptionalText, null, Boolean(hasPlaceholderOptional ? placeholderLabel : label) && '\xa0', optionalText) : null;
162
- return /*#__PURE__*/React.createElement(Root, {
210
+ var optionalTextNode = innerOptional ? /*#__PURE__*/React.createElement(StyledOptionalText, {
211
+ inheritFont: !hasOuterLabel
212
+ }, Boolean(hasPlaceholderOptional ? placeholderLabel : label) && '\xa0', optionalText) : null;
213
+ return /*#__PURE__*/React.createElement(Root, _extends({
163
214
  view: overriddenView,
164
215
  size: size,
165
216
  disabled: disabled,
@@ -168,18 +219,53 @@ var textAreaRoot = function textAreaRoot(Root) {
168
219
  style: _objectSpread2({
169
220
  width: helperWidth
170
221
  }, style),
171
- className: cx(clearClass, hasDividerClass, className),
222
+ className: cx(clearClass, hasDividerClass, hasHintClass, className),
172
223
  onClick: handleTextAreaFocus
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, {
224
+ }, hintText && {
225
+ hintView: hintView,
226
+ hintSize: hintSize
227
+ }), (hasOuterLabel || titleCaption) && /*#__PURE__*/React.createElement(OuterLabelWrapper, {
228
+ isInnnerLabel: labelPlacement === 'inner'
229
+ }, hasOuterLabel && /*#__PURE__*/React.createElement(StyledIndicatorWrapper, null, /*#__PURE__*/React.createElement(StyledLabel, null, label), hintText && /*#__PURE__*/React.createElement(StyledHintWrapper, null, /*#__PURE__*/React.createElement(HintComponent, {
230
+ ref: hintForkRef,
231
+ hintText: hintText,
232
+ hintTrigger: hintTrigger,
233
+ isHintVisible: isHintVisible,
234
+ hintTargetIcon: hintTargetIcon,
235
+ hintPlacement: hintPlacement,
236
+ hintHasArrow: hintHasArrow,
237
+ hintOffset: hintOffset,
238
+ hintWidth: hintWidth,
239
+ hintContentLeft: hintContentLeft,
240
+ handleHintShow: handleHintShow,
241
+ handleHintHide: handleHintHide,
242
+ handleHintClick: handleHintClick
243
+ })), required && /*#__PURE__*/React.createElement(StyledIndicator, {
244
+ className: cx(classes.outerLabelPlacement, requiredPlacementClass, hasHintClass)
245
+ }), optionalTextNode), titleCaption && /*#__PURE__*/React.createElement(TitleCaption, null, titleCaption)), /*#__PURE__*/React.createElement(StyledContainer, {
176
246
  className: cx.apply(void 0, [styledContainer].concat(_toConsumableArray(dynamicLabelClasses))),
177
247
  width: helperWidth,
178
248
  onFocus: onFocusHandler,
179
249
  onBlur: onBlurHandler
180
- }, required && !hasOuterLabel && /*#__PURE__*/React.createElement(StyledIndicator, {
250
+ }, !hasOuterLabel && /*#__PURE__*/React.createElement(React.Fragment, null, required && /*#__PURE__*/React.createElement(StyledIndicator, {
181
251
  className: cx(classes.innerLabelPlacement, requiredPlacementClass)
182
- }), contentRight && /*#__PURE__*/React.createElement(StyledContent, null, contentRight), /*#__PURE__*/React.createElement(StyledTextAreaWrapper, {
252
+ }), hintText && /*#__PURE__*/React.createElement(StyledHintWrapper, {
253
+ className: classes.innerLabelPlacement
254
+ }, /*#__PURE__*/React.createElement(HintComponent, {
255
+ ref: hintForkRef,
256
+ hintText: hintText,
257
+ hintTrigger: hintTrigger,
258
+ isHintVisible: isHintVisible,
259
+ hintTargetIcon: hintTargetIcon,
260
+ hintPlacement: hintPlacement,
261
+ hintHasArrow: hintHasArrow,
262
+ hintOffset: hintOffset,
263
+ hintWidth: hintWidth,
264
+ hintContentLeft: hintContentLeft,
265
+ handleHintShow: handleHintShow,
266
+ handleHintHide: handleHintHide,
267
+ handleHintClick: handleHintClick
268
+ }))), contentRight && /*#__PURE__*/React.createElement(StyledContent, null, contentRight), /*#__PURE__*/React.createElement(StyledTextAreaWrapper, {
183
269
  className: styledTextAreaWrapper,
184
270
  hasHelper: hasHelper
185
271
  }, /*#__PURE__*/React.createElement(StyledTextArea, _extends({
@@ -233,6 +319,12 @@ var textAreaConfig = {
233
319
  },
234
320
  readOnly: {
235
321
  attrs: true
322
+ },
323
+ hintView: {
324
+ css: base$5
325
+ },
326
+ hintSize: {
327
+ css: base$6
236
328
  }
237
329
  },
238
330
  defaults: {