@salutejs/plasma-new-hope 0.134.0-canary.1404.10615452870.0 → 0.134.0-canary.1405.10615646161.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (257) hide show
  1. package/cjs/components/DatePicker/RangeDate/RangeDate.js +9 -19
  2. package/cjs/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  3. package/cjs/components/DatePicker/SingleDate/SingleDate.js +5 -12
  4. package/cjs/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  5. package/cjs/components/DatePicker/hooks/useDatePicker.js +7 -9
  6. package/cjs/components/DatePicker/hooks/useDatePicker.js.map +1 -1
  7. package/cjs/components/DatePicker/utils/dateHelper.js +13 -15
  8. package/cjs/components/DatePicker/utils/dateHelper.js.map +1 -1
  9. package/cjs/components/InputGroup/InputGroup.css +11 -0
  10. package/cjs/components/InputGroup/InputGroup.js +81 -0
  11. package/cjs/components/InputGroup/InputGroup.js.map +1 -0
  12. package/cjs/components/InputGroup/InputGroup.styles.js +9 -0
  13. package/cjs/components/InputGroup/InputGroup.styles.js.map +1 -0
  14. package/cjs/components/InputGroup/InputGroup.styles_1ivl67d.css +1 -0
  15. package/cjs/components/InputGroup/InputGroup.tokens.js +92 -0
  16. package/cjs/components/InputGroup/InputGroup.tokens.js.map +1 -0
  17. package/cjs/components/InputGroup/variations/_gap/base.js +9 -0
  18. package/cjs/components/InputGroup/variations/_gap/base.js.map +1 -0
  19. package/cjs/components/InputGroup/variations/_gap/base_1k4piyx.css +1 -0
  20. package/cjs/components/InputGroup/variations/_orientation/base.js +9 -0
  21. package/cjs/components/InputGroup/variations/_orientation/base.js.map +1 -0
  22. package/cjs/components/InputGroup/variations/_orientation/base_mgs8eg.css +1 -0
  23. package/cjs/components/InputGroup/variations/_shape/base.js +9 -0
  24. package/cjs/components/InputGroup/variations/_shape/base.js.map +1 -0
  25. package/cjs/components/InputGroup/variations/_shape/base_1v4bh9v.css +1 -0
  26. package/cjs/components/InputGroup/variations/_size/base.js +9 -0
  27. package/cjs/components/InputGroup/variations/_size/base.js.map +1 -0
  28. package/cjs/components/InputGroup/variations/_size/base_1vk5vms.css +1 -0
  29. package/cjs/components/InputGroup/variations/_stretching/base.js +9 -0
  30. package/cjs/components/InputGroup/variations/_stretching/base.js.map +1 -0
  31. package/cjs/components/InputGroup/variations/_stretching/base_1cr1a83.css +1 -0
  32. package/cjs/components/TextField/TextField.js +1 -1
  33. package/cjs/components/TextField/TextField.js.map +1 -1
  34. package/cjs/components/TextField/TextField.tokens.js +2 -1
  35. package/cjs/components/TextField/TextField.tokens.js.map +1 -1
  36. package/cjs/index.css +12 -0
  37. package/cjs/index.js +7 -0
  38. package/cjs/index.js.map +1 -1
  39. package/cjs/utils/datejs.js +0 -1
  40. package/cjs/utils/datejs.js.map +1 -1
  41. package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +9 -19
  42. package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.js +5 -12
  43. package/emotion/cjs/components/DatePicker/hooks/useDatePicker.js +7 -9
  44. package/emotion/cjs/components/DatePicker/utils/dateHelper.js +13 -15
  45. package/emotion/cjs/components/InputGroup/InputGroup.js +83 -0
  46. package/emotion/cjs/components/InputGroup/InputGroup.styles.js +17 -0
  47. package/emotion/cjs/components/InputGroup/InputGroup.template-doc.mdx +124 -0
  48. package/emotion/cjs/components/InputGroup/InputGroup.tokens.js +90 -0
  49. package/emotion/cjs/components/InputGroup/InputGroup.types.js +5 -0
  50. package/emotion/cjs/components/InputGroup/index.js +31 -0
  51. package/emotion/cjs/components/InputGroup/variations/_gap/base.js +9 -0
  52. package/emotion/cjs/components/InputGroup/variations/_gap/tokens.json +1 -0
  53. package/emotion/cjs/components/InputGroup/variations/_orientation/base.js +9 -0
  54. package/emotion/cjs/components/InputGroup/variations/_orientation/tokens.json +1 -0
  55. package/emotion/cjs/components/InputGroup/variations/_shape/base.js +11 -0
  56. package/emotion/cjs/components/InputGroup/variations/_shape/tokens.json +1 -0
  57. package/emotion/cjs/components/InputGroup/variations/_size/base.js +10 -0
  58. package/emotion/cjs/components/InputGroup/variations/_size/tokens.json +58 -0
  59. package/emotion/cjs/components/InputGroup/variations/_stretching/base.js +9 -0
  60. package/emotion/cjs/components/InputGroup/variations/_stretching/tokens.json +1 -0
  61. package/emotion/cjs/components/TextField/TextField.js +2 -2
  62. package/emotion/cjs/components/TextField/TextField.tokens.js +2 -1
  63. package/emotion/cjs/components/TextField/index.js +6 -0
  64. package/emotion/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +1 -34
  65. package/emotion/cjs/examples/plasma_b2c/components/InputGroup/InputGroup.config.js +38 -0
  66. package/emotion/cjs/examples/plasma_b2c/components/InputGroup/InputGroup.js +11 -0
  67. package/emotion/cjs/examples/plasma_b2c/components/InputGroup/InputGroup.stories.tsx +102 -0
  68. package/emotion/cjs/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +1 -35
  69. package/emotion/cjs/examples/plasma_web/components/InputGroup/InputGroup.config.js +38 -0
  70. package/emotion/cjs/examples/plasma_web/components/InputGroup/InputGroup.js +11 -0
  71. package/emotion/cjs/examples/plasma_web/components/InputGroup/InputGroup.stories.tsx +102 -0
  72. package/emotion/cjs/index.js +11 -0
  73. package/emotion/cjs/utils/datejs.js +0 -1
  74. package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +9 -19
  75. package/emotion/es/components/DatePicker/SingleDate/SingleDate.js +5 -12
  76. package/emotion/es/components/DatePicker/hooks/useDatePicker.js +7 -9
  77. package/emotion/es/components/DatePicker/utils/dateHelper.js +13 -15
  78. package/emotion/es/components/InputGroup/InputGroup.js +74 -0
  79. package/emotion/es/components/InputGroup/InputGroup.styles.js +11 -0
  80. package/emotion/es/components/InputGroup/InputGroup.template-doc.mdx +124 -0
  81. package/emotion/es/components/InputGroup/InputGroup.tokens.js +84 -0
  82. package/emotion/es/components/InputGroup/InputGroup.types.js +1 -0
  83. package/emotion/es/components/InputGroup/index.js +2 -0
  84. package/emotion/es/components/InputGroup/variations/_gap/base.js +3 -0
  85. package/emotion/es/components/InputGroup/variations/_gap/tokens.json +1 -0
  86. package/emotion/es/components/InputGroup/variations/_orientation/base.js +3 -0
  87. package/emotion/es/components/InputGroup/variations/_orientation/tokens.json +1 -0
  88. package/emotion/es/components/InputGroup/variations/_shape/base.js +5 -0
  89. package/emotion/es/components/InputGroup/variations/_shape/tokens.json +1 -0
  90. package/emotion/es/components/InputGroup/variations/_size/base.js +4 -0
  91. package/emotion/es/components/InputGroup/variations/_size/tokens.json +58 -0
  92. package/emotion/es/components/InputGroup/variations/_stretching/base.js +3 -0
  93. package/emotion/es/components/InputGroup/variations/_stretching/tokens.json +1 -0
  94. package/emotion/es/components/TextField/TextField.js +2 -2
  95. package/emotion/es/components/TextField/TextField.tokens.js +2 -1
  96. package/emotion/es/components/TextField/index.js +1 -1
  97. package/emotion/es/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +1 -34
  98. package/emotion/es/examples/plasma_b2c/components/InputGroup/InputGroup.config.js +32 -0
  99. package/emotion/es/examples/plasma_b2c/components/InputGroup/InputGroup.js +5 -0
  100. package/emotion/es/examples/plasma_b2c/components/InputGroup/InputGroup.stories.tsx +102 -0
  101. package/emotion/es/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +1 -35
  102. package/emotion/es/examples/plasma_web/components/InputGroup/InputGroup.config.js +32 -0
  103. package/emotion/es/examples/plasma_web/components/InputGroup/InputGroup.js +5 -0
  104. package/emotion/es/examples/plasma_web/components/InputGroup/InputGroup.stories.tsx +102 -0
  105. package/emotion/es/index.js +1 -0
  106. package/emotion/es/utils/datejs.js +0 -1
  107. package/es/components/DatePicker/RangeDate/RangeDate.js +9 -19
  108. package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  109. package/es/components/DatePicker/SingleDate/SingleDate.js +5 -12
  110. package/es/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  111. package/es/components/DatePicker/hooks/useDatePicker.js +7 -9
  112. package/es/components/DatePicker/hooks/useDatePicker.js.map +1 -1
  113. package/es/components/DatePicker/utils/dateHelper.js +13 -15
  114. package/es/components/DatePicker/utils/dateHelper.js.map +1 -1
  115. package/es/components/InputGroup/InputGroup.css +11 -0
  116. package/es/components/InputGroup/InputGroup.js +76 -0
  117. package/es/components/InputGroup/InputGroup.js.map +1 -0
  118. package/es/components/InputGroup/InputGroup.styles.js +5 -0
  119. package/es/components/InputGroup/InputGroup.styles.js.map +1 -0
  120. package/es/components/InputGroup/InputGroup.styles_1ivl67d.css +1 -0
  121. package/es/components/InputGroup/InputGroup.tokens.js +87 -0
  122. package/es/components/InputGroup/InputGroup.tokens.js.map +1 -0
  123. package/es/components/InputGroup/variations/_gap/base.js +5 -0
  124. package/es/components/InputGroup/variations/_gap/base.js.map +1 -0
  125. package/es/components/InputGroup/variations/_gap/base_1k4piyx.css +1 -0
  126. package/es/components/InputGroup/variations/_orientation/base.js +5 -0
  127. package/es/components/InputGroup/variations/_orientation/base.js.map +1 -0
  128. package/es/components/InputGroup/variations/_orientation/base_mgs8eg.css +1 -0
  129. package/es/components/InputGroup/variations/_shape/base.js +5 -0
  130. package/es/components/InputGroup/variations/_shape/base.js.map +1 -0
  131. package/es/components/InputGroup/variations/_shape/base_1v4bh9v.css +1 -0
  132. package/es/components/InputGroup/variations/_size/base.js +5 -0
  133. package/es/components/InputGroup/variations/_size/base.js.map +1 -0
  134. package/es/components/InputGroup/variations/_size/base_1vk5vms.css +1 -0
  135. package/es/components/InputGroup/variations/_stretching/base.js +5 -0
  136. package/es/components/InputGroup/variations/_stretching/base.js.map +1 -0
  137. package/es/components/InputGroup/variations/_stretching/base_1cr1a83.css +1 -0
  138. package/es/components/TextField/TextField.js +1 -1
  139. package/es/components/TextField/TextField.js.map +1 -1
  140. package/es/components/TextField/TextField.tokens.js +2 -1
  141. package/es/components/TextField/TextField.tokens.js.map +1 -1
  142. package/es/index.css +12 -0
  143. package/es/index.js +3 -1
  144. package/es/index.js.map +1 -1
  145. package/es/utils/datejs.js +0 -1
  146. package/es/utils/datejs.js.map +1 -1
  147. package/package.json +2 -2
  148. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +9 -19
  149. package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.js +5 -12
  150. package/styled-components/cjs/components/DatePicker/hooks/useDatePicker.js +7 -9
  151. package/styled-components/cjs/components/DatePicker/utils/dateHelper.js +13 -15
  152. package/styled-components/cjs/components/InputGroup/InputGroup.js +83 -0
  153. package/styled-components/cjs/components/InputGroup/InputGroup.styles.js +8 -0
  154. package/styled-components/cjs/components/InputGroup/InputGroup.template-doc.mdx +124 -0
  155. package/styled-components/cjs/components/InputGroup/InputGroup.tokens.js +90 -0
  156. package/styled-components/cjs/components/InputGroup/InputGroup.types.js +5 -0
  157. package/styled-components/cjs/components/InputGroup/index.js +31 -0
  158. package/styled-components/cjs/components/InputGroup/variations/_gap/base.js +9 -0
  159. package/styled-components/cjs/components/InputGroup/variations/_gap/tokens.json +1 -0
  160. package/styled-components/cjs/components/InputGroup/variations/_orientation/base.js +9 -0
  161. package/styled-components/cjs/components/InputGroup/variations/_orientation/tokens.json +1 -0
  162. package/styled-components/cjs/components/InputGroup/variations/_shape/base.js +11 -0
  163. package/styled-components/cjs/components/InputGroup/variations/_shape/tokens.json +1 -0
  164. package/styled-components/cjs/components/InputGroup/variations/_size/base.js +10 -0
  165. package/styled-components/cjs/components/InputGroup/variations/_size/tokens.json +58 -0
  166. package/styled-components/cjs/components/InputGroup/variations/_stretching/base.js +9 -0
  167. package/styled-components/cjs/components/InputGroup/variations/_stretching/tokens.json +1 -0
  168. package/styled-components/cjs/components/TextField/TextField.js +1 -1
  169. package/styled-components/cjs/components/TextField/TextField.tokens.js +2 -1
  170. package/styled-components/cjs/components/TextField/index.js +6 -0
  171. package/styled-components/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +1 -34
  172. package/styled-components/cjs/examples/plasma_b2c/components/InputGroup/InputGroup.config.js +38 -0
  173. package/styled-components/cjs/examples/plasma_b2c/components/InputGroup/InputGroup.js +11 -0
  174. package/styled-components/cjs/examples/plasma_b2c/components/InputGroup/InputGroup.stories.tsx +102 -0
  175. package/styled-components/cjs/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +1 -35
  176. package/styled-components/cjs/examples/plasma_web/components/InputGroup/InputGroup.config.js +38 -0
  177. package/styled-components/cjs/examples/plasma_web/components/InputGroup/InputGroup.js +11 -0
  178. package/styled-components/cjs/examples/plasma_web/components/InputGroup/InputGroup.stories.tsx +102 -0
  179. package/styled-components/cjs/index.js +11 -0
  180. package/styled-components/cjs/utils/datejs.js +0 -1
  181. package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +9 -19
  182. package/styled-components/es/components/DatePicker/SingleDate/SingleDate.js +5 -12
  183. package/styled-components/es/components/DatePicker/hooks/useDatePicker.js +7 -9
  184. package/styled-components/es/components/DatePicker/utils/dateHelper.js +13 -15
  185. package/styled-components/es/components/InputGroup/InputGroup.js +74 -0
  186. package/styled-components/es/components/InputGroup/InputGroup.styles.js +2 -0
  187. package/styled-components/es/components/InputGroup/InputGroup.template-doc.mdx +124 -0
  188. package/styled-components/es/components/InputGroup/InputGroup.tokens.js +84 -0
  189. package/styled-components/es/components/InputGroup/InputGroup.types.js +1 -0
  190. package/styled-components/es/components/InputGroup/index.js +2 -0
  191. package/styled-components/es/components/InputGroup/variations/_gap/base.js +3 -0
  192. package/styled-components/es/components/InputGroup/variations/_gap/tokens.json +1 -0
  193. package/styled-components/es/components/InputGroup/variations/_orientation/base.js +3 -0
  194. package/styled-components/es/components/InputGroup/variations/_orientation/tokens.json +1 -0
  195. package/styled-components/es/components/InputGroup/variations/_shape/base.js +5 -0
  196. package/styled-components/es/components/InputGroup/variations/_shape/tokens.json +1 -0
  197. package/styled-components/es/components/InputGroup/variations/_size/base.js +4 -0
  198. package/styled-components/es/components/InputGroup/variations/_size/tokens.json +58 -0
  199. package/styled-components/es/components/InputGroup/variations/_stretching/base.js +3 -0
  200. package/styled-components/es/components/InputGroup/variations/_stretching/tokens.json +1 -0
  201. package/styled-components/es/components/TextField/TextField.js +1 -1
  202. package/styled-components/es/components/TextField/TextField.tokens.js +2 -1
  203. package/styled-components/es/components/TextField/index.js +1 -1
  204. package/styled-components/es/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +1 -34
  205. package/styled-components/es/examples/plasma_b2c/components/InputGroup/InputGroup.config.js +32 -0
  206. package/styled-components/es/examples/plasma_b2c/components/InputGroup/InputGroup.js +5 -0
  207. package/styled-components/es/examples/plasma_b2c/components/InputGroup/InputGroup.stories.tsx +102 -0
  208. package/styled-components/es/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +1 -35
  209. package/styled-components/es/examples/plasma_web/components/InputGroup/InputGroup.config.js +32 -0
  210. package/styled-components/es/examples/plasma_web/components/InputGroup/InputGroup.js +5 -0
  211. package/styled-components/es/examples/plasma_web/components/InputGroup/InputGroup.stories.tsx +102 -0
  212. package/styled-components/es/index.js +1 -0
  213. package/styled-components/es/utils/datejs.js +0 -1
  214. package/types/components/DatePicker/DatePickerBase.types.d.ts +0 -6
  215. package/types/components/DatePicker/DatePickerBase.types.d.ts.map +1 -1
  216. package/types/components/DatePicker/RangeDate/RangeDate.d.ts.map +1 -1
  217. package/types/components/DatePicker/SingleDate/SingleDate.d.ts.map +1 -1
  218. package/types/components/DatePicker/hooks/useDatePicker.d.ts +1 -1
  219. package/types/components/DatePicker/hooks/useDatePicker.d.ts.map +1 -1
  220. package/types/components/DatePicker/utils/dateHelper.d.ts +3 -6
  221. package/types/components/DatePicker/utils/dateHelper.d.ts.map +1 -1
  222. package/types/components/InputGroup/InputGroup.d.ts +35 -0
  223. package/types/components/InputGroup/InputGroup.d.ts.map +1 -0
  224. package/types/components/InputGroup/InputGroup.styles.d.ts +2 -0
  225. package/types/components/InputGroup/InputGroup.styles.d.ts.map +1 -0
  226. package/types/components/InputGroup/InputGroup.tokens.d.ts +83 -0
  227. package/types/components/InputGroup/InputGroup.tokens.d.ts.map +1 -0
  228. package/types/components/InputGroup/InputGroup.types.d.ts +62 -0
  229. package/types/components/InputGroup/InputGroup.types.d.ts.map +1 -0
  230. package/types/components/InputGroup/index.d.ts +4 -0
  231. package/types/components/InputGroup/index.d.ts.map +1 -0
  232. package/types/components/InputGroup/variations/_gap/base.d.ts +2 -0
  233. package/types/components/InputGroup/variations/_gap/base.d.ts.map +1 -0
  234. package/types/components/InputGroup/variations/_orientation/base.d.ts +2 -0
  235. package/types/components/InputGroup/variations/_orientation/base.d.ts.map +1 -0
  236. package/types/components/InputGroup/variations/_shape/base.d.ts +2 -0
  237. package/types/components/InputGroup/variations/_shape/base.d.ts.map +1 -0
  238. package/types/components/InputGroup/variations/_size/base.d.ts +2 -0
  239. package/types/components/InputGroup/variations/_size/base.d.ts.map +1 -0
  240. package/types/components/InputGroup/variations/_stretching/base.d.ts +2 -0
  241. package/types/components/InputGroup/variations/_stretching/base.d.ts.map +1 -0
  242. package/types/components/TextField/TextField.tokens.d.ts +1 -0
  243. package/types/components/TextField/TextField.tokens.d.ts.map +1 -1
  244. package/types/components/TextField/index.d.ts +1 -1
  245. package/types/components/TextField/index.d.ts.map +1 -1
  246. package/types/examples/plasma_b2c/components/InputGroup/InputGroup.config.d.ts +31 -0
  247. package/types/examples/plasma_b2c/components/InputGroup/InputGroup.config.d.ts.map +1 -0
  248. package/types/examples/plasma_b2c/components/InputGroup/InputGroup.d.ts +27 -0
  249. package/types/examples/plasma_b2c/components/InputGroup/InputGroup.d.ts.map +1 -0
  250. package/types/examples/plasma_web/components/InputGroup/InputGroup.config.d.ts +31 -0
  251. package/types/examples/plasma_web/components/InputGroup/InputGroup.config.d.ts.map +1 -0
  252. package/types/examples/plasma_web/components/InputGroup/InputGroup.d.ts +27 -0
  253. package/types/examples/plasma_web/components/InputGroup/InputGroup.d.ts.map +1 -0
  254. package/types/index.d.ts +1 -0
  255. package/types/index.d.ts.map +1 -1
  256. package/types/utils/datejs.d.ts +0 -1
  257. package/types/utils/datejs.d.ts.map +1 -1
@@ -0,0 +1,124 @@
1
+ ---
2
+ id: inputGroup
3
+ title: InputGroup
4
+ ---
5
+
6
+ import { PropsTable, Description } from '@site/src/components';
7
+
8
+ # InputGroup
9
+ <Description name="InputGroup" />
10
+ <PropsTable name="InputGroup" exclude={['css']} />
11
+
12
+ ## Использование
13
+ Компонент `InputGroup` - это обертка для Input. Принимает в себя группу input.
14
+
15
+ ```tsx live
16
+ import React from 'react';
17
+ import { InputGroup, TextField } from '@salutejs/{{ package }}';
18
+
19
+ export function App() {
20
+ return (
21
+ <InputGroup>
22
+ {Array(5)
23
+ .fill(true)
24
+ .map((_, i) => (
25
+ <TextField placeholder={`input #${i}`} />
26
+ ))}
27
+ </InputGroup>
28
+ );
29
+ }
30
+ ```
31
+
32
+ ## Примеры
33
+
34
+ ### Размер группы input
35
+ Размер InputGroup задается с помощью свойства `size`.
36
+ С помощью свойства `isCommonInputStyles` можно отключить переопределение стилей для всех input внутри группы.
37
+ Тогда каждкаждый input будет иметь настраиваемый размер.
38
+
39
+ ```tsx live
40
+ import React from 'react';
41
+ import { InputGroup, TextField } from '@salutejs/{{ package }}';
42
+
43
+ export function App() {
44
+ return (
45
+ <div>
46
+ <InputGroup size="s" view="secondary">
47
+ {Array(5)
48
+ .fill(true)
49
+ .map((_, i) => (
50
+ <TextField placeholder={`input #${i}`} />
51
+ ))}
52
+ </InputGroup>
53
+
54
+ <InputGroup isCommonButtonStyles={false}>
55
+ <TextField placeholder="Размер l" size="l" />
56
+ <TextField placeholder="Размер m" size="m" />
57
+ <TextField placeholder="Размер s" size="s" />
58
+ <TextField placeholder="Размер xs" size="xs" />
59
+ </InputGroup>
60
+ </div>
61
+ );
62
+ }
63
+ ```
64
+
65
+ ### Ориентация InputGroup и отступы между input
66
+
67
+ InputGroup может располагаться вертикально или горизонтально и иметь три вида отступов:
68
+
69
+ ```tsx live
70
+ import React from 'react';
71
+ import { InputGroup, TextField } from '@salutejs/{{ package }}';
72
+
73
+ export function App() {
74
+ return (
75
+ <div>
76
+ <InputGroup size="xs" orientation="vertical" gap="none">
77
+ {Array(5)
78
+ .fill(true)
79
+ .map((_, i) => (
80
+ <TextField placeholder={`input #${i}`} />
81
+ ))}
82
+ </InputGroup>
83
+
84
+ <InputGroup size="xs" orientation="horizontal" gap="wide">
85
+ {Array(4)
86
+ .fill(true)
87
+ .map((_, i) => (
88
+ <TextField placeholder={`input #${i}`} />
89
+ ))}
90
+ </InputGroup>
91
+ </div>
92
+ );
93
+ }
94
+ ```
95
+
96
+ ### Границы input
97
+ Границы input задаются с помощью свойства `shape`.
98
+
99
+ ```tsx live
100
+ import React from 'react';
101
+ import { InputGroup, TextField } from '@salutejs/{{ package }}';
102
+
103
+ export function App() {
104
+ return (
105
+ <div>
106
+ <InputGroup size="xs" shape="segmented">
107
+ {Array(3)
108
+ .fill(true)
109
+ .map((_, i) => (
110
+ <TextField placeholder={`input #${i}`} />
111
+ ))}
112
+ </InputGroup>
113
+
114
+ <InputGroup size="xs" shape="default">
115
+ {Array(3)
116
+ .fill(true)
117
+ .map((_, i) => (
118
+ <TextField placeholder={`input #${i}`} />
119
+ ))}
120
+ </InputGroup>
121
+ </div>
122
+ );
123
+ }
124
+ ```
@@ -0,0 +1,84 @@
1
+ export var classes = {
2
+ autoStretching: 'input-group-stretching-auto',
3
+ filledStretching: 'input-group-stretching-filled',
4
+ inputGroupOverrideStyles: 'input-group-override-styles',
5
+ inputGroupItem: 'input-group-item',
6
+ horizontal: 'input-group-orientation-horizontal',
7
+ vertical: 'input-group-orientation-vertical',
8
+ none: 'input-group-gap-none',
9
+ dense: 'input-group-gap-dense',
10
+ wide: 'input-group-gap-wide',
11
+ segmented: 'input-group-shape-segmented',
12
+ "default": 'input-group-shape-default'
13
+ };
14
+ export var tokens = {
15
+ inputGroupOrientation: '--plasma-input-group-orientation',
16
+ inputGroupWebMarginLeft: '--plasma-input-group-web-margin-left',
17
+ inputGroupWebClipPath: '--plasma-input-group-web-clip-path',
18
+ inputSegmentedRadius: '--plasma-input-group-item-segmented-radius',
19
+ inputDefaultRadius: '--plasma-input-group-item-default-radius',
20
+ inputSideRadius: '--plasma-input-group-side-item-radius',
21
+ inputGroupItemsGap: '--plasma-input-group-items-gap',
22
+ height: '--plasma-input-group-item-height',
23
+ borderWidth: '--plasma-input-group-item-border-width',
24
+ /** Отступ от границы ТextField */
25
+ padding: '--plasma-input-group-item-padding',
26
+ paddingWithChips: '--plasma-input-group-item-padding-with-chips',
27
+ /* Токены для инпута */
28
+ leftContentMargin: '--plasma-input-group-item__left-content-margin',
29
+ rightContentMargin: '--plasma-input-group-item__right-content-margin',
30
+ fontFamily: '--plasma-input-group-item-font-family',
31
+ fontStyle: '--plasma-input-group-item-font-style',
32
+ fontSize: '--plasma-input-group-item-font-size',
33
+ fontWeight: '--plasma-input-group-item-font-weight',
34
+ letterSpacing: '--plasma-input-group-item-letter-spacing',
35
+ lineHeight: '--plasma-input-group-item-line-height',
36
+ /** Токены лейбла */
37
+ labelOffset: '--plasma-input-group-item__label-offset',
38
+ labelFontFamily: '--plasma-input-group-item__label-font-family',
39
+ labelFontStyle: '--plasma-input-group-item__label-font-style',
40
+ labelFontSize: '--plasma-input-group-item__label-font-size',
41
+ labelFontWeight: '--plasma-input-group-item__label-font-weight',
42
+ labelLetterSpacing: '--plasma-input-group-item__label-letter-spacing',
43
+ labelLineHeight: '--plasma-input-group-item__label-line-height',
44
+ /* label-placement-inner */
45
+ labelInnerFontFamily: '--plasma-input-group-item-placement_inner__label-font-family',
46
+ labelInnerFontStyle: '--plasma-input-group-item-placement_inner__label-font-style',
47
+ labelInnerFontSize: '--plasma-input-group-item-placement_inner__label-font-size',
48
+ labelInnerFontWeight: '--plasma-input-group-item-placement_inner__label-font-weight',
49
+ labelInnerLetterSpacing: '--plasma-input-group-item-placement_inner__label-letter-spacing',
50
+ labelInnerLineHeight: '--plasma-input-group-item-placement_inner__label-line-height',
51
+ labelInnerPadding: '--plasma-input-group-item-placement_inner__label-padding',
52
+ contentLabelInnerPadding: '--plasma-input-group-item-placement_inner__content-padding',
53
+ leftHelperOffset: '--plasma-input-group-item__left-helper-offset',
54
+ leftHelperFontFamily: '--plasma-input-group-item__left-helper-font-family',
55
+ leftHelperFontStyle: '--plasma-input-group-item__left-helper-font-style',
56
+ leftHelperFontSize: '--plasma-input-group-item__left-helper-font-size',
57
+ leftHelperFontWeight: '--plasma-input-group-item__left-helper-font-weight',
58
+ leftHelperLetterSpacing: '--plasma-input-group-item__left-helper-letter-spacing',
59
+ leftHelperLineHeight: '--plasma-input-group-item__left-helper-line-height',
60
+ /** Токены вспомогательного текста */
61
+ textBeforeMargin: '--plasma-input-group-item__before-text-margin',
62
+ textAfterMargin: '--plasma-input-group-item__after-text-margin',
63
+ /** Токены чипа */
64
+ chipHeight: '--plasma-input-group-item__chip-height',
65
+ chipBorderRadius: '--plasma-input-group-item__chip-border-radius',
66
+ chipGap: '--plasma-input-group-item__chip-gap',
67
+ chipScaleHover: '--plasma-input-group-item__chip-scale-hover',
68
+ chipScaleActive: '--plasma-input-group-item__chip-scale-active',
69
+ chipOutlineSize: '--plasma-input-group-item__chip-outline-size',
70
+ chipWidth: '--plasma-input-group-item__chip-width',
71
+ chipPaddingTop: '--plasma-input-group-item__chip-padding-top',
72
+ chipPaddingRight: '--plasma-input-group-item__chip-padding-right',
73
+ chipPaddingBottom: '--plasma-input-group-item__chip-padding-bottom',
74
+ chipPaddingLeft: '--plasma-input-group-item__chip-padding-left',
75
+ chipCloseIconSize: '--plasma-input-group-item__chip-close-icon-size',
76
+ chipFontFamily: '--plasma-input-group-item__chip-font-family',
77
+ chipFontSize: '--plasma-input-group-item__chip-font-size',
78
+ chipFontStyle: '--plasma-input-group-item__chip-font-style',
79
+ chipFontWeight: '--plasma-input-group-item__chip-font-weight',
80
+ chipLetterSpacing: '--plasma-input-group-item__chip-letter-spacing',
81
+ chipLineHeight: '--plasma-input-group-item__chip-line-height',
82
+ chipClearContentMarginLeft: '--plasma-input-group-item__chip-clear-content-margin-left',
83
+ chipClearContentMarginRight: '--plasma-input-group-item__chip-clear-content-margin-right'
84
+ };
@@ -0,0 +1,2 @@
1
+ export { inputGroupRoot, inputGroupConfig } from './InputGroup';
2
+ export { tokens as inputGroupTokens, classes as inputGroupClasses } from './InputGroup.tokens';
@@ -0,0 +1,3 @@
1
+ import { css } from 'styled-components';
2
+ import { tokens } from '../../InputGroup.tokens';
3
+ export var base = /*#__PURE__*/css(["gap:var(", ");"], tokens.inputGroupItemsGap);
@@ -0,0 +1 @@
1
+ ["--plasma-input-group-items-gap"]
@@ -0,0 +1,3 @@
1
+ import { css } from 'styled-components';
2
+ import { classes, tokens } from '../../InputGroup.tokens';
3
+ export var base = /*#__PURE__*/css(["flex-direction:var(", ");&.", " .", "{width:auto;}"], tokens.inputGroupOrientation, classes.vertical, classes.inputGroupItem);
@@ -0,0 +1 @@
1
+ ["--plasma-input-group-orientation"]
@@ -0,0 +1,5 @@
1
+ import { css } from 'styled-components';
2
+ import { classes, tokens } from '../../InputGroup.tokens';
3
+ import { textFieldTokens, textFieldClasses } from '../../../TextField';
4
+ import { InputWrapper } from '../../../TextField/TextField.styles';
5
+ export var base = /*#__PURE__*/css(["&.", "{--plasma_private-input-radius-inner:var(", ");}&.", "{--plasma_private-input-radius-inner:var(", ");&.", "{--plasma_private-input-radius-inner:0;}}& .", " ", "{", ":var(--plasma_private-input-radius-inner);}&.", " .", "{&:not(:first-child){margin-left:var(", ");}&:not(:last-child){", "{clip-path:var(", ");&:hover,&:focus-within{clip-path:inset(0 0 0 0);}}}}&.", ",&.", "{.", ":first-child:last-child ", "{border-radius:var(", ");}}&.", "{.", ":first-child ", "{--plasma_private-left-side-radius:var(", ") var(--plasma_private-input-radius-inner) var(--plasma_private-input-radius-inner) var(", ");border-radius:var(--plasma_private-left-side-radius);}.", ":last-child ", "{--plasma_private-right-side-radius:var(--plasma_private-input-radius-inner) var(", ") var(", ") var(--plasma_private-input-radius-inner);border-radius:var(--plasma_private-right-side-radius);}}&.", "{.", ":first-child ", "{--plasma_private-up-side-radius:var(", ") var(", ") var(--plasma_private-input-radius-inner) var(--plasma_private-input-radius-inner);border-radius:var(--plasma_private-up-side-radius);}.", ":last-child ", "{--plasma_private-down-side-radius:var(--plasma_private-input-radius-inner) var(--plasma_private-input-radius-inner) var(", ") var(", ");border-radius:var(--plasma_private-down-side-radius);}}"], classes["default"], tokens.inputDefaultRadius, classes.segmented, tokens.inputSegmentedRadius, classes.none, textFieldClasses.inputGroupItem, InputWrapper, textFieldTokens.borderRadius, classes.none, textFieldClasses.inputGroupItem, tokens.inputGroupWebMarginLeft, InputWrapper, tokens.inputGroupWebClipPath, classes.horizontal, classes.vertical, textFieldClasses.inputGroupItem, InputWrapper, tokens.inputSideRadius, classes.horizontal, textFieldClasses.inputGroupItem, InputWrapper, tokens.inputSideRadius, tokens.inputSideRadius, textFieldClasses.inputGroupItem, InputWrapper, tokens.inputSideRadius, tokens.inputSideRadius, classes.vertical, textFieldClasses.inputGroupItem, InputWrapper, tokens.inputSideRadius, tokens.inputSideRadius, textFieldClasses.inputGroupItem, InputWrapper, tokens.inputSideRadius, tokens.inputSideRadius);
@@ -0,0 +1 @@
1
+ ["--plasma-input-group-item-segmented-radius", "--plasma-input-group-item-default-radius"]
@@ -0,0 +1,4 @@
1
+ import { css } from 'styled-components';
2
+ import { classes, tokens } from '../../InputGroup.tokens';
3
+ import { textFieldTokens } from '../../../TextField';
4
+ export var base = /*#__PURE__*/css(["&.", " .", "{", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");}"], classes.inputGroupOverrideStyles, classes.inputGroupItem, textFieldTokens.height, tokens.height, textFieldTokens.padding, tokens.padding, textFieldTokens.paddingWithChips, tokens.paddingWithChips, textFieldTokens.leftContentMargin, tokens.leftContentMargin, textFieldTokens.rightContentMargin, tokens.rightContentMargin, textFieldTokens.textBeforeMargin, tokens.textBeforeMargin, textFieldTokens.textAfterMargin, tokens.textAfterMargin, textFieldTokens.fontFamily, tokens.fontFamily, textFieldTokens.fontSize, tokens.fontSize, textFieldTokens.fontStyle, tokens.fontStyle, textFieldTokens.fontWeight, tokens.fontWeight, textFieldTokens.letterSpacing, tokens.letterSpacing, textFieldTokens.lineHeight, tokens.lineHeight, textFieldTokens.labelOffset, tokens.labelOffset, textFieldTokens.labelFontFamily, tokens.labelFontFamily, textFieldTokens.labelFontSize, tokens.labelFontSize, textFieldTokens.labelFontStyle, tokens.labelFontStyle, textFieldTokens.labelFontWeight, tokens.labelFontWeight, textFieldTokens.labelLetterSpacing, tokens.labelLetterSpacing, textFieldTokens.labelLineHeight, tokens.labelLineHeight, textFieldTokens.leftHelperOffset, tokens.leftHelperOffset, textFieldTokens.leftHelperFontFamily, tokens.leftHelperFontFamily, textFieldTokens.leftHelperFontSize, tokens.leftHelperFontSize, textFieldTokens.leftHelperFontStyle, tokens.leftHelperFontStyle, textFieldTokens.leftHelperFontWeight, tokens.leftHelperFontWeight, textFieldTokens.leftHelperLetterSpacing, tokens.leftHelperLetterSpacing, textFieldTokens.leftHelperLineHeight, tokens.leftHelperLineHeight, textFieldTokens.labelInnerPadding, tokens.labelInnerPadding, textFieldTokens.contentLabelInnerPadding, tokens.contentLabelInnerPadding, textFieldTokens.chipGap, tokens.chipGap, textFieldTokens.chipBorderRadius, tokens.chipBorderRadius, textFieldTokens.chipWidth, tokens.chipWidth, textFieldTokens.chipHeight, tokens.chipHeight, textFieldTokens.chipPaddingRight, tokens.chipPaddingRight, textFieldTokens.chipPaddingLeft, tokens.chipPaddingLeft, textFieldTokens.chipClearContentMarginLeft, tokens.chipClearContentMarginLeft, textFieldTokens.chipClearContentMarginRight, tokens.chipClearContentMarginRight, textFieldTokens.chipCloseIconSize, tokens.chipCloseIconSize, textFieldTokens.chipFontFamily, tokens.chipFontFamily, textFieldTokens.chipFontSize, tokens.chipFontSize, textFieldTokens.chipFontStyle, tokens.chipFontStyle, textFieldTokens.chipFontWeight, tokens.chipFontWeight, textFieldTokens.chipLetterSpacing, tokens.chipLetterSpacing, textFieldTokens.chipLineHeight, tokens.chipLineHeight);
@@ -0,0 +1,58 @@
1
+ [
2
+ "--plasma-input-group-item-height",
3
+ "--plasma-input-group-item-border-width",
4
+ "--plasma-input-group-item-padding",
5
+ "--plasma-input-group-item-padding-with-chips",
6
+ "--plasma-input-group-item__left-content-margin",
7
+ "--plasma-input-group-item__right-content-margin",
8
+ "--plasma-input-group-item-font-family",
9
+ "--plasma-input-group-item-font-style",
10
+ "--plasma-input-group-item-font-size",
11
+ "--plasma-input-group-item-font-weight",
12
+ "--plasma-input-group-item-letter-spacing",
13
+ "--plasma-input-group-item-line-height",
14
+ "--plasma-input-group-item__label-offset",
15
+ "--plasma-input-group-item__label-font-family",
16
+ "--plasma-input-group-item__label-font-style",
17
+ "--plasma-input-group-item__label-font-size",
18
+ "--plasma-input-group-item__label-font-weight",
19
+ "--plasma-input-group-item__label-letter-spacing",
20
+ "--plasma-input-group-item__label-line-height",
21
+ "--plasma-input-group-item-placement_inner__label-font-family",
22
+ "--plasma-input-group-item-placement_inner__label-font-style",
23
+ "--plasma-input-group-item-placement_inner__label-font-size",
24
+ "--plasma-input-group-item-placement_inner__label-font-weight",
25
+ "--plasma-input-group-item-placement_inner__label-letter-spacing",
26
+ "--plasma-input-group-item-placement_inner__label-line-height",
27
+ "--plasma-input-group-item-placement_inner__label-padding",
28
+ "--plasma-input-group-item-placement_inner__content-padding",
29
+ "--plasma-input-group-item__left-helper-offset",
30
+ "--plasma-input-group-item__left-helper-font-family",
31
+ "--plasma-input-group-item__left-helper-font-style",
32
+ "--plasma-input-group-item__left-helper-font-size",
33
+ "--plasma-input-group-item__left-helper-font-weight",
34
+ "--plasma-input-group-item__left-helper-letter-spacing",
35
+ "--plasma-input-group-item__left-helper-line-height",
36
+ "--plasma-input-group-item__before-text-margin",
37
+ "--plasma-input-group-item__after-text-margin",
38
+ "--plasma-input-group-item__chip-height",
39
+ "--plasma-input-group-item__chip-border-radius",
40
+ "--plasma-input-group-item__chip-gap",
41
+ "--plasma-input-group-item__chip-scale-hover",
42
+ "--plasma-input-group-item__chip-scale-active",
43
+ "--plasma-input-group-item__chip-outline-size",
44
+ "--plasma-input-group-item__chip-width",
45
+ "--plasma-input-group-item__chip-padding-top",
46
+ "--plasma-input-group-item__chip-padding-right",
47
+ "--plasma-input-group-item__chip-padding-bottom",
48
+ "--plasma-input-group-item__chip-padding-left",
49
+ "--plasma-input-group-item__chip-close-icon-size",
50
+ "--plasma-input-group-item__chip-font-family",
51
+ "--plasma-input-group-item__chip-font-size",
52
+ "--plasma-input-group-item__chip-font-style",
53
+ "--plasma-input-group-item__chip-font-weight",
54
+ "--plasma-input-group-item__chip-letter-spacing",
55
+ "--plasma-input-group-item__chip-line-height",
56
+ "--plasma-input-group-item__chip-clear-content-margin-left",
57
+ "--plasma-input-group-item__chip-clear-content-margin-right"
58
+ ]
@@ -0,0 +1,3 @@
1
+ import { css } from 'styled-components';
2
+ import { classes } from '../../InputGroup.tokens';
3
+ export var base = /*#__PURE__*/css(["&.", "{width:100%;.", "{width:100%;}}"], classes.filledStretching, classes.inputGroupItem);
@@ -150,7 +150,7 @@ export var textFieldRoot = function textFieldRoot(Root) {
150
150
  readOnly: !disabled && readOnly,
151
151
  labelPlacement: innerLabelPlacementValue,
152
152
  onClick: handleInputFocus,
153
- className: cx(labelPlacementClass, hideLabelClass, className),
153
+ className: cx(labelPlacementClass, hideLabelClass, classes.inputGroupItem, className),
154
154
  style: style
155
155
  }, labelInside || innerLabelValue && /*#__PURE__*/React.createElement(Label, {
156
156
  id: labelId,
@@ -4,7 +4,8 @@ export var classes = {
4
4
  hasEmptyContentRight: 'has-empty-content-right',
5
5
  innerLabelPlacement: 'label-placement-inner',
6
6
  outerLabelPlacement: 'label-placement-outer',
7
- hideLabel: 'hide-label'
7
+ hideLabel: 'hide-label',
8
+ inputGroupItem: 'input-group-item'
8
9
  };
9
10
  export var tokens = {
10
11
  color: '--plasma-textfield-color',
@@ -1,2 +1,2 @@
1
1
  export { textFieldRoot, textFieldConfig } from './TextField';
2
- export { tokens as textFieldTokens } from './TextField.tokens';
2
+ export { tokens as textFieldTokens, classes as textFieldClasses } from './TextField.tokens';
@@ -1,4 +1,4 @@
1
- import React, { ComponentProps, useEffect, useReducer, useRef, useState } from 'react';
1
+ import React, { ComponentProps, useEffect, useRef, useState } from 'react';
2
2
  import type { StoryObj, Meta } from '@storybook/react';
3
3
  import { action } from '@storybook/addon-actions';
4
4
  import { IconPlaceholder } from '@salutejs/plasma-sb-utils';
@@ -47,12 +47,6 @@ const meta: Meta = {
47
47
  type: 'date',
48
48
  },
49
49
  },
50
- lang: {
51
- options: ['ru', 'en'],
52
- control: {
53
- type: 'inline-radio',
54
- },
55
- },
56
50
  },
57
51
  };
58
52
 
@@ -69,8 +63,6 @@ const StoryDefault = ({
69
63
  valueError,
70
64
  valueSuccess,
71
65
  size,
72
- lang,
73
- format,
74
66
  ...rest
75
67
  }: StoryPropsDefault) => {
76
68
  const [isOpen, setIsOpen] = useState(false);
@@ -91,8 +83,6 @@ const StoryDefault = ({
91
83
  onChangeValue={(e, currentValue) => {
92
84
  onChangeValue(e, currentValue);
93
85
  }}
94
- lang={lang}
95
- format={format}
96
86
  onCommitDate={() => setIsOpen(false)}
97
87
  {...rest}
98
88
  />
@@ -112,12 +102,6 @@ export const Default: StoryObj<StoryPropsDefault> = {
112
102
  type: 'inline-radio',
113
103
  },
114
104
  },
115
- format: {
116
- options: ['DD.MM.YYYY', 'DD MMMM YYYY'],
117
- control: {
118
- type: 'select',
119
- },
120
- },
121
105
  },
122
106
  args: {
123
107
  label: 'Лейбл',
@@ -137,8 +121,6 @@ export const Default: StoryObj<StoryPropsDefault> = {
137
121
  enableContentRight: true,
138
122
  valueError: false,
139
123
  valueSuccess: false,
140
- lang: 'ru',
141
- format: 'DD.MM.YYYY',
142
124
  },
143
125
  render: (args) => <StoryDefault {...args} />,
144
126
  };
@@ -248,12 +230,6 @@ export const Range: StoryObj<StoryPropsRange> = {
248
230
  type: 'inline-radio',
249
231
  },
250
232
  },
251
- format: {
252
- options: ['DD.MM.YYYY', 'DD MMMM YYYY'],
253
- control: {
254
- type: 'select',
255
- },
256
- },
257
233
  },
258
234
  args: {
259
235
  label: 'Лейбл',
@@ -280,9 +256,6 @@ export const Range: StoryObj<StoryPropsRange> = {
280
256
  enableSecondTextfieldContentLeft: false,
281
257
  enableSecondTextfieldContentRight: false,
282
258
 
283
- lang: 'ru',
284
- format: 'DD.MM.YYYY',
285
-
286
259
  firstValueError: false,
287
260
  firstValueSuccess: false,
288
261
  secondValueError: false,
@@ -348,12 +321,6 @@ export const Deferred: StoryObj<StoryPropsDefault> = {
348
321
  type: 'inline-radio',
349
322
  },
350
323
  },
351
- format: {
352
- options: ['DD.MM.YYYY', 'DD MMMM YYYY'],
353
- control: {
354
- type: 'select',
355
- },
356
- },
357
324
  },
358
325
  args: {
359
326
  label: 'Лейбл',
@@ -0,0 +1,32 @@
1
+ import { css } from 'styled-components';
2
+ import { inputGroupTokens as tokens } from '../../../../components/InputGroup';
3
+ export var config = {
4
+ defaults: {
5
+ size: 'm'
6
+ },
7
+ variations: {
8
+ size: {
9
+ l: /*#__PURE__*/css(["", ":0.875rem;", ":0.375rem;", ":0.875rem;", ":3.5rem;", ":1.0625rem 1.125rem 1.0625rem 1.125rem;", ":0.375rem;", ":-0.0625rem 0.5rem -0.0625rem -0.125rem;", ":-0.0625rem -0.125rem -0.0625rem 0.75rem;", ":0 0.25rem 0 0;", ":0 0 0 0.25rem;", ":var(--plasma-typo-body-l-font-family);", ":var(--plasma-typo-body-l-font-size);", ":var(--plasma-typo-body-l-font-style);", ":var(--plasma-typo-body-l-font-weight);", ":var(--plasma-typo-body-l-letter-spacing);", ":var(--plasma-typo-body-l-line-height);", ":0.75rem;", ":var(--plasma-typo-body-l-font-family);", ":var(--plasma-typo-body-l-font-size);", ":var(--plasma-typo-body-l-font-style);", ":var(--plasma-typo-body-l-font-weight);", ":var(--plasma-typo-body-l-letter-spacing);", ":var(--plasma-typo-body-l-line-height);", ":0.25rem;", ":var(--plasma-typo-body-xs-font-family);", ":var(--plasma-typo-body-xs-font-size);", ":var(--plasma-typo-body-xs-font-style);", ":var(--plasma-typo-body-xs-font-weight);", ":var(--plasma-typo-body-xs-letter-spacing);", ":var(--plasma-typo-body-xs-line-height);", ":0.5625rem 0 0.125rem 0;", ":1.5625rem 0 0.5625rem 0;", ":0.25rem;", ":0.5rem;", ":auto;", ":2.75rem;", ":0.75rem;", ":1rem;", ":0.625rem;", ":0rem;", ":1.5rem;", ":var(--plasma-typo-body-l-font-family);", ":var(--plasma-typo-body-l-font-size);", ":var(--plasma-typo-body-l-font-style);", ":var(--plasma-typo-body-l-font-weight);", ":var(--plasma-typo-body-l-letter-spacing);", ":var(--plasma-typo-body-l-line-height);"], tokens.inputDefaultRadius, tokens.inputSegmentedRadius, tokens.inputSideRadius, tokens.height, tokens.padding, tokens.paddingWithChips, tokens.leftContentMargin, tokens.rightContentMargin, tokens.textBeforeMargin, tokens.textAfterMargin, tokens.fontFamily, tokens.fontSize, tokens.fontStyle, tokens.fontWeight, tokens.letterSpacing, tokens.lineHeight, tokens.labelOffset, tokens.labelFontFamily, tokens.labelFontSize, tokens.labelFontStyle, tokens.labelFontWeight, tokens.labelLetterSpacing, tokens.labelLineHeight, tokens.leftHelperOffset, tokens.leftHelperFontFamily, tokens.leftHelperFontSize, tokens.leftHelperFontStyle, tokens.leftHelperFontWeight, tokens.leftHelperLetterSpacing, tokens.leftHelperLineHeight, tokens.labelInnerPadding, tokens.contentLabelInnerPadding, tokens.chipGap, tokens.chipBorderRadius, tokens.chipWidth, tokens.chipHeight, tokens.chipPaddingRight, tokens.chipPaddingLeft, tokens.chipClearContentMarginLeft, tokens.chipClearContentMarginRight, tokens.chipCloseIconSize, tokens.chipFontFamily, tokens.chipFontSize, tokens.chipFontStyle, tokens.chipFontWeight, tokens.chipLetterSpacing, tokens.chipLineHeight),
10
+ m: /*#__PURE__*/css(["", ":0.75rem;", ":0.25rem;", ":0.75rem;", ":3rem;", ":0.875rem 1rem 0.875rem 1rem;", ":0.375rem;", ":-0.125rem 0.375rem -0.125rem -0.125rem;", ":-0.125rem -0.125rem -0.125rem 0.75rem;", ":0 0.25rem 0 0;", ":0 0 0 0.25rem;", ":var(--plasma-typo-body-m-font-family);", ":var(--plasma-typo-body-m-font-size);", ":var(--plasma-typo-body-m-font-style);", ":var(--plasma-typo-body-m-font-weight);", ":var(--plasma-typo-body-m-letter-spacing);", ":var(--plasma-typo-body-m-line-height);", ":0.625rem;", ":var(--plasma-typo-body-m-font-family);", ":var(--plasma-typo-body-m-font-size);", ":var(--plasma-typo-body-m-font-style);", ":var(--plasma-typo-body-m-font-weight);", ":var(--plasma-typo-body-m-letter-spacing);", ":var(--plasma-typo-body-m-line-height);", ":0.25rem;", ":var(--plasma-typo-body-xs-font-family);", ":var(--plasma-typo-body-xs-font-size);", ":var(--plasma-typo-body-xs-font-style);", ":var(--plasma-typo-body-xs-font-weight);", ":var(--plasma-typo-body-xs-letter-spacing);", ":var(--plasma-typo-body-xs-line-height);", ":0.375rem 0 0.125rem 0;", ":1.375rem 0 0.375rem 0;", ":0.25rem;", ":0.375rem;", ":auto;", ":2.25rem;", ":0.625rem;", ":0.875rem;", ":0.5rem;", ":0rem;", ":1.25rem;", ":var(--plasma-typo-body-m-font-family);", ":var(--plasma-typo-body-m-font-size);", ":var(--plasma-typo-body-m-font-style);", ":var(--plasma-typo-body-m-font-weight);", ":var(--plasma-typo-body-m-letter-spacing);", ":var(--plasma-typo-body-m-line-height);"], tokens.inputDefaultRadius, tokens.inputSegmentedRadius, tokens.inputSideRadius, tokens.height, tokens.padding, tokens.paddingWithChips, tokens.leftContentMargin, tokens.rightContentMargin, tokens.textBeforeMargin, tokens.textAfterMargin, tokens.fontFamily, tokens.fontSize, tokens.fontStyle, tokens.fontWeight, tokens.letterSpacing, tokens.lineHeight, tokens.labelOffset, tokens.labelFontFamily, tokens.labelFontSize, tokens.labelFontStyle, tokens.labelFontWeight, tokens.labelLetterSpacing, tokens.labelLineHeight, tokens.leftHelperOffset, tokens.leftHelperFontFamily, tokens.leftHelperFontSize, tokens.leftHelperFontStyle, tokens.leftHelperFontWeight, tokens.leftHelperLetterSpacing, tokens.leftHelperLineHeight, tokens.labelInnerPadding, tokens.contentLabelInnerPadding, tokens.chipGap, tokens.chipBorderRadius, tokens.chipWidth, tokens.chipHeight, tokens.chipPaddingRight, tokens.chipPaddingLeft, tokens.chipClearContentMarginLeft, tokens.chipClearContentMarginRight, tokens.chipCloseIconSize, tokens.chipFontFamily, tokens.chipFontSize, tokens.chipFontStyle, tokens.chipFontWeight, tokens.chipLetterSpacing, tokens.chipLineHeight),
11
+ s: /*#__PURE__*/css(["", ":0.25rem;", ":0.625rem;", ":0.625rem;", ":2.5rem;", ":0.6875rem 0.875rem 0.6875rem 0.875rem;", ":0.375rem;", ":-0.1875rem 0.25rem -0.1875rem -0.125rem;", ":-0.1875rem -0.125rem -0.1875rem 0.75rem;", ":0 0.25rem 0 0;", ":0 0 0 0.25rem;", ":var(--plasma-typo-body-s-font-family);", ":var(--plasma-typo-body-s-font-size);", ":var(--plasma-typo-body-s-font-style);", ":var(--plasma-typo-body-s-font-weight);", ":var(--plasma-typo-body-s-letter-spacing);", ":var(--plasma-typo-body-s-line-height);", ":0.5rem;", ":var(--plasma-typo-body-s-font-family);", ":var(--plasma-typo-body-s-font-size);", ":var(--plasma-typo-body-s-font-style);", ":var(--plasma-typo-body-s-font-weight);", ":var(--plasma-typo-body-s-letter-spacing);", ":var(--plasma-typo-body-s-line-height);", ":0.25rem;", ":var(--plasma-typo-body-xs-font-family);", ":var(--plasma-typo-body-xs-font-size);", ":var(--plasma-typo-body-xs-font-style);", ":var(--plasma-typo-body-xs-font-weight);", ":var(--plasma-typo-body-xs-letter-spacing);", ":var(--plasma-typo-body-xs-line-height);", ":0.3125rem 0 0 0;", ":1.0625rem 0 0.3125rem 0;", ":0.25rem;", ":0.25rem;", ":auto;", ":1.75rem;", ":0.5rem;", ":0.75rem;", ":0.375rem;", ":0rem;", ":1rem;", ":var(--plasma-typo-body-s-font-family);", ":var(--plasma-typo-body-s-font-size);", ":var(--plasma-typo-body-s-font-style);", ":var(--plasma-typo-body-s-font-weight);", ":var(--plasma-typo-body-s-letter-spacing);", ":var(--plasma-typo-body-s-line-height);"], tokens.inputSegmentedRadius, tokens.inputSideRadius, tokens.inputDefaultRadius, tokens.height, tokens.padding, tokens.paddingWithChips, tokens.leftContentMargin, tokens.rightContentMargin, tokens.textBeforeMargin, tokens.textAfterMargin, tokens.fontFamily, tokens.fontSize, tokens.fontStyle, tokens.fontWeight, tokens.letterSpacing, tokens.lineHeight, tokens.labelOffset, tokens.labelFontFamily, tokens.labelFontSize, tokens.labelFontStyle, tokens.labelFontWeight, tokens.labelLetterSpacing, tokens.labelLineHeight, tokens.leftHelperOffset, tokens.leftHelperFontFamily, tokens.leftHelperFontSize, tokens.leftHelperFontStyle, tokens.leftHelperFontWeight, tokens.leftHelperLetterSpacing, tokens.leftHelperLineHeight, tokens.labelInnerPadding, tokens.contentLabelInnerPadding, tokens.chipGap, tokens.chipBorderRadius, tokens.chipWidth, tokens.chipHeight, tokens.chipPaddingRight, tokens.chipPaddingLeft, tokens.chipClearContentMarginLeft, tokens.chipClearContentMarginRight, tokens.chipCloseIconSize, tokens.chipFontFamily, tokens.chipFontSize, tokens.chipFontStyle, tokens.chipFontWeight, tokens.chipLetterSpacing, tokens.chipLineHeight),
12
+ xs: /*#__PURE__*/css(["", ":0.125rem;", ":0.5rem;", ":0.5rem;", ":2rem;", ":0.5625rem 0.625rem 0.5625rem 0.625rem;", ":0.375rem;", ":-0.0625rem 0.25rem -0.0625rem -0.125rem;", ":-0.0625rem -0.125rem -0.0625rem 0.75rem;", ":0 0.25rem 0 0;", ":0 0 0 0.25rem;", ":var(--plasma-typo-body-xs-font-family);", ":var(--plasma-typo-body-xs-font-size);", ":var(--plasma-typo-body-xs-font-style);", ":var(--plasma-typo-body-xs-font-weight);", ":var(--plasma-typo-body-xs-letter-spacing);", ":var(--plasma-typo-body-xs-line-height);", ":0.375rem;", ":var(--plasma-typo-body-xs-font-family);", ":var(--plasma-typo-body-xs-font-size);", ":var(--plasma-typo-body-xs-font-style);", ":var(--plasma-typo-body-xs-font-weight);", ":var(--plasma-typo-body-xs-letter-spacing);", ":var(--plasma-typo-body-xs-line-height);", ":0.25rem;", ":var(--plasma-typo-body-xs-font-family);", ":var(--plasma-typo-body-xs-font-size);", ":var(--plasma-typo-body-xs-font-style);", ":var(--plasma-typo-body-xs-font-weight);", ":var(--plasma-typo-body-xs-letter-spacing);", ":var(--plasma-typo-body-xs-line-height);", ":0.3125rem 0 0 0;", ":1.0625rem 0 0.3125rem 0;", ":0.25rem;", ":0.125rem;", ":auto;", ":1.25rem;", ":0.375rem;", ":0.625rem;", ":0.25rem;", ":0rem;", ":0.75rem;", ":var(--plasma-typo-body-xs-font-family);", ":var(--plasma-typo-body-xs-font-size);", ":var(--plasma-typo-body-xs-font-style);", ":var(--plasma-typo-body-xs-font-weight);", ":var(--plasma-typo-body-xs-letter-spacing);", ":var(--plasma-typo-body-xs-line-height);"], tokens.inputSegmentedRadius, tokens.inputDefaultRadius, tokens.inputSideRadius, tokens.height, tokens.padding, tokens.paddingWithChips, tokens.leftContentMargin, tokens.rightContentMargin, tokens.textBeforeMargin, tokens.textAfterMargin, tokens.fontFamily, tokens.fontSize, tokens.fontStyle, tokens.fontWeight, tokens.letterSpacing, tokens.lineHeight, tokens.labelOffset, tokens.labelFontFamily, tokens.labelFontSize, tokens.labelFontStyle, tokens.labelFontWeight, tokens.labelLetterSpacing, tokens.labelLineHeight, tokens.leftHelperOffset, tokens.leftHelperFontFamily, tokens.leftHelperFontSize, tokens.leftHelperFontStyle, tokens.leftHelperFontWeight, tokens.leftHelperLetterSpacing, tokens.leftHelperLineHeight, tokens.labelInnerPadding, tokens.contentLabelInnerPadding, tokens.chipGap, tokens.chipBorderRadius, tokens.chipWidth, tokens.chipHeight, tokens.chipPaddingRight, tokens.chipPaddingLeft, tokens.chipClearContentMarginLeft, tokens.chipClearContentMarginRight, tokens.chipCloseIconSize, tokens.chipFontFamily, tokens.chipFontSize, tokens.chipFontStyle, tokens.chipFontWeight, tokens.chipLetterSpacing, tokens.chipLineHeight)
13
+ },
14
+ orientation: {
15
+ horizontal: /*#__PURE__*/css(["", ":row;"], tokens.inputGroupOrientation),
16
+ vertical: /*#__PURE__*/css(["", ":column;"], tokens.inputGroupOrientation)
17
+ },
18
+ gap: {
19
+ none: /*#__PURE__*/css(["", ":0.063rem;"], tokens.inputGroupItemsGap),
20
+ dense: /*#__PURE__*/css(["", ":0.125rem;"], tokens.inputGroupItemsGap),
21
+ wide: /*#__PURE__*/css(["", ":0.5rem;"], tokens.inputGroupItemsGap)
22
+ },
23
+ shape: {
24
+ segmented: /*#__PURE__*/css([""]),
25
+ "default": /*#__PURE__*/css([""])
26
+ },
27
+ stretching: {
28
+ auto: /*#__PURE__*/css([""]),
29
+ filled: /*#__PURE__*/css([""])
30
+ }
31
+ }
32
+ };
@@ -0,0 +1,5 @@
1
+ import { inputGroupConfig } from '../../../../components/InputGroup';
2
+ import { component, mergeConfig } from '../../../../engines';
3
+ import { config } from './InputGroup.config';
4
+ var mergedConfig = /*#__PURE__*/mergeConfig(inputGroupConfig, config);
5
+ export var InputGroup = /*#__PURE__*/component(mergedConfig);
@@ -0,0 +1,102 @@
1
+ import React from 'react';
2
+ import type { ComponentProps } from 'react';
3
+ import type { StoryObj, Meta } from '@storybook/react';
4
+ import { disableProps } from '@salutejs/plasma-sb-utils';
5
+
6
+ import { WithTheme } from '../../../_helpers';
7
+ import { TextField } from '../TextField/TextField';
8
+
9
+ import { InputGroup } from './InputGroup';
10
+
11
+ type StoryProps = ComponentProps<typeof InputGroup> & { itemsCount?: number };
12
+ type Story = StoryObj<StoryProps>;
13
+
14
+ const sizes = ['l', 'm', 's', 'xs'];
15
+ const orientationValues = ['horizontal', 'vertical'];
16
+ const gapValues = ['none', 'dense', 'wide'];
17
+ const shapeValues = ['segmented', 'default'];
18
+ const stretchingValues = ['auto', 'filled'];
19
+
20
+ const meta: Meta<typeof InputGroup> = {
21
+ title: 'plasma_b2c/InputGroup',
22
+ decorators: [WithTheme],
23
+ argTypes: {
24
+ size: {
25
+ options: sizes,
26
+ control: {
27
+ type: 'select',
28
+ },
29
+ },
30
+ orientation: {
31
+ options: orientationValues,
32
+ control: {
33
+ type: 'inline-radio',
34
+ },
35
+ },
36
+ gap: {
37
+ options: gapValues,
38
+ control: {
39
+ type: 'select',
40
+ },
41
+ },
42
+ shape: {
43
+ options: shapeValues,
44
+ control: {
45
+ type: 'select',
46
+ },
47
+ },
48
+ stretching: {
49
+ options: stretchingValues,
50
+ control: {
51
+ type: 'select',
52
+ },
53
+ },
54
+ },
55
+ };
56
+
57
+ export default meta;
58
+
59
+ export const Default: Story = {
60
+ args: {
61
+ size: 'm',
62
+ gap: 'dense',
63
+ orientation: 'horizontal',
64
+ shape: 'default',
65
+ itemsCount: 5,
66
+ stretching: 'auto',
67
+ },
68
+ render: ({ itemsCount, ...args }: StoryProps) => {
69
+ return (
70
+ <InputGroup {...args}>
71
+ {Array(itemsCount)
72
+ .fill(true)
73
+ .map((_, i) => (
74
+ <TextField placeholder={`input #${i}`} />
75
+ ))}
76
+ </InputGroup>
77
+ );
78
+ },
79
+ };
80
+
81
+ export const CustomInputs: Story = {
82
+ args: {
83
+ ...Default.args,
84
+ isCommonInputStyles: false,
85
+ },
86
+ argTypes: {
87
+ ...disableProps(['itemsCount']),
88
+ },
89
+ render: (args: StoryProps) => {
90
+ return (
91
+ <>
92
+ <h3>Группа Input с разными размерами</h3>
93
+ <InputGroup {...args}>
94
+ <TextField placeholder="Размер l" size="l" />
95
+ <TextField placeholder="Размер m" size="m" />
96
+ <TextField placeholder="Размер s" size="s" />
97
+ <TextField placeholder="Размер xs" size="xs" />
98
+ </InputGroup>
99
+ </>
100
+ );
101
+ },
102
+ };