@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';
@@ -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: 'web/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,
@@ -103,51 +125,75 @@ const meta: Meta<typeof TextField> = {
103
125
  },
104
126
  hintText: {
105
127
  control: { type: 'text' },
106
- if: { arg: 'hasHint', truthy: true },
128
+ if: {
129
+ arg: 'hasHint',
130
+ truthy: true,
131
+ },
107
132
  },
108
133
  hintView: {
109
134
  options: hintViews,
110
135
  control: {
111
136
  type: 'select',
112
137
  },
113
- if: { arg: 'hasHint', truthy: true },
138
+ if: {
139
+ arg: 'hasHint',
140
+ truthy: true,
141
+ },
114
142
  },
115
143
  hintSize: {
116
144
  options: hintSizes,
117
145
  control: {
118
146
  type: 'select',
119
147
  },
120
- if: { arg: 'hasHint', truthy: true },
148
+ if: {
149
+ arg: 'hasHint',
150
+ truthy: true,
151
+ },
121
152
  },
122
153
  hintTargetPlacement: {
123
154
  options: hintTargetPlacements,
124
155
  control: {
125
156
  type: 'inline-radio',
126
157
  },
127
- if: { arg: 'hasHint', truthy: true },
158
+ if: {
159
+ arg: 'hasHint',
160
+ truthy: true,
161
+ },
128
162
  },
129
163
  hintTrigger: {
130
164
  options: hintTriggers,
131
165
  control: {
132
166
  type: 'inline-radio',
133
167
  },
134
- if: { arg: 'hasHint', truthy: true },
168
+ if: {
169
+ arg: 'hasHint',
170
+ truthy: true,
171
+ },
135
172
  },
136
173
  hintPlacement: {
137
174
  options: placements,
138
175
  control: {
139
176
  type: 'select',
140
177
  },
141
- if: { arg: 'hasHint', truthy: true },
178
+ if: {
179
+ arg: 'hasHint',
180
+ truthy: true,
181
+ },
142
182
  mappers: placements,
143
183
  },
144
184
  hintHasArrow: {
145
185
  control: { type: 'boolean' },
146
- if: { arg: 'hasHint', truthy: true },
186
+ if: {
187
+ arg: 'hasHint',
188
+ truthy: true,
189
+ },
147
190
  },
148
191
  hintWidth: {
149
192
  control: { type: 'text' },
150
- if: { arg: 'hasHint', truthy: true },
193
+ if: {
194
+ arg: 'hasHint',
195
+ truthy: true,
196
+ },
151
197
  },
152
198
  chipType: {
153
199
  control: 'select',
@@ -183,19 +229,28 @@ type StoryPropsDefault = Omit<
183
229
  enableContentRight: boolean;
184
230
  };
185
231
 
186
- const StoryDemo = ({ enableContentLeft, enableContentRight, view, ...rest }: StoryPropsDefault) => {
232
+ const StoryDemo = ({ enableContentLeft, enableContentRight, view, readOnly, ...rest }: StoryPropsDefault) => {
187
233
  const [text, setText] = useState('Значение поля');
188
234
 
189
- const iconSize = rest.size === 'xs' ? 'xs' : 's';
235
+ const contentRight = enableContentRight || readOnly ? getIcon(IconCross, rest.size, readOnly) : undefined;
190
236
 
191
237
  return (
192
- <div style={{ display: 'flex', flexDirection: 'column', gap: '2rem', width: '70%', margin: '0 auto' }}>
238
+ <div
239
+ style={{
240
+ display: 'flex',
241
+ flexDirection: 'column',
242
+ gap: '2rem',
243
+ width: '70%',
244
+ margin: '0 auto',
245
+ }}
246
+ >
193
247
  <TextField
194
248
  {...rest}
195
249
  enumerationType="plain"
196
250
  value={text}
197
- contentLeft={enableContentLeft ? <IconCross color="inherit" size={iconSize} /> : undefined}
198
- contentRight={enableContentRight ? <IconCross color="inherit" size={iconSize} /> : undefined}
251
+ readOnly={readOnly}
252
+ contentLeft={enableContentLeft ? getIcon(IconPlaceholder, rest.size) : undefined}
253
+ contentRight={contentRight}
199
254
  view={view}
200
255
  onChange={(e) => {
201
256
  setText(e.target.value);
@@ -211,9 +266,10 @@ const StoryDemo = ({ enableContentLeft, enableContentRight, view, ...rest }: Sto
211
266
  label="Uncontrolled TextField"
212
267
  defaultValue="Дефолтное значение"
213
268
  enumerationType="plain"
214
- contentLeft={enableContentLeft ? <IconPlaceholder size={iconSize} /> : undefined}
215
- contentRight={enableContentRight ? <IconPlaceholder size={iconSize} /> : undefined}
269
+ contentLeft={enableContentLeft ? getIcon(IconPlaceholder, rest.size) : undefined}
270
+ contentRight={contentRight}
216
271
  view={view}
272
+ readOnly={readOnly}
217
273
  onFocus={onFocus}
218
274
  onBlur={onBlur}
219
275
  onSearch={onSearch}
@@ -285,10 +341,10 @@ type StoryPropsChips = Omit<
285
341
  enableContentRight: boolean;
286
342
  };
287
343
 
288
- const StoryChips = ({ enableContentLeft, enableContentRight, view, ...rest }: StoryPropsChips) => {
344
+ const StoryChips = ({ enableContentLeft, enableContentRight, view, readOnly, ...rest }: StoryPropsChips) => {
289
345
  const [text, setText] = useState('Значение поля');
290
346
 
291
- const iconSize = rest.size === 'xs' ? 'xs' : 's';
347
+ const contentRight = enableContentRight || readOnly ? getIcon(IconCross, rest.size, readOnly) : undefined;
292
348
 
293
349
  const validateChip = (value) => (value === '1 value' ? { view: 'negative' } : {});
294
350
 
@@ -297,9 +353,10 @@ const StoryChips = ({ enableContentLeft, enableContentRight, view, ...rest }: St
297
353
  {...rest}
298
354
  enumerationType="chip"
299
355
  value={text}
300
- contentLeft={enableContentLeft ? <IconPlaceholder size={iconSize} /> : undefined}
301
- contentRight={enableContentRight ? <IconPlaceholder size={iconSize} /> : undefined}
356
+ contentLeft={enableContentLeft ? getIcon(IconPlaceholder, rest.size) : undefined}
357
+ contentRight={contentRight}
302
358
  view={view}
359
+ readOnly={readOnly}
303
360
  onChange={(e) => {
304
361
  setText(e.target.value);
305
362
  onChange(e.target.value);
@@ -308,7 +365,10 @@ const StoryChips = ({ enableContentLeft, enableContentRight, view, ...rest }: St
308
365
  onBlur={onBlur}
309
366
  onChangeChips={onChipsChange}
310
367
  chipValidator={validateChip}
311
- style={{ width: '70%', margin: '0 auto' }}
368
+ style={{
369
+ width: '70%',
370
+ margin: '0 auto',
371
+ }}
312
372
  />
313
373
  );
314
374
  };
@@ -20,6 +20,7 @@ export var tokens = {
20
20
  /** Токены разделителя */
21
21
  dividerColor: '--plasma-range__divider-color',
22
22
  dividerColorReadOnly: '--plasma-range__divider-color-readonly',
23
+ dividerOpacityReadOnly: '--plasma-range__divider-opacity-readonly',
23
24
  dividerPadding: '--plasma-range__divider-padding',
24
25
  dividerFontFamily: '--plasma-range__divider-font-family',
25
26
  dividerFontStyle: '--plasma-range__divider-font-style',
@@ -30,6 +31,7 @@ export var tokens = {
30
31
  /** Токены слотов для контента */
31
32
  leftContentMargin: '--plasma-range__left-content-margin',
32
33
  rightContentMargin: '--plasma-range__right-content-margin',
34
+ rightContentOpacityReadOnly: '--plasma-range__right-content-opacity-readonly',
33
35
  /** Токены лейбла */
34
36
  labelColor: '--plasma-range__label-color',
35
37
  labelColorReadOnly: '--plasma-range__label-color-readonly',
@@ -1,4 +1,4 @@
1
1
  import { css } from 'styled-components';
2
2
  import { tokens } from '../../Range.tokens';
3
3
  import { ContentWrapper, LeftHelper, StyledContentLeft, StyledContentRight, StyledDivider, StyledLabel } from '../../Range.styles';
4
- export var base = /*#__PURE__*/css(["&[readonly]{cursor:default;", "{background:var(", ");}", "{display:block;color:var(", ");}", "{color:var(", ");}", "{color:var(", ");}", ",", "{color:var(", ");}}"], ContentWrapper, tokens.backgroundReadOnly, StyledLabel, tokens.labelColorReadOnly, LeftHelper, tokens.leftHelperColorReadOnly, StyledDivider, tokens.dividerColorReadOnly, StyledContentLeft, StyledContentRight, tokens.textFieldColorReadOnly);
4
+ export var base = /*#__PURE__*/css(["&[readonly]{cursor:default;", "{background:var(", ");}", "{display:block;color:var(", ");}", "{color:var(", ");}", "{color:var(", ");opacity:var(", ");}", ",", "{color:var(", ");}", "{opacity:var(", ");}}"], ContentWrapper, tokens.backgroundReadOnly, StyledLabel, tokens.labelColorReadOnly, LeftHelper, tokens.leftHelperColorReadOnly, StyledDivider, tokens.dividerColorReadOnly, tokens.dividerOpacityReadOnly, StyledContentLeft, StyledContentRight, tokens.textFieldColorReadOnly, StyledContentRight, tokens.rightContentOpacityReadOnly);
@@ -30,6 +30,7 @@ import { classes } from './TextArea.tokens';
30
30
  import { base as viewCSS } from './variations/_view/base';
31
31
  import { base as sizeCSS } from './variations/_size/base';
32
32
  import { base as clearCSS } from './variations/_clear/base';
33
+ import { base as readOnlyCSS } from './variations/_read-only/base';
33
34
  import { base as disabledCSS } from './variations/_disabled/base';
34
35
  import { base as hintViewCSS } from './variations/_hint-view/base';
35
36
  import { base as hintSizeCSS } from './variations/_hint-size/base';
@@ -350,11 +351,12 @@ export var textAreaConfig = {
350
351
  css: clearCSS,
351
352
  attrs: true
352
353
  },
353
- disabled: {
354
- css: disabledCSS,
354
+ readOnly: {
355
+ css: readOnlyCSS,
355
356
  attrs: true
356
357
  },
357
- readOnly: {
358
+ disabled: {
359
+ css: disabledCSS,
358
360
  attrs: true
359
361
  },
360
362
  hintView: {
@@ -60,6 +60,9 @@ export var tokens = {
60
60
  /** Цвет текста для элемента textarea */
61
61
  inputColor: '--plasma-textarea-input-color',
62
62
  clearInputColor: '--plasma-textarea-input-clear-color',
63
+ inputColorReadOnly: '--plasma-textarea-input-color-read-only',
64
+ backgroundColorReadOnly: '--plasma-textarea-background-color-read-only',
65
+ readOnlyOpacity: '--plasma-textarea-read-only-opacity',
63
66
  /** Цвет текста для элемента textarea в состоянии focus */
64
67
  inputColorFocus: '--plasma-textarea-input-color-focus',
65
68
  /** Цвет каретки для элемента textarea */
@@ -0,0 +1,4 @@
1
+ import { css } from 'styled-components';
2
+ import { StyledContainer, StyledTextArea } from '../../TextArea.styles';
3
+ import { classes, tokens } from '../../TextArea.tokens';
4
+ export var base = /*#__PURE__*/css(["&[readonly]{", "{color:var(", ");}:not(&.", "){", "{background:transparent;position:relative;:before{position:absolute;content:'';top:0;left:0;right:0;bottom:0;background:var(", ");border-radius:var(", ");opacity:var(", ");z-index:-1;}:hover{background:transparent;}}}}"], StyledTextArea, tokens.inputColorReadOnly, classes.clear, StyledContainer, tokens.backgroundColorReadOnly, tokens.borderRadius, tokens.readOnlyOpacity);
@@ -112,6 +112,7 @@ export var tokens = {
112
112
  textAfterMargin: '--plasma-textfield__after-text-margin',
113
113
  /** Прозрачность для всего компонента в состоянии disabled */
114
114
  disabledOpacity: '--plasma-textfield-disabled-opacity',
115
+ readOnlyOpacity: '--plasma-textfield-readonly-opacity',
115
116
  /** Токены для tooltip */
116
117
  hintMargin: '--plasma-textfield__hint-margin',
117
118
  hintTargetSize: '--plasma-textfield__hint-target-size',
@@ -1,4 +1,4 @@
1
1
  import { css } from 'styled-components';
2
2
  import { classes, tokens } from '../../TextField.tokens';
3
- import { Input, InputPlaceholder, InputWrapper, Label, LeftHelper, TitleCaption } from '../../TextField.styles';
4
- export var base = /*#__PURE__*/css(["&[readonly]{", "{color:var(", ");background-color:var(", ");box-shadow:inset 0 0 0 var(", ") var(", ");}&.", " ", "{&:before{background-color:var(", ");}}", ":hover{background-color:var(", ");}", ":focus-within ", ",", "{color:var(", ");}", "{color:var(", ");cursor:default;min-width:unset;}", "{color:var(", ");}", "{color:var(", ");}&.", " ", "{color:var(", ");}}"], InputWrapper, tokens.colorReadOnly, /*#__PURE__*/String(tokens.backgroundColorReadOnly), /*#__PURE__*/String(tokens.borderWidth), /*#__PURE__*/String(tokens.borderColorReadOnly), classes.hasDivider, InputWrapper, /*#__PURE__*/String(tokens.dividerColorReadOnly), InputWrapper, tokens.backgroundColorReadOnly, InputWrapper, InputPlaceholder, InputPlaceholder, tokens.placeholderColorReadOnly, Input, tokens.colorReadOnly, TitleCaption, tokens.titleCaptionColorReadOnly, LeftHelper, tokens.leftHelperColorReadOnly, classes.outerLabelPlacement, Label, tokens.labelColorReadOnly);
3
+ import { Input, InputPlaceholder, InputWrapper, Label, LeftHelper, StyledContentRight, TitleCaption } from '../../TextField.styles';
4
+ export var base = /*#__PURE__*/css(["&[readonly]{:not(&.", "){", "{position:relative;color:var(", ");background-color:transparent;box-shadow:inset 0 0 0 var(", ") var(", ");:before{position:absolute;content:'';top:0;left:0;right:0;bottom:0;border-radius:var(", ");background-color:var(", ");opacity:var(", ");z-index:-1;}:hover{background-color:transparent;}}}&.", " ", "{&:before{background-color:var(", ");}}", ":focus-within ", ",", "{color:var(", ");}", "{color:var(", ");cursor:default;min-width:unset;}", "{color:var(", ");}", "{color:var(", ");}", ":hover,", ":active{cursor:default;color:var(", ",var(", "));}&.", " ", "{color:var(", ");}}"], classes.clear, InputWrapper, tokens.colorReadOnly, /*#__PURE__*/String(tokens.borderWidth), /*#__PURE__*/String(tokens.borderColorReadOnly), tokens.borderRadius, tokens.backgroundColorReadOnly, tokens.readOnlyOpacity, classes.hasDivider, InputWrapper, /*#__PURE__*/String(tokens.dividerColorReadOnly), InputWrapper, InputPlaceholder, InputPlaceholder, tokens.placeholderColorReadOnly, Input, tokens.colorReadOnly, TitleCaption, tokens.titleCaptionColorReadOnly, LeftHelper, tokens.leftHelperColorReadOnly, StyledContentRight, StyledContentRight, tokens.contentSlotRightColor, tokens.contentSlotColor, classes.outerLabelPlacement, Label, tokens.labelColorReadOnly);
@@ -0,0 +1,18 @@
1
+ var _path, _path2;
2
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
+ import React from 'react';
4
+ export var Lock = function Lock(props) {
5
+ return /*#__PURE__*/React.createElement("svg", _extends({
6
+ width: "100%",
7
+ viewBox: "0 0 24 24",
8
+ fill: "none"
9
+ }, props), _path || (_path = /*#__PURE__*/React.createElement("path", {
10
+ d: "M12.0001 18C13.1046 18 14.0001 17.1046 14.0001 16C14.0001 14.8954 13.1046 14 12.0001 14C10.8955 14 10.0001 14.8954 10.0001 16C10.0001 17.1046 10.8955 18 12.0001 18Z",
11
+ fill: "currentColor"
12
+ })), _path2 || (_path2 = /*#__PURE__*/React.createElement("path", {
13
+ fillRule: "evenodd",
14
+ clipRule: "evenodd",
15
+ d: "M16.7501 7V10.0056C17.0393 10.0142 17.2842 10.0359 17.5087 10.0898C18.6971 10.3751 19.625 11.3029 19.9103 12.4913C20.0005 12.8672 20.0003 13.3001 20.0001 13.9028L20.0001 17.2814C20.0001 17.9548 20.0001 18.5055 19.9635 18.9531C19.9257 19.4163 19.8449 19.8347 19.6458 20.2255C19.3342 20.837 18.837 21.3342 18.2255 21.6458C17.8348 21.8449 17.4164 21.9256 16.9531 21.9634C16.5056 22 15.9549 22 15.2815 22H8.71861C8.04524 22 7.49454 22 7.04698 21.9634C6.58372 21.9256 6.16532 21.8449 5.77458 21.6458C5.16306 21.3342 4.66587 20.837 4.35428 20.2255C4.15519 19.8347 4.07445 19.4163 4.0366 18.9531C4.00004 18.5055 4.00004 17.9548 4.00005 17.2814L4.00003 13.9029C3.99978 13.3001 3.9996 12.8672 4.08985 12.4913C4.37515 11.3029 5.30299 10.3751 6.49135 10.0898C6.7159 10.0359 6.96077 10.0142 7.25005 10.0056V7C7.25005 4.37665 9.3767 2.25 12.0001 2.25C14.6234 2.25 16.7501 4.37665 16.7501 7ZM8.75005 7C8.75005 5.20507 10.2051 3.75 12.0001 3.75C13.795 3.75 15.2501 5.20507 15.2501 7V10H8.75005V7ZM6.84152 11.5484C7.02117 11.5052 7.25947 11.5 8.00005 11.5H16.0001C16.7406 11.5 16.9789 11.5052 17.1586 11.5484C17.7985 11.702 18.2981 12.2016 18.4517 12.8415C18.4948 13.0211 18.5001 13.2594 18.5001 14V17.25C18.5001 17.9624 18.4995 18.4517 18.4685 18.8309C18.4382 19.2014 18.3827 19.4004 18.3093 19.5445C18.1415 19.8738 17.8738 20.1415 17.5445 20.3093C17.4005 20.3827 17.2015 20.4382 16.831 20.4684C16.4517 20.4994 15.9625 20.5 15.2501 20.5H8.75005C8.03761 20.5 7.54839 20.4994 7.16913 20.4684C6.79863 20.4382 6.59961 20.3827 6.45557 20.3093C6.12628 20.1415 5.85857 19.8738 5.69079 19.5445C5.6174 19.4004 5.56189 19.2014 5.53162 18.8309C5.50063 18.4517 5.50005 17.9624 5.50005 17.25V14C5.50005 13.2594 5.50527 13.0211 5.5484 12.8415C5.70203 12.2016 6.20164 11.702 6.84152 11.5484Z",
16
+ fill: "currentColor"
17
+ })));
18
+ };
@@ -1,3 +1,7 @@
1
+ var _excluded = ["size", "color", "className", "sizeCustomProperty"];
2
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
4
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
1
5
  import React from 'react';
2
6
  import { ChevronLeft } from '../Icon.assets/ChevronLeft';
3
7
  import { IconRoot } from '../IconRoot';
@@ -6,12 +10,13 @@ export var IconChevronLeft = function IconChevronLeft(_ref) {
6
10
  size = _ref$size === void 0 ? 's' : _ref$size,
7
11
  color = _ref.color,
8
12
  className = _ref.className,
9
- sizeCustomProperty = _ref.sizeCustomProperty;
10
- return /*#__PURE__*/React.createElement(IconRoot, {
13
+ sizeCustomProperty = _ref.sizeCustomProperty,
14
+ rest = _objectWithoutProperties(_ref, _excluded);
15
+ return /*#__PURE__*/React.createElement(IconRoot, _extends({
11
16
  className: className,
12
17
  size: size,
13
18
  color: color,
14
19
  icon: ChevronLeft,
15
20
  sizeCustomProperty: sizeCustomProperty
16
- });
21
+ }, rest));
17
22
  };
@@ -0,0 +1,22 @@
1
+ var _excluded = ["size", "color", "className", "sizeCustomValue"];
2
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
4
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
5
+ import React from 'react';
6
+ import { Lock } from '../Icon.assets/Lock';
7
+ import { IconRoot } from '../IconRoot';
8
+ export var IconLock = function IconLock(_ref) {
9
+ var _ref$size = _ref.size,
10
+ size = _ref$size === void 0 ? 's' : _ref$size,
11
+ color = _ref.color,
12
+ className = _ref.className,
13
+ sizeCustomValue = _ref.sizeCustomValue,
14
+ rest = _objectWithoutProperties(_ref, _excluded);
15
+ return /*#__PURE__*/React.createElement(IconRoot, _extends({
16
+ className: className,
17
+ sizeCustomValue: sizeCustomValue,
18
+ size: size,
19
+ color: color,
20
+ icon: Lock
21
+ }, rest));
22
+ };
@@ -5,6 +5,7 @@ export { IconDisclosureRightWithOffset } from './Icons/IconDisclosureRightWithOf
5
5
  export { IconDisclosureDownFill } from './Icons/IconDisclosureDownFill';
6
6
  export { IconDisclosureDownWithOffset } from './Icons/IconDisclosureDownWithOffset';
7
7
  export { IconDisclosureUpWithOffset } from './Icons/IconDisclosureUpWithOffset';
8
+ export { IconLock } from './Icons/IconLock';
8
9
  export { IconMic } from './Icons/IconMic';
9
10
  export { IconChevronLeft } from './Icons/IconChevronLeft';
10
11
  export { IconChevronDoubleLeft } from './Icons/IconChevronDoubleLeft';
@@ -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';
@@ -19,7 +19,7 @@ export var config = {
19
19
  "true": /*#__PURE__*/css(["", ":0.4;"], tokens.disabledOpacity)
20
20
  },
21
21
  readOnly: {
22
- "true": /*#__PURE__*/css(["", ":var(--surface-transparent-primary);", ":var(--text-secondary);", ":var(--text-secondary);", ":var(--text-secondary);", ":var(--text-secondary);", ":transparent;", ":var(--text-secondary);"], tokens.backgroundReadOnly, tokens.labelColorReadOnly, tokens.leftHelperColorReadOnly, tokens.dividerColorReadOnly, tokens.textFieldColorReadOnly, tokens.textFieldBackgroundColorReadOnly, tokens.textFieldPlaceholderColorReadOnly)
22
+ "true": /*#__PURE__*/css(["", ":var(--surface-transparent-primary);", ":var(--text-secondary);", ":var(--text-secondary);", ":var(--text-secondary);", ":0.4;", ":0.4;", ":var(--text-primary);", ":transparent;", ":var(--text-secondary);"], tokens.backgroundReadOnly, tokens.labelColorReadOnly, tokens.leftHelperColorReadOnly, tokens.dividerColorReadOnly, tokens.dividerOpacityReadOnly, tokens.rightContentOpacityReadOnly, tokens.textFieldColorReadOnly, tokens.textFieldBackgroundColorReadOnly, tokens.textFieldPlaceholderColorReadOnly)
23
23
  }
24
24
  }
25
25
  };
@@ -1,7 +1,7 @@
1
1
  import React, { ChangeEvent, ComponentProps, Dispatch, SetStateAction, 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 { IconChevronLeft } from '../../../../components/_Icon';
@@ -45,7 +45,10 @@ const meta: Meta<typeof Range> = {
45
45
  control: {
46
46
  type: 'select',
47
47
  },
48
- if: { arg: 'required', truthy: true },
48
+ if: {
49
+ arg: 'required',
50
+ truthy: true,
51
+ },
49
52
  },
50
53
  ...disableProps(['view']),
51
54
  },
@@ -76,10 +79,14 @@ const getSizeForIcon = (size) => {
76
79
  return size;
77
80
  };
78
81
 
79
- const ActionButton = ({ size }) => {
82
+ const ActionButton = ({ size, readOnly }) => {
80
83
  return (
81
- <IconButton view="clear" size={size}>
82
- <IconChevronLeft color="inherit" size={getSizeForIcon(size)} />
84
+ <IconButton view="clear" size={size} disabled={readOnly}>
85
+ <IconChevronLeft
86
+ color={readOnly ? 'var(--text-secondary)' : 'inherit'}
87
+ size={getSizeForIcon(size)}
88
+ style={{ transform: 'rotate(180deg)' }}
89
+ />
83
90
  </IconButton>
84
91
  );
85
92
  };
@@ -115,7 +122,7 @@ const StoryDefault = ({
115
122
  firstValue={firstValue}
116
123
  secondValue={secondValue}
117
124
  contentLeft={enableContentLeft ? <IconPlaceholder size={iconSize} /> : undefined}
118
- contentRight={enableContentRight ? <ActionButton size={size} /> : undefined}
125
+ contentRight={enableContentRight ? <ActionButton size={size} readOnly={rest.readOnly} /> : undefined}
119
126
  firstTextfieldContentLeft={
120
127
  enableFirstTextfieldContentLeft ? <IconPlaceholder size={iconSize} /> : undefined
121
128
  }
@@ -266,7 +273,7 @@ const StoryDemo = ({ enableContentLeft, enableContentRight, size, ...rest }: Sto
266
273
  firstValueSuccess={firstValueSuccess}
267
274
  secondValueSuccess={secondValueSuccess}
268
275
  contentLeft={enableContentLeft ? <IconPlaceholder size={iconSize} /> : undefined}
269
- contentRight={enableContentRight ? <ActionButton size={size} /> : undefined}
276
+ contentRight={enableContentRight ? <ActionButton size={size} readOnly={rest.readOnly} /> : undefined}
270
277
  onChangeFirstValue={(e) => {
271
278
  handleChangeValue(
272
279
  e,
@@ -29,6 +29,9 @@ export var config = {
29
29
  clear: {
30
30
  "true": /*#__PURE__*/css([""])
31
31
  },
32
+ readOnly: {
33
+ "true": /*#__PURE__*/css(["", ":0.4;", ":var(--surface-transparent-primary);", ":var(--text-primary);"], textAreaTokens.readOnlyOpacity, textAreaTokens.backgroundColorReadOnly, textAreaTokens.inputColorReadOnly)
34
+ },
32
35
  disabled: {
33
36
  "true": /*#__PURE__*/css(["", ":0.4;", ":var(--text-secondary);", ":var(--surface-transparent-primary);", ":var(--text-secondary);"], textAreaTokens.disabledOpacity, textAreaTokens.inputColorDisabled, textAreaTokens.dividerColorReadOnly, textAreaTokens.titleCaptionColorReadOnly)
34
37
  }