@salutejs/plasma-new-hope 0.271.0-dev.0 → 0.272.0-canary.1770.13398571521.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (201) hide show
  1. package/cjs/components/Autocomplete/Autocomplete.css +1 -1
  2. package/cjs/components/Combobox/ComboboxNew/Combobox.css +1 -1
  3. package/cjs/components/DatePicker/RangeDate/RangeDate.css +2 -2
  4. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +2 -2
  5. package/cjs/components/DatePicker/SingleDate/SingleDate.css +1 -1
  6. package/cjs/components/Pagination/Pagination.css +1 -1
  7. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +1 -1
  8. package/cjs/components/Range/Range.css +2 -2
  9. package/cjs/components/Range/Range.styles.js.map +1 -1
  10. package/cjs/components/Range/Range.tokens.js +2 -0
  11. package/cjs/components/Range/Range.tokens.js.map +1 -1
  12. package/cjs/components/Range/variations/_readonly/base.js +1 -1
  13. package/cjs/components/Range/variations/_readonly/base.js.map +1 -1
  14. package/cjs/components/Range/variations/_readonly/{base_8q1gx8.css → base_1jlqwtc.css} +1 -1
  15. package/cjs/components/Select/Select.css +1 -1
  16. package/cjs/components/Select/ui/Target/Target.css +1 -1
  17. package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.css +1 -1
  18. package/cjs/components/Slider/Slider.css +1 -1
  19. package/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.css +1 -1
  20. package/cjs/components/TextArea/TextArea.js +9 -7
  21. package/cjs/components/TextArea/TextArea.js.map +1 -1
  22. package/cjs/components/TextArea/TextArea.tokens.js +3 -0
  23. package/cjs/components/TextArea/TextArea.tokens.js.map +1 -1
  24. package/cjs/components/TextArea/variations/_clear/base.js.map +1 -1
  25. package/cjs/components/TextArea/variations/_read-only/base.js +9 -0
  26. package/cjs/components/TextArea/variations/_read-only/base.js.map +1 -0
  27. package/cjs/components/TextArea/variations/_read-only/base_2remzk.css +1 -0
  28. package/cjs/components/TextField/TextField.tokens.js +1 -0
  29. package/cjs/components/TextField/TextField.tokens.js.map +1 -1
  30. package/cjs/components/TextField/variations/_read-only/base.js +1 -1
  31. package/cjs/components/TextField/variations/_read-only/base.js.map +1 -1
  32. package/cjs/components/TextField/variations/_read-only/base_sr3to2.css +1 -0
  33. package/cjs/index.css +4 -2
  34. package/emotion/cjs/components/Range/Range.styles.js +10 -10
  35. package/emotion/cjs/components/Range/Range.tokens.js +2 -0
  36. package/emotion/cjs/components/Range/variations/_readonly/base.js +1 -1
  37. package/emotion/cjs/components/TextArea/TextArea.js +10 -8
  38. package/emotion/cjs/components/TextArea/TextArea.tokens.js +3 -0
  39. package/emotion/cjs/components/TextArea/variations/_clear/base.js +1 -1
  40. package/emotion/cjs/components/TextArea/variations/_read-only/base.js +10 -0
  41. package/emotion/cjs/components/TextArea/variations/_read-only/tokens.json +1 -0
  42. package/emotion/cjs/components/TextField/TextField.tokens.js +1 -0
  43. package/emotion/cjs/components/TextField/variations/_read-only/base.js +1 -1
  44. package/emotion/cjs/components/_Icon/Icon.assets/Lock.js +25 -0
  45. package/emotion/cjs/components/_Icon/Icons/IconChevronLeft.js +8 -3
  46. package/emotion/cjs/components/_Icon/Icons/IconLock.js +29 -0
  47. package/emotion/cjs/components/_Icon/index.js +7 -0
  48. package/emotion/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +1 -1
  49. package/emotion/cjs/examples/plasma_b2c/components/Range/Range.config.js +7 -7
  50. package/emotion/cjs/examples/plasma_b2c/components/Range/Range.stories.tsx +14 -7
  51. package/emotion/cjs/examples/plasma_b2c/components/TextArea/TextArea.config.js +17 -14
  52. package/emotion/cjs/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +71 -20
  53. package/emotion/cjs/examples/plasma_b2c/components/TextField/TextField.config.js +22 -22
  54. package/emotion/cjs/examples/plasma_b2c/components/TextField/TextField.stories.tsx +92 -26
  55. package/emotion/cjs/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +1 -1
  56. package/emotion/cjs/examples/plasma_web/components/Range/Range.config.js +7 -7
  57. package/emotion/cjs/examples/plasma_web/components/Range/Range.stories.tsx +14 -7
  58. package/emotion/cjs/examples/plasma_web/components/TextArea/TextArea.stories.tsx +71 -20
  59. package/emotion/cjs/examples/plasma_web/components/TextField/TextField.config.js +22 -22
  60. package/emotion/cjs/examples/plasma_web/components/TextField/TextField.stories.tsx +85 -25
  61. package/emotion/es/components/Range/Range.styles.js +10 -10
  62. package/emotion/es/components/Range/Range.tokens.js +2 -0
  63. package/emotion/es/components/Range/variations/_readonly/base.js +1 -1
  64. package/emotion/es/components/TextArea/TextArea.js +6 -4
  65. package/emotion/es/components/TextArea/TextArea.tokens.js +3 -0
  66. package/emotion/es/components/TextArea/variations/_clear/base.js +1 -1
  67. package/emotion/es/components/TextArea/variations/_read-only/base.js +4 -0
  68. package/emotion/es/components/TextArea/variations/_read-only/tokens.json +1 -0
  69. package/emotion/es/components/TextField/TextField.tokens.js +1 -0
  70. package/emotion/es/components/TextField/variations/_read-only/base.js +2 -2
  71. package/emotion/es/components/_Icon/Icon.assets/Lock.js +18 -0
  72. package/emotion/es/components/_Icon/Icons/IconChevronLeft.js +8 -3
  73. package/emotion/es/components/_Icon/Icons/IconLock.js +22 -0
  74. package/emotion/es/components/_Icon/index.js +1 -0
  75. package/emotion/es/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +1 -1
  76. package/emotion/es/examples/plasma_b2c/components/Range/Range.config.js +7 -7
  77. package/emotion/es/examples/plasma_b2c/components/Range/Range.stories.tsx +14 -7
  78. package/emotion/es/examples/plasma_b2c/components/TextArea/TextArea.config.js +17 -14
  79. package/emotion/es/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +71 -20
  80. package/emotion/es/examples/plasma_b2c/components/TextField/TextField.config.js +22 -22
  81. package/emotion/es/examples/plasma_b2c/components/TextField/TextField.stories.tsx +92 -26
  82. package/emotion/es/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +1 -1
  83. package/emotion/es/examples/plasma_web/components/Range/Range.config.js +7 -7
  84. package/emotion/es/examples/plasma_web/components/Range/Range.stories.tsx +14 -7
  85. package/emotion/es/examples/plasma_web/components/TextArea/TextArea.stories.tsx +71 -20
  86. package/emotion/es/examples/plasma_web/components/TextField/TextField.config.js +22 -22
  87. package/emotion/es/examples/plasma_web/components/TextField/TextField.stories.tsx +85 -25
  88. package/es/components/Autocomplete/Autocomplete.css +1 -1
  89. package/es/components/Combobox/ComboboxNew/Combobox.css +1 -1
  90. package/es/components/DatePicker/RangeDate/RangeDate.css +2 -2
  91. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +2 -2
  92. package/es/components/DatePicker/SingleDate/SingleDate.css +1 -1
  93. package/es/components/Pagination/Pagination.css +1 -1
  94. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +1 -1
  95. package/es/components/Range/Range.css +2 -2
  96. package/es/components/Range/Range.styles.js.map +1 -1
  97. package/es/components/Range/Range.tokens.js +2 -0
  98. package/es/components/Range/Range.tokens.js.map +1 -1
  99. package/es/components/Range/variations/_readonly/base.js +1 -1
  100. package/es/components/Range/variations/_readonly/base.js.map +1 -1
  101. package/es/components/Range/variations/_readonly/{base_8q1gx8.css → base_1jlqwtc.css} +1 -1
  102. package/es/components/Select/Select.css +1 -1
  103. package/es/components/Select/ui/Target/Target.css +1 -1
  104. package/es/components/Select/ui/Target/ui/Textfield/Textfield.css +1 -1
  105. package/es/components/Slider/Slider.css +1 -1
  106. package/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.css +1 -1
  107. package/es/components/TextArea/TextArea.js +9 -7
  108. package/es/components/TextArea/TextArea.js.map +1 -1
  109. package/es/components/TextArea/TextArea.tokens.js +3 -0
  110. package/es/components/TextArea/TextArea.tokens.js.map +1 -1
  111. package/es/components/TextArea/variations/_clear/base.js.map +1 -1
  112. package/es/components/TextArea/variations/_read-only/base.js +5 -0
  113. package/es/components/TextArea/variations/_read-only/base.js.map +1 -0
  114. package/es/components/TextArea/variations/_read-only/base_2remzk.css +1 -0
  115. package/es/components/TextField/TextField.tokens.js +1 -0
  116. package/es/components/TextField/TextField.tokens.js.map +1 -1
  117. package/es/components/TextField/variations/_read-only/base.js +1 -1
  118. package/es/components/TextField/variations/_read-only/base.js.map +1 -1
  119. package/es/components/TextField/variations/_read-only/base_sr3to2.css +1 -0
  120. package/es/index.css +4 -2
  121. package/package.json +2 -2
  122. package/styled-components/cjs/components/Range/Range.tokens.js +2 -0
  123. package/styled-components/cjs/components/Range/variations/_readonly/base.js +1 -1
  124. package/styled-components/cjs/components/TextArea/TextArea.js +9 -7
  125. package/styled-components/cjs/components/TextArea/TextArea.tokens.js +3 -0
  126. package/styled-components/cjs/components/TextArea/variations/_read-only/base.js +10 -0
  127. package/styled-components/cjs/components/TextArea/variations/_read-only/tokens.json +1 -0
  128. package/styled-components/cjs/components/TextField/TextField.tokens.js +1 -0
  129. package/styled-components/cjs/components/TextField/variations/_read-only/base.js +1 -1
  130. package/styled-components/cjs/components/_Icon/Icon.assets/Lock.js +25 -0
  131. package/styled-components/cjs/components/_Icon/Icons/IconChevronLeft.js +8 -3
  132. package/styled-components/cjs/components/_Icon/Icons/IconLock.js +29 -0
  133. package/styled-components/cjs/components/_Icon/index.js +7 -0
  134. package/styled-components/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +1 -1
  135. package/styled-components/cjs/examples/plasma_b2c/components/Range/Range.config.js +1 -1
  136. package/styled-components/cjs/examples/plasma_b2c/components/Range/Range.stories.tsx +14 -7
  137. package/styled-components/cjs/examples/plasma_b2c/components/TextArea/TextArea.config.js +3 -0
  138. package/styled-components/cjs/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +71 -20
  139. package/styled-components/cjs/examples/plasma_b2c/components/TextField/TextField.config.js +7 -7
  140. package/styled-components/cjs/examples/plasma_b2c/components/TextField/TextField.stories.tsx +92 -26
  141. package/styled-components/cjs/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +1 -1
  142. package/styled-components/cjs/examples/plasma_web/components/Range/Range.config.js +1 -1
  143. package/styled-components/cjs/examples/plasma_web/components/Range/Range.stories.tsx +14 -7
  144. package/styled-components/cjs/examples/plasma_web/components/TextArea/TextArea.stories.tsx +71 -20
  145. package/styled-components/cjs/examples/plasma_web/components/TextField/TextField.config.js +7 -7
  146. package/styled-components/cjs/examples/plasma_web/components/TextField/TextField.stories.tsx +85 -25
  147. package/styled-components/es/components/Range/Range.tokens.js +2 -0
  148. package/styled-components/es/components/Range/variations/_readonly/base.js +1 -1
  149. package/styled-components/es/components/TextArea/TextArea.js +5 -3
  150. package/styled-components/es/components/TextArea/TextArea.tokens.js +3 -0
  151. package/styled-components/es/components/TextArea/variations/_read-only/base.js +4 -0
  152. package/styled-components/es/components/TextArea/variations/_read-only/tokens.json +1 -0
  153. package/styled-components/es/components/TextField/TextField.tokens.js +1 -0
  154. package/styled-components/es/components/TextField/variations/_read-only/base.js +2 -2
  155. package/styled-components/es/components/_Icon/Icon.assets/Lock.js +18 -0
  156. package/styled-components/es/components/_Icon/Icons/IconChevronLeft.js +8 -3
  157. package/styled-components/es/components/_Icon/Icons/IconLock.js +22 -0
  158. package/styled-components/es/components/_Icon/index.js +1 -0
  159. package/styled-components/es/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +1 -1
  160. package/styled-components/es/examples/plasma_b2c/components/Range/Range.config.js +1 -1
  161. package/styled-components/es/examples/plasma_b2c/components/Range/Range.stories.tsx +14 -7
  162. package/styled-components/es/examples/plasma_b2c/components/TextArea/TextArea.config.js +3 -0
  163. package/styled-components/es/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +71 -20
  164. package/styled-components/es/examples/plasma_b2c/components/TextField/TextField.config.js +7 -7
  165. package/styled-components/es/examples/plasma_b2c/components/TextField/TextField.stories.tsx +92 -26
  166. package/styled-components/es/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +1 -1
  167. package/styled-components/es/examples/plasma_web/components/Range/Range.config.js +1 -1
  168. package/styled-components/es/examples/plasma_web/components/Range/Range.stories.tsx +14 -7
  169. package/styled-components/es/examples/plasma_web/components/TextArea/TextArea.stories.tsx +71 -20
  170. package/styled-components/es/examples/plasma_web/components/TextField/TextField.config.js +7 -7
  171. package/styled-components/es/examples/plasma_web/components/TextField/TextField.stories.tsx +85 -25
  172. package/types/components/Range/Range.tokens.d.ts +2 -0
  173. package/types/components/Range/Range.tokens.d.ts.map +1 -1
  174. package/types/components/Range/variations/_readonly/base.d.ts.map +1 -1
  175. package/types/components/TextArea/TextArea.d.ts +3 -2
  176. package/types/components/TextArea/TextArea.d.ts.map +1 -1
  177. package/types/components/TextArea/TextArea.tokens.d.ts +3 -0
  178. package/types/components/TextArea/TextArea.tokens.d.ts.map +1 -1
  179. package/types/components/TextArea/variations/_clear/base.d.ts.map +1 -1
  180. package/types/components/TextArea/variations/_read-only/base.d.ts +2 -0
  181. package/types/components/TextArea/variations/_read-only/base.d.ts.map +1 -0
  182. package/types/components/TextField/TextField.tokens.d.ts +1 -0
  183. package/types/components/TextField/TextField.tokens.d.ts.map +1 -1
  184. package/types/components/TextField/variations/_read-only/base.d.ts.map +1 -1
  185. package/types/components/_Icon/Icon.assets/Lock.d.ts +4 -0
  186. package/types/components/_Icon/Icon.assets/Lock.d.ts.map +1 -0
  187. package/types/components/_Icon/Icons/IconChevronLeft.d.ts.map +1 -1
  188. package/types/components/_Icon/Icons/IconLock.d.ts +4 -0
  189. package/types/components/_Icon/Icons/IconLock.d.ts.map +1 -0
  190. package/types/components/_Icon/index.d.ts +1 -0
  191. package/types/components/_Icon/index.d.ts.map +1 -1
  192. package/types/examples/plasma_b2c/components/Range/Range.config.d.ts.map +1 -1
  193. package/types/examples/plasma_b2c/components/TextArea/TextArea.config.d.ts +3 -0
  194. package/types/examples/plasma_b2c/components/TextArea/TextArea.config.d.ts.map +1 -1
  195. package/types/examples/plasma_b2c/components/TextArea/TextArea.d.ts +3 -0
  196. package/types/examples/plasma_b2c/components/TextArea/TextArea.d.ts.map +1 -1
  197. package/types/examples/plasma_b2c/components/TextField/TextField.config.d.ts.map +1 -1
  198. package/types/examples/plasma_web/components/Range/Range.config.d.ts.map +1 -1
  199. package/types/examples/plasma_web/components/TextField/TextField.config.d.ts.map +1 -1
  200. package/cjs/components/TextField/variations/_read-only/base_oizdmx.css +0 -1
  201. package/es/components/TextField/variations/_read-only/base_oizdmx.css +0 -1
@@ -4,7 +4,7 @@ import { action } from '@storybook/addon-actions';
4
4
  import { IconPlaceholder } from '@salutejs/plasma-sb-utils';
5
5
 
6
6
  import { WithTheme } from '../../../_helpers';
7
- import { IconCross } from '../../../../components/_Icon';
7
+ import { IconCross, IconLock } from '../../../../components/_Icon';
8
8
  import type { PopoverPlacement } from '../Popover/Popover';
9
9
 
10
10
  import { TextField } from './TextField';
@@ -21,8 +21,8 @@ const chipViews = ['default', 'secondary', 'accent', 'positive', 'warning', 'neg
21
21
  const hintViews = ['default'];
22
22
  const hintSizes = ['m', 's'];
23
23
  const hintTriggers = ['hover', 'click'];
24
- const labelPlacements = ['outer', 'inner'];
25
24
  const hintTargetPlacements = ['outer', 'inner'];
25
+ const labelPlacements = ['outer', 'inner'];
26
26
  const placements: Array<PopoverPlacement> = [
27
27
  'top',
28
28
  'top-start',
@@ -43,6 +43,16 @@ const placements: Array<PopoverPlacement> = [
43
43
  'auto',
44
44
  ];
45
45
 
46
+ const getIcon = (IconComponent: React.ReactElement, size: string, readOnly = false) => {
47
+ const iconSize = size === 'xs' ? 'xs' : 's';
48
+
49
+ if (readOnly) {
50
+ return <IconLock size={iconSize} color="var(--text-secondary)" style={{ opacity: 0.4 }} />;
51
+ }
52
+
53
+ return <IconComponent size={iconSize} color="inherit" />;
54
+ };
55
+
46
56
  const meta: Meta<typeof TextField> = {
47
57
  title: 'b2c/Data Entry/TextField',
48
58
  component: TextField,
@@ -58,19 +68,28 @@ const meta: Meta<typeof TextField> = {
58
68
  control: {
59
69
  type: 'boolean',
60
70
  },
61
- if: { arg: 'optional', truthy: false },
71
+ if: {
72
+ arg: 'optional',
73
+ truthy: false,
74
+ },
62
75
  },
63
76
  optional: {
64
77
  control: {
65
78
  type: 'boolean',
66
79
  },
67
- if: { arg: 'required', truthy: false },
80
+ if: {
81
+ arg: 'required',
82
+ truthy: false,
83
+ },
68
84
  },
69
85
  hasDivider: {
70
86
  control: {
71
87
  type: 'boolean',
72
88
  },
73
- if: { arg: 'clear', truthy: true },
89
+ if: {
90
+ arg: 'clear',
91
+ truthy: true,
92
+ },
74
93
  },
75
94
  view: {
76
95
  options: views,
@@ -93,7 +112,10 @@ const meta: Meta<typeof TextField> = {
93
112
  control: {
94
113
  type: 'boolean',
95
114
  },
96
- if: { arg: 'labelPlacement', eq: 'inner' },
115
+ if: {
116
+ arg: 'labelPlacement',
117
+ eq: 'inner',
118
+ },
97
119
  },
98
120
  size: {
99
121
  options: sizes,
@@ -101,53 +123,83 @@ const meta: Meta<typeof TextField> = {
101
123
  type: 'inline-radio',
102
124
  },
103
125
  },
126
+ titleCaption: {
127
+ control: { type: 'text' },
128
+ },
129
+ leftHelper: {
130
+ control: { type: 'text' },
131
+ },
104
132
  hintText: {
105
133
  control: { type: 'text' },
106
- if: { arg: 'hasHint', truthy: true },
134
+ if: {
135
+ arg: 'hasHint',
136
+ truthy: true,
137
+ },
107
138
  },
108
139
  hintView: {
109
140
  options: hintViews,
110
141
  control: {
111
142
  type: 'select',
112
143
  },
113
- if: { arg: 'hasHint', truthy: true },
144
+ if: {
145
+ arg: 'hasHint',
146
+ truthy: true,
147
+ },
114
148
  },
115
149
  hintSize: {
116
150
  options: hintSizes,
117
151
  control: {
118
152
  type: 'select',
119
153
  },
120
- if: { arg: 'hasHint', truthy: true },
154
+ if: {
155
+ arg: 'hasHint',
156
+ truthy: true,
157
+ },
121
158
  },
122
159
  hintTargetPlacement: {
123
160
  options: hintTargetPlacements,
124
161
  control: {
125
162
  type: 'inline-radio',
126
163
  },
127
- if: { arg: 'hasHint', truthy: true },
164
+ if: {
165
+ arg: 'hasHint',
166
+ truthy: true,
167
+ },
128
168
  },
129
169
  hintTrigger: {
130
170
  options: hintTriggers,
131
171
  control: {
132
172
  type: 'inline-radio',
133
173
  },
134
- if: { arg: 'hasHint', truthy: true },
174
+ if: {
175
+ arg: 'hasHint',
176
+ truthy: true,
177
+ },
135
178
  },
136
179
  hintPlacement: {
137
180
  options: placements,
138
181
  control: {
139
182
  type: 'select',
140
183
  },
141
- if: { arg: 'hasHint', truthy: true },
184
+ if: {
185
+ arg: 'hasHint',
186
+ truthy: true,
187
+ },
142
188
  mappers: placements,
143
189
  },
144
190
  hintHasArrow: {
145
191
  control: { type: 'boolean' },
146
- if: { arg: 'hasHint', truthy: true },
192
+ if: {
193
+ arg: 'hasHint',
194
+ truthy: true,
195
+ },
147
196
  },
148
197
  hintWidth: {
149
198
  control: { type: 'text' },
150
- if: { arg: 'hasHint', truthy: true },
199
+ if: {
200
+ arg: 'hasHint',
201
+ truthy: true,
202
+ },
151
203
  },
152
204
  chipType: {
153
205
  control: 'select',
@@ -183,19 +235,28 @@ type StoryPropsDefault = Omit<
183
235
  enableContentRight: boolean;
184
236
  };
185
237
 
186
- const StoryDemo = ({ enableContentLeft, enableContentRight, view, ...rest }: StoryPropsDefault) => {
238
+ const StoryDemo = ({ enableContentLeft, enableContentRight, view, readOnly, ...rest }: StoryPropsDefault) => {
187
239
  const [text, setText] = useState('Значение поля');
188
240
 
189
- const iconSize = rest.size === 'xs' ? 'xs' : 's';
241
+ const contentRight = enableContentRight || readOnly ? getIcon(IconCross, rest.size, readOnly) : undefined;
190
242
 
191
243
  return (
192
- <div style={{ display: 'flex', flexDirection: 'column', gap: '2rem', width: '70%', margin: '0 auto' }}>
244
+ <div
245
+ style={{
246
+ display: 'flex',
247
+ flexDirection: 'column',
248
+ gap: '2rem',
249
+ width: '70%',
250
+ margin: '0 auto',
251
+ }}
252
+ >
193
253
  <TextField
194
254
  {...rest}
195
255
  enumerationType="plain"
196
256
  value={text}
197
- contentLeft={enableContentLeft ? <IconCross color="inherit" size={iconSize} /> : undefined}
198
- contentRight={enableContentRight ? <IconCross color="inherit" size={iconSize} /> : undefined}
257
+ readOnly={readOnly}
258
+ contentLeft={enableContentLeft ? getIcon(IconPlaceholder, rest.size) : undefined}
259
+ contentRight={contentRight}
199
260
  view={view}
200
261
  onChange={(e) => {
201
262
  setText(e.target.value);
@@ -211,9 +272,10 @@ const StoryDemo = ({ enableContentLeft, enableContentRight, view, ...rest }: Sto
211
272
  label="Uncontrolled TextField"
212
273
  defaultValue="Дефолтное значение"
213
274
  enumerationType="plain"
214
- contentLeft={enableContentLeft ? <IconPlaceholder size={iconSize} /> : undefined}
215
- contentRight={enableContentRight ? <IconPlaceholder size={iconSize} /> : undefined}
275
+ contentLeft={enableContentLeft ? getIcon(IconPlaceholder, rest.size) : undefined}
276
+ contentRight={contentRight}
216
277
  view={view}
278
+ readOnly={readOnly}
217
279
  onFocus={onFocus}
218
280
  onBlur={onBlur}
219
281
  onSearch={onSearch}
@@ -285,10 +347,10 @@ type StoryPropsChips = Omit<
285
347
  enableContentRight: boolean;
286
348
  };
287
349
 
288
- const StoryChips = ({ enableContentLeft, enableContentRight, view, ...rest }: StoryPropsChips) => {
350
+ const StoryChips = ({ enableContentLeft, enableContentRight, view, readOnly, ...rest }: StoryPropsChips) => {
289
351
  const [text, setText] = useState('Значение поля');
290
352
 
291
- const iconSize = rest.size === 'xs' ? 'xs' : 's';
353
+ const contentRight = enableContentRight || readOnly ? getIcon(IconCross, rest.size, readOnly) : undefined;
292
354
 
293
355
  const validateChip = (value) => (value === '1 value' ? { view: 'negative' } : {});
294
356
 
@@ -297,9 +359,10 @@ const StoryChips = ({ enableContentLeft, enableContentRight, view, ...rest }: St
297
359
  {...rest}
298
360
  enumerationType="chip"
299
361
  value={text}
300
- contentLeft={enableContentLeft ? <IconPlaceholder size={iconSize} /> : undefined}
301
- contentRight={enableContentRight ? <IconPlaceholder size={iconSize} /> : undefined}
362
+ contentLeft={enableContentLeft ? getIcon(IconPlaceholder, rest.size) : undefined}
363
+ contentRight={contentRight}
302
364
  view={view}
365
+ readOnly={readOnly}
303
366
  onChange={(e) => {
304
367
  setText(e.target.value);
305
368
  onChange(e.target.value);
@@ -308,7 +371,10 @@ const StoryChips = ({ enableContentLeft, enableContentRight, view, ...rest }: St
308
371
  onBlur={onBlur}
309
372
  onChangeChips={onChipsChange}
310
373
  chipValidator={validateChip}
311
- style={{ width: '70%', margin: '0 auto' }}
374
+ style={{
375
+ width: '70%',
376
+ margin: '0 auto',
377
+ }}
312
378
  />
313
379
  );
314
380
  };
@@ -1,7 +1,7 @@
1
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
- import { IconPlaceholder } from '@salutejs/plasma-sb-utils';
4
+ import { disableProps, IconPlaceholder } from '@salutejs/plasma-sb-utils';
5
5
 
6
6
  import { WithTheme } from '../../../_helpers';
7
7
  import { IconButton } from '../IconButton/IconButton';