@salutejs/plasma-new-hope 0.270.0-canary.1744.13385332397.0 → 0.270.0-canary.1770.13386075549.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (217) 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_om8eo9.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 +26 -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_b2c/components/Tokens/Tokens.stories.tsx +22 -28
  56. package/emotion/cjs/examples/plasma_b2c/components/Tokens/Tokens.styles.js +14 -14
  57. package/emotion/cjs/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +1 -1
  58. package/emotion/cjs/examples/plasma_web/components/Range/Range.config.js +7 -7
  59. package/emotion/cjs/examples/plasma_web/components/Range/Range.stories.tsx +14 -7
  60. package/emotion/cjs/examples/plasma_web/components/TextArea/TextArea.stories.tsx +71 -20
  61. package/emotion/cjs/examples/plasma_web/components/TextField/TextField.config.js +22 -22
  62. package/emotion/cjs/examples/plasma_web/components/TextField/TextField.stories.tsx +85 -25
  63. package/emotion/cjs/examples/plasma_web/components/Tokens/Tokens.stories.tsx +22 -28
  64. package/emotion/cjs/examples/plasma_web/components/Tokens/Tokens.styles.js +14 -14
  65. package/emotion/es/components/Range/Range.styles.js +10 -10
  66. package/emotion/es/components/Range/Range.tokens.js +2 -0
  67. package/emotion/es/components/Range/variations/_readonly/base.js +1 -1
  68. package/emotion/es/components/TextArea/TextArea.js +6 -4
  69. package/emotion/es/components/TextArea/TextArea.tokens.js +3 -0
  70. package/emotion/es/components/TextArea/variations/_clear/base.js +1 -1
  71. package/emotion/es/components/TextArea/variations/_read-only/base.js +4 -0
  72. package/emotion/es/components/TextArea/variations/_read-only/tokens.json +1 -0
  73. package/emotion/es/components/TextField/TextField.tokens.js +1 -0
  74. package/emotion/es/components/TextField/variations/_read-only/base.js +2 -2
  75. package/emotion/es/components/_Icon/Icon.assets/Lock.js +19 -0
  76. package/emotion/es/components/_Icon/Icons/IconChevronLeft.js +8 -3
  77. package/emotion/es/components/_Icon/Icons/IconLock.js +22 -0
  78. package/emotion/es/components/_Icon/index.js +1 -0
  79. package/emotion/es/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +1 -1
  80. package/emotion/es/examples/plasma_b2c/components/Range/Range.config.js +7 -7
  81. package/emotion/es/examples/plasma_b2c/components/Range/Range.stories.tsx +14 -7
  82. package/emotion/es/examples/plasma_b2c/components/TextArea/TextArea.config.js +17 -14
  83. package/emotion/es/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +71 -20
  84. package/emotion/es/examples/plasma_b2c/components/TextField/TextField.config.js +22 -22
  85. package/emotion/es/examples/plasma_b2c/components/TextField/TextField.stories.tsx +92 -26
  86. package/emotion/es/examples/plasma_b2c/components/Tokens/Tokens.stories.tsx +22 -28
  87. package/emotion/es/examples/plasma_b2c/components/Tokens/Tokens.styles.js +14 -14
  88. package/emotion/es/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +1 -1
  89. package/emotion/es/examples/plasma_web/components/Range/Range.config.js +7 -7
  90. package/emotion/es/examples/plasma_web/components/Range/Range.stories.tsx +14 -7
  91. package/emotion/es/examples/plasma_web/components/TextArea/TextArea.stories.tsx +71 -20
  92. package/emotion/es/examples/plasma_web/components/TextField/TextField.config.js +22 -22
  93. package/emotion/es/examples/plasma_web/components/TextField/TextField.stories.tsx +85 -25
  94. package/emotion/es/examples/plasma_web/components/Tokens/Tokens.stories.tsx +22 -28
  95. package/emotion/es/examples/plasma_web/components/Tokens/Tokens.styles.js +14 -14
  96. package/es/components/Autocomplete/Autocomplete.css +1 -1
  97. package/es/components/Combobox/ComboboxNew/Combobox.css +1 -1
  98. package/es/components/DatePicker/RangeDate/RangeDate.css +2 -2
  99. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +2 -2
  100. package/es/components/DatePicker/SingleDate/SingleDate.css +1 -1
  101. package/es/components/Pagination/Pagination.css +1 -1
  102. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +1 -1
  103. package/es/components/Range/Range.css +2 -2
  104. package/es/components/Range/Range.styles.js.map +1 -1
  105. package/es/components/Range/Range.tokens.js +2 -0
  106. package/es/components/Range/Range.tokens.js.map +1 -1
  107. package/es/components/Range/variations/_readonly/base.js +1 -1
  108. package/es/components/Range/variations/_readonly/base.js.map +1 -1
  109. package/es/components/Range/variations/_readonly/{base_8q1gx8.css → base_1jlqwtc.css} +1 -1
  110. package/es/components/Select/Select.css +1 -1
  111. package/es/components/Select/ui/Target/Target.css +1 -1
  112. package/es/components/Select/ui/Target/ui/Textfield/Textfield.css +1 -1
  113. package/es/components/Slider/Slider.css +1 -1
  114. package/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.css +1 -1
  115. package/es/components/TextArea/TextArea.js +9 -7
  116. package/es/components/TextArea/TextArea.js.map +1 -1
  117. package/es/components/TextArea/TextArea.tokens.js +3 -0
  118. package/es/components/TextArea/TextArea.tokens.js.map +1 -1
  119. package/es/components/TextArea/variations/_clear/base.js.map +1 -1
  120. package/es/components/TextArea/variations/_read-only/base.js +5 -0
  121. package/es/components/TextArea/variations/_read-only/base.js.map +1 -0
  122. package/es/components/TextArea/variations/_read-only/base_om8eo9.css +1 -0
  123. package/es/components/TextField/TextField.tokens.js +1 -0
  124. package/es/components/TextField/TextField.tokens.js.map +1 -1
  125. package/es/components/TextField/variations/_read-only/base.js +1 -1
  126. package/es/components/TextField/variations/_read-only/base.js.map +1 -1
  127. package/es/components/TextField/variations/_read-only/base_sr3to2.css +1 -0
  128. package/es/index.css +4 -2
  129. package/package.json +5 -5
  130. package/styled-components/cjs/components/Range/Range.tokens.js +2 -0
  131. package/styled-components/cjs/components/Range/variations/_readonly/base.js +1 -1
  132. package/styled-components/cjs/components/TextArea/TextArea.js +9 -7
  133. package/styled-components/cjs/components/TextArea/TextArea.tokens.js +3 -0
  134. package/styled-components/cjs/components/TextArea/variations/_read-only/base.js +10 -0
  135. package/styled-components/cjs/components/TextArea/variations/_read-only/tokens.json +1 -0
  136. package/styled-components/cjs/components/TextField/TextField.tokens.js +1 -0
  137. package/styled-components/cjs/components/TextField/variations/_read-only/base.js +1 -1
  138. package/styled-components/cjs/components/_Icon/Icon.assets/Lock.js +26 -0
  139. package/styled-components/cjs/components/_Icon/Icons/IconChevronLeft.js +8 -3
  140. package/styled-components/cjs/components/_Icon/Icons/IconLock.js +29 -0
  141. package/styled-components/cjs/components/_Icon/index.js +7 -0
  142. package/styled-components/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +1 -1
  143. package/styled-components/cjs/examples/plasma_b2c/components/Range/Range.config.js +1 -1
  144. package/styled-components/cjs/examples/plasma_b2c/components/Range/Range.stories.tsx +14 -7
  145. package/styled-components/cjs/examples/plasma_b2c/components/TextArea/TextArea.config.js +3 -0
  146. package/styled-components/cjs/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +71 -20
  147. package/styled-components/cjs/examples/plasma_b2c/components/TextField/TextField.config.js +7 -7
  148. package/styled-components/cjs/examples/plasma_b2c/components/TextField/TextField.stories.tsx +92 -26
  149. package/styled-components/cjs/examples/plasma_b2c/components/Tokens/Tokens.stories.tsx +22 -28
  150. package/styled-components/cjs/examples/plasma_b2c/components/Tokens/Tokens.styles.js +2 -2
  151. package/styled-components/cjs/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +1 -1
  152. package/styled-components/cjs/examples/plasma_web/components/Range/Range.config.js +1 -1
  153. package/styled-components/cjs/examples/plasma_web/components/Range/Range.stories.tsx +14 -7
  154. package/styled-components/cjs/examples/plasma_web/components/TextArea/TextArea.stories.tsx +71 -20
  155. package/styled-components/cjs/examples/plasma_web/components/TextField/TextField.config.js +7 -7
  156. package/styled-components/cjs/examples/plasma_web/components/TextField/TextField.stories.tsx +85 -25
  157. package/styled-components/cjs/examples/plasma_web/components/Tokens/Tokens.stories.tsx +22 -28
  158. package/styled-components/cjs/examples/plasma_web/components/Tokens/Tokens.styles.js +2 -2
  159. package/styled-components/es/components/Range/Range.tokens.js +2 -0
  160. package/styled-components/es/components/Range/variations/_readonly/base.js +1 -1
  161. package/styled-components/es/components/TextArea/TextArea.js +5 -3
  162. package/styled-components/es/components/TextArea/TextArea.tokens.js +3 -0
  163. package/styled-components/es/components/TextArea/variations/_read-only/base.js +4 -0
  164. package/styled-components/es/components/TextArea/variations/_read-only/tokens.json +1 -0
  165. package/styled-components/es/components/TextField/TextField.tokens.js +1 -0
  166. package/styled-components/es/components/TextField/variations/_read-only/base.js +2 -2
  167. package/styled-components/es/components/_Icon/Icon.assets/Lock.js +19 -0
  168. package/styled-components/es/components/_Icon/Icons/IconChevronLeft.js +8 -3
  169. package/styled-components/es/components/_Icon/Icons/IconLock.js +22 -0
  170. package/styled-components/es/components/_Icon/index.js +1 -0
  171. package/styled-components/es/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +1 -1
  172. package/styled-components/es/examples/plasma_b2c/components/Range/Range.config.js +1 -1
  173. package/styled-components/es/examples/plasma_b2c/components/Range/Range.stories.tsx +14 -7
  174. package/styled-components/es/examples/plasma_b2c/components/TextArea/TextArea.config.js +3 -0
  175. package/styled-components/es/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +71 -20
  176. package/styled-components/es/examples/plasma_b2c/components/TextField/TextField.config.js +7 -7
  177. package/styled-components/es/examples/plasma_b2c/components/TextField/TextField.stories.tsx +92 -26
  178. package/styled-components/es/examples/plasma_b2c/components/Tokens/Tokens.stories.tsx +22 -28
  179. package/styled-components/es/examples/plasma_b2c/components/Tokens/Tokens.styles.js +2 -2
  180. package/styled-components/es/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +1 -1
  181. package/styled-components/es/examples/plasma_web/components/Range/Range.config.js +1 -1
  182. package/styled-components/es/examples/plasma_web/components/Range/Range.stories.tsx +14 -7
  183. package/styled-components/es/examples/plasma_web/components/TextArea/TextArea.stories.tsx +71 -20
  184. package/styled-components/es/examples/plasma_web/components/TextField/TextField.config.js +7 -7
  185. package/styled-components/es/examples/plasma_web/components/TextField/TextField.stories.tsx +85 -25
  186. package/styled-components/es/examples/plasma_web/components/Tokens/Tokens.stories.tsx +22 -28
  187. package/styled-components/es/examples/plasma_web/components/Tokens/Tokens.styles.js +2 -2
  188. package/types/components/Range/Range.tokens.d.ts +2 -0
  189. package/types/components/Range/Range.tokens.d.ts.map +1 -1
  190. package/types/components/Range/variations/_readonly/base.d.ts.map +1 -1
  191. package/types/components/TextArea/TextArea.d.ts +3 -2
  192. package/types/components/TextArea/TextArea.d.ts.map +1 -1
  193. package/types/components/TextArea/TextArea.tokens.d.ts +3 -0
  194. package/types/components/TextArea/TextArea.tokens.d.ts.map +1 -1
  195. package/types/components/TextArea/variations/_clear/base.d.ts.map +1 -1
  196. package/types/components/TextArea/variations/_read-only/base.d.ts +2 -0
  197. package/types/components/TextArea/variations/_read-only/base.d.ts.map +1 -0
  198. package/types/components/TextField/TextField.tokens.d.ts +1 -0
  199. package/types/components/TextField/TextField.tokens.d.ts.map +1 -1
  200. package/types/components/TextField/variations/_read-only/base.d.ts.map +1 -1
  201. package/types/components/_Icon/Icon.assets/Lock.d.ts +4 -0
  202. package/types/components/_Icon/Icon.assets/Lock.d.ts.map +1 -0
  203. package/types/components/_Icon/Icons/IconChevronLeft.d.ts.map +1 -1
  204. package/types/components/_Icon/Icons/IconLock.d.ts +4 -0
  205. package/types/components/_Icon/Icons/IconLock.d.ts.map +1 -0
  206. package/types/components/_Icon/index.d.ts +1 -0
  207. package/types/components/_Icon/index.d.ts.map +1 -1
  208. package/types/examples/plasma_b2c/components/Range/Range.config.d.ts.map +1 -1
  209. package/types/examples/plasma_b2c/components/TextArea/TextArea.config.d.ts +3 -0
  210. package/types/examples/plasma_b2c/components/TextArea/TextArea.config.d.ts.map +1 -1
  211. package/types/examples/plasma_b2c/components/TextArea/TextArea.d.ts +3 -0
  212. package/types/examples/plasma_b2c/components/TextArea/TextArea.d.ts.map +1 -1
  213. package/types/examples/plasma_b2c/components/TextField/TextField.config.d.ts.map +1 -1
  214. package/types/examples/plasma_web/components/Range/Range.config.d.ts.map +1 -1
  215. package/types/examples/plasma_web/components/TextField/TextField.config.d.ts.map +1 -1
  216. package/cjs/components/TextField/variations/_read-only/base_oizdmx.css +0 -1
  217. package/es/components/TextField/variations/_read-only/base_oizdmx.css +0 -1
@@ -8,6 +8,7 @@ import { textAreaConfig } from '../../../../components/TextArea';
8
8
  import { mergeConfig } from '../../../../engines';
9
9
  import { WithTheme, argTypesFromConfig } from '../../../_helpers';
10
10
  import type { PopoverPlacement } from '../Popover/Popover';
11
+ import { IconLock } from '../../../../components/_Icon';
11
12
 
12
13
  import { config } from './TextArea.config';
13
14
  import { TextArea } from './TextArea';
@@ -38,6 +39,16 @@ const placements: Array<PopoverPlacement> = [
38
39
  'auto',
39
40
  ];
40
41
 
42
+ const getIcon = (IconComponent: React.ReactElement, size: string, readOnly = false) => {
43
+ const iconSize = size === 'xs' ? 'xs' : 's';
44
+
45
+ if (readOnly) {
46
+ return <IconLock size={iconSize} color="var(--text-secondary)" style={{ opacity: 0.4 }} />;
47
+ }
48
+
49
+ return <IconComponent size={iconSize} color="inherit" />;
50
+ };
51
+
41
52
  type StoryTextAreaPropsCustom = {
42
53
  hasHint?: boolean;
43
54
  enableContentRight?: boolean;
@@ -61,19 +72,25 @@ const meta: Meta<StoryTextAreaProps> = {
61
72
  control: {
62
73
  type: 'boolean',
63
74
  },
64
- if: { arg: 'optional', truthy: false },
75
+ if: {
76
+ arg: 'optional',
77
+ truthy: false,
78
+ },
65
79
  },
66
80
  optional: {
67
81
  control: {
68
82
  type: 'boolean',
69
83
  },
70
- if: { arg: 'required', truthy: false },
84
+ if: {
85
+ arg: 'required',
86
+ truthy: false,
87
+ },
71
88
  },
72
89
  size: {
73
90
  options: sizes,
74
91
  defaultValue: 'm',
75
92
  control: {
76
- type: 'select',
93
+ type: 'inline-radio',
77
94
  },
78
95
  },
79
96
  view: {
@@ -92,19 +109,28 @@ const meta: Meta<StoryTextAreaProps> = {
92
109
  control: {
93
110
  type: 'boolean',
94
111
  },
95
- if: { arg: 'clear', truthy: true },
112
+ if: {
113
+ arg: 'clear',
114
+ truthy: true,
115
+ },
96
116
  },
97
117
  cols: {
98
118
  control: {
99
119
  type: 'number',
100
120
  },
101
- if: { arg: 'clear', truthy: false },
121
+ if: {
122
+ arg: 'clear',
123
+ truthy: false,
124
+ },
102
125
  },
103
126
  rows: {
104
127
  control: {
105
128
  type: 'number',
106
129
  },
107
- if: { arg: 'clear', truthy: false },
130
+ if: {
131
+ arg: 'clear',
132
+ truthy: false,
133
+ },
108
134
  },
109
135
  hasHint: {
110
136
  control: {
@@ -113,47 +139,65 @@ const meta: Meta<StoryTextAreaProps> = {
113
139
  },
114
140
  hintText: {
115
141
  control: { type: 'text' },
116
- if: { arg: 'hasHint', truthy: true },
142
+ if: {
143
+ arg: 'hasHint',
144
+ truthy: true,
145
+ },
117
146
  },
118
147
  hintView: {
119
148
  options: hintViews,
120
149
  control: {
121
150
  type: 'select',
122
151
  },
123
- if: { arg: 'hasHint', truthy: true },
152
+ if: {
153
+ arg: 'hasHint',
154
+ truthy: true,
155
+ },
124
156
  },
125
157
  hintSize: {
126
158
  options: hintSizes,
127
159
  control: {
128
160
  type: 'select',
129
161
  },
130
- if: { arg: 'hasHint', truthy: true },
162
+ if: {
163
+ arg: 'hasHint',
164
+ truthy: true,
165
+ },
131
166
  },
132
167
  hintTrigger: {
133
168
  options: hintTriggers,
134
169
  control: {
135
170
  type: 'inline-radio',
136
171
  },
137
- if: { arg: 'hasHint', truthy: true },
172
+ if: {
173
+ arg: 'hasHint',
174
+ truthy: true,
175
+ },
138
176
  },
139
177
  hintPlacement: {
140
178
  options: placements,
141
179
  control: {
142
180
  type: 'select',
143
181
  },
144
- if: { arg: 'hasHint', truthy: true },
182
+ if: {
183
+ arg: 'hasHint',
184
+ truthy: true,
185
+ },
145
186
  mappers: placements,
146
187
  },
147
188
  hintHasArrow: {
148
189
  control: { type: 'boolean' },
149
- if: { arg: 'hasHint', truthy: true },
190
+ if: {
191
+ arg: 'hasHint',
192
+ truthy: true,
193
+ },
150
194
  },
151
195
  hintWidth: {
152
196
  control: { type: 'text' },
153
- if: { arg: 'hasHint', truthy: true },
154
- },
155
- helperText: {
156
- control: { type: 'text' },
197
+ if: {
198
+ arg: 'hasHint',
199
+ truthy: true,
200
+ },
157
201
  },
158
202
  width: {
159
203
  control: { type: 'text' },
@@ -172,6 +216,7 @@ const meta: Meta<StoryTextAreaProps> = {
172
216
  },
173
217
  ...disableProps([
174
218
  'helperBlock',
219
+ 'helperText',
175
220
  '$isFocused',
176
221
  'contentRight',
177
222
  'autoComplete',
@@ -195,6 +240,7 @@ const meta: Meta<StoryTextAreaProps> = {
195
240
  'hintOffset',
196
241
  'hintContentLeft',
197
242
  'hintView',
243
+ 'hintOpened',
198
244
  ]),
199
245
  },
200
246
  args: {
@@ -238,19 +284,24 @@ const onBlur = action('onBlur');
238
284
  const StoryDefault = (props: StoryTextAreaProps) => {
239
285
  const [value, setValue] = useState('Значение поля');
240
286
 
241
- const iconSize = props.size === 'xs' ? 'xs' : 's';
242
-
243
287
  return (
244
288
  <TextArea
245
289
  value={value}
246
- contentRight={props.enableContentRight ? <IconPlaceholder size={iconSize} /> : undefined}
290
+ contentRight={
291
+ props.enableContentRight || props.readOnly
292
+ ? getIcon(IconPlaceholder, props.size, props.readOnly)
293
+ : undefined
294
+ }
247
295
  onChange={(e) => {
248
296
  setValue(e.target.value);
249
297
  onChange(e);
250
298
  }}
251
299
  onFocus={onFocus}
252
300
  onBlur={onBlur}
253
- style={{ width: '70%', margin: '0 auto' }}
301
+ style={{
302
+ width: '70%',
303
+ margin: '0 auto',
304
+ }}
254
305
  {...props}
255
306
  />
256
307
  );
@@ -33,12 +33,12 @@ var config = exports.config = {
33
33
  "true": /*#__PURE__*/(0, _styledComponents.css)([""])
34
34
  },
35
35
  chipView: {
36
- "default": /*#__PURE__*/(0, _styledComponents.css)(["", ":var(--inverse-text-primary);", ":var(--surface-solid-default);", ":var(--inverse-text-primary);", ":var(--surface-solid-default-hover);", ":var(--inverse-text-primary);", ":var(--surface-solid-default-active);", ":var(--surface-solid-default);", ":var(--inverse-text-primary);", ":var(--surface-solid-default);", ":var(--inverse-text-primary);", ":var(--inverse-text-secondary);", ":0.72;"], _TextField.textFieldTokens.chipColor, _TextField.textFieldTokens.chipBackground, _TextField.textFieldTokens.chipColorHover, _TextField.textFieldTokens.chipBackgroundHover, _TextField.textFieldTokens.chipColorActive, _TextField.textFieldTokens.chipBackgroundActive, _TextField.textFieldTokens.chipBackgroundReadOnly, _TextField.textFieldTokens.chipColorReadOnly, _TextField.textFieldTokens.chipBackgroundReadOnlyHover, _TextField.textFieldTokens.chipColorReadOnlyHover, _TextField.textFieldTokens.chipCloseIconColor, _TextField.textFieldTokens.chipOpacityReadonly),
37
- secondary: /*#__PURE__*/(0, _styledComponents.css)(["", ":var(--text-primary);", ":var(--surface-transparent-secondary);", ":var(--text-primary);", ":var(--surface-transparent-secondary-hover);", ":var(--text-primary);", ":var(--surface-transparent-secondary-active);", ":var(--surface-transparent-secondary);", ":var(--text-primary);", ":var(--surface-transparent-secondary);", ":var(--text-primary);", ":var(--text-secondary);", ":0.72;"], _TextField.textFieldTokens.chipColor, _TextField.textFieldTokens.chipBackground, _TextField.textFieldTokens.chipColorHover, _TextField.textFieldTokens.chipBackgroundHover, _TextField.textFieldTokens.chipColorActive, _TextField.textFieldTokens.chipBackgroundActive, _TextField.textFieldTokens.chipBackgroundReadOnly, _TextField.textFieldTokens.chipColorReadOnly, _TextField.textFieldTokens.chipBackgroundReadOnlyHover, _TextField.textFieldTokens.chipColorReadOnlyHover, _TextField.textFieldTokens.chipCloseIconColor, _TextField.textFieldTokens.chipOpacityReadonly),
38
- accent: /*#__PURE__*/(0, _styledComponents.css)(["", ":var(--on-dark-text-primary);", ":var(--surface-accent);", ":var(--on-dark-text-primary);", ":var(--surface-accent-hover);", ":var(--on-dark-text-primary);", ":var(--surface-accent-active);", ":var(--surface-accent);", ":var(--on-dark-text-primary);", ":var(--surface-accent);", ":var(--on-dark-text-primary);", ":var(--on-dark-text-secondary);", ":0.72;"], _TextField.textFieldTokens.chipColor, _TextField.textFieldTokens.chipBackground, _TextField.textFieldTokens.chipColorHover, _TextField.textFieldTokens.chipBackgroundHover, _TextField.textFieldTokens.chipColorActive, _TextField.textFieldTokens.chipBackgroundActive, _TextField.textFieldTokens.chipBackgroundReadOnly, _TextField.textFieldTokens.chipColorReadOnly, _TextField.textFieldTokens.chipBackgroundReadOnlyHover, _TextField.textFieldTokens.chipColorReadOnlyHover, _TextField.textFieldTokens.chipCloseIconColor, _TextField.textFieldTokens.chipOpacityReadonly),
39
- positive: /*#__PURE__*/(0, _styledComponents.css)(["", ":var(--on-dark-text-primary);", ":var(--surface-positive);", ":var(--on-dark-text-primary);", ":var(--surface-positive-hover);", ":var(--on-dark-text-primary);", ":var(--surface-positive-active);", ":var(--surface-positive);", ":var(--on-dark-text-primary);", ":var(--surface-positive);", ":var(--on-dark-text-primary);", ":var(--on-dark-text-secondary);", ":0.72;"], _TextField.textFieldTokens.chipColor, _TextField.textFieldTokens.chipBackground, _TextField.textFieldTokens.chipColorHover, _TextField.textFieldTokens.chipBackgroundHover, _TextField.textFieldTokens.chipColorActive, _TextField.textFieldTokens.chipBackgroundActive, _TextField.textFieldTokens.chipBackgroundReadOnly, _TextField.textFieldTokens.chipColorReadOnly, _TextField.textFieldTokens.chipBackgroundReadOnlyHover, _TextField.textFieldTokens.chipColorReadOnlyHover, _TextField.textFieldTokens.chipCloseIconColor, _TextField.textFieldTokens.chipOpacityReadonly),
40
- warning: /*#__PURE__*/(0, _styledComponents.css)(["", ":var(--on-dark-text-primary);", ":var(--surface-warning);", ":var(--on-dark-text-primary);", ":var(--surface-warning-hover);", ":var(--on-dark-text-primary);", ":var(--surface-warning-active);", ":var(--surface-warning);", ":var(--on-dark-text-primary);", ":var(--surface-warning);", ":var(--on-dark-text-primary);", ":var(--on-dark-text-secondary);", ":0.72;"], _TextField.textFieldTokens.chipColor, _TextField.textFieldTokens.chipBackground, _TextField.textFieldTokens.chipColorHover, _TextField.textFieldTokens.chipBackgroundHover, _TextField.textFieldTokens.chipColorActive, _TextField.textFieldTokens.chipBackgroundActive, _TextField.textFieldTokens.chipBackgroundReadOnly, _TextField.textFieldTokens.chipColorReadOnly, _TextField.textFieldTokens.chipBackgroundReadOnlyHover, _TextField.textFieldTokens.chipColorReadOnlyHover, _TextField.textFieldTokens.chipCloseIconColor, _TextField.textFieldTokens.chipOpacityReadonly),
41
- negative: /*#__PURE__*/(0, _styledComponents.css)(["", ":var(--on-dark-text-primary);", ":var(--surface-negative);", ":var(--on-dark-text-primary);", ":var(--surface-negative-hover);", ":var(--on-dark-text-primary);", ":var(--surface-negative-active);", ":var(--surface-negative);", ":var(--on-dark-text-primary);", ":var(--surface-negative);", ":var(--on-dark-text-primary);", ":var(--on-dark-text-secondary);", ":0.72;"], _TextField.textFieldTokens.chipColor, _TextField.textFieldTokens.chipBackground, _TextField.textFieldTokens.chipColorHover, _TextField.textFieldTokens.chipBackgroundHover, _TextField.textFieldTokens.chipColorActive, _TextField.textFieldTokens.chipBackgroundActive, _TextField.textFieldTokens.chipBackgroundReadOnly, _TextField.textFieldTokens.chipColorReadOnly, _TextField.textFieldTokens.chipBackgroundReadOnlyHover, _TextField.textFieldTokens.chipColorReadOnlyHover, _TextField.textFieldTokens.chipCloseIconColor, _TextField.textFieldTokens.chipOpacityReadonly)
36
+ "default": /*#__PURE__*/(0, _styledComponents.css)(["", ":var(--inverse-text-primary);", ":var(--surface-solid-default);", ":var(--inverse-text-primary);", ":var(--surface-solid-default-hover);", ":var(--inverse-text-primary);", ":var(--surface-solid-default-active);", ":var(--surface-solid-default);", ":var(--inverse-text-primary);", ":var(--surface-solid-default);", ":var(--inverse-text-primary);", ":var(--inverse-text-secondary);", ":1;"], _TextField.textFieldTokens.chipColor, _TextField.textFieldTokens.chipBackground, _TextField.textFieldTokens.chipColorHover, _TextField.textFieldTokens.chipBackgroundHover, _TextField.textFieldTokens.chipColorActive, _TextField.textFieldTokens.chipBackgroundActive, _TextField.textFieldTokens.chipBackgroundReadOnly, _TextField.textFieldTokens.chipColorReadOnly, _TextField.textFieldTokens.chipBackgroundReadOnlyHover, _TextField.textFieldTokens.chipColorReadOnlyHover, _TextField.textFieldTokens.chipCloseIconColor, _TextField.textFieldTokens.chipOpacityReadonly),
37
+ secondary: /*#__PURE__*/(0, _styledComponents.css)(["", ":var(--text-primary);", ":var(--surface-transparent-secondary);", ":var(--text-primary);", ":var(--surface-transparent-secondary-hover);", ":var(--text-primary);", ":var(--surface-transparent-secondary-active);", ":var(--surface-transparent-secondary);", ":var(--text-primary);", ":var(--surface-transparent-secondary);", ":var(--text-primary);", ":var(--text-secondary);", ":1;"], _TextField.textFieldTokens.chipColor, _TextField.textFieldTokens.chipBackground, _TextField.textFieldTokens.chipColorHover, _TextField.textFieldTokens.chipBackgroundHover, _TextField.textFieldTokens.chipColorActive, _TextField.textFieldTokens.chipBackgroundActive, _TextField.textFieldTokens.chipBackgroundReadOnly, _TextField.textFieldTokens.chipColorReadOnly, _TextField.textFieldTokens.chipBackgroundReadOnlyHover, _TextField.textFieldTokens.chipColorReadOnlyHover, _TextField.textFieldTokens.chipCloseIconColor, _TextField.textFieldTokens.chipOpacityReadonly),
38
+ accent: /*#__PURE__*/(0, _styledComponents.css)(["", ":var(--on-dark-text-primary);", ":var(--surface-accent);", ":var(--on-dark-text-primary);", ":var(--surface-accent-hover);", ":var(--on-dark-text-primary);", ":var(--surface-accent-active);", ":var(--surface-accent);", ":var(--on-dark-text-primary);", ":var(--surface-accent);", ":var(--on-dark-text-primary);", ":var(--on-dark-text-secondary);", ":1;"], _TextField.textFieldTokens.chipColor, _TextField.textFieldTokens.chipBackground, _TextField.textFieldTokens.chipColorHover, _TextField.textFieldTokens.chipBackgroundHover, _TextField.textFieldTokens.chipColorActive, _TextField.textFieldTokens.chipBackgroundActive, _TextField.textFieldTokens.chipBackgroundReadOnly, _TextField.textFieldTokens.chipColorReadOnly, _TextField.textFieldTokens.chipBackgroundReadOnlyHover, _TextField.textFieldTokens.chipColorReadOnlyHover, _TextField.textFieldTokens.chipCloseIconColor, _TextField.textFieldTokens.chipOpacityReadonly),
39
+ positive: /*#__PURE__*/(0, _styledComponents.css)(["", ":var(--on-dark-text-primary);", ":var(--surface-positive);", ":var(--on-dark-text-primary);", ":var(--surface-positive-hover);", ":var(--on-dark-text-primary);", ":var(--surface-positive-active);", ":var(--surface-positive);", ":var(--on-dark-text-primary);", ":var(--surface-positive);", ":var(--on-dark-text-primary);", ":var(--on-dark-text-secondary);", ":1;"], _TextField.textFieldTokens.chipColor, _TextField.textFieldTokens.chipBackground, _TextField.textFieldTokens.chipColorHover, _TextField.textFieldTokens.chipBackgroundHover, _TextField.textFieldTokens.chipColorActive, _TextField.textFieldTokens.chipBackgroundActive, _TextField.textFieldTokens.chipBackgroundReadOnly, _TextField.textFieldTokens.chipColorReadOnly, _TextField.textFieldTokens.chipBackgroundReadOnlyHover, _TextField.textFieldTokens.chipColorReadOnlyHover, _TextField.textFieldTokens.chipCloseIconColor, _TextField.textFieldTokens.chipOpacityReadonly),
40
+ warning: /*#__PURE__*/(0, _styledComponents.css)(["", ":var(--on-dark-text-primary);", ":var(--surface-warning);", ":var(--on-dark-text-primary);", ":var(--surface-warning-hover);", ":var(--on-dark-text-primary);", ":var(--surface-warning-active);", ":var(--surface-warning);", ":var(--on-dark-text-primary);", ":var(--surface-warning);", ":var(--on-dark-text-primary);", ":var(--on-dark-text-secondary);", ":1;"], _TextField.textFieldTokens.chipColor, _TextField.textFieldTokens.chipBackground, _TextField.textFieldTokens.chipColorHover, _TextField.textFieldTokens.chipBackgroundHover, _TextField.textFieldTokens.chipColorActive, _TextField.textFieldTokens.chipBackgroundActive, _TextField.textFieldTokens.chipBackgroundReadOnly, _TextField.textFieldTokens.chipColorReadOnly, _TextField.textFieldTokens.chipBackgroundReadOnlyHover, _TextField.textFieldTokens.chipColorReadOnlyHover, _TextField.textFieldTokens.chipCloseIconColor, _TextField.textFieldTokens.chipOpacityReadonly),
41
+ negative: /*#__PURE__*/(0, _styledComponents.css)(["", ":var(--on-dark-text-primary);", ":var(--surface-negative);", ":var(--on-dark-text-primary);", ":var(--surface-negative-hover);", ":var(--on-dark-text-primary);", ":var(--surface-negative-active);", ":var(--surface-negative);", ":var(--on-dark-text-primary);", ":var(--surface-negative);", ":var(--on-dark-text-primary);", ":var(--on-dark-text-secondary);", ":1;"], _TextField.textFieldTokens.chipColor, _TextField.textFieldTokens.chipBackground, _TextField.textFieldTokens.chipColorHover, _TextField.textFieldTokens.chipBackgroundHover, _TextField.textFieldTokens.chipColorActive, _TextField.textFieldTokens.chipBackgroundActive, _TextField.textFieldTokens.chipBackgroundReadOnly, _TextField.textFieldTokens.chipColorReadOnly, _TextField.textFieldTokens.chipBackgroundReadOnlyHover, _TextField.textFieldTokens.chipColorReadOnlyHover, _TextField.textFieldTokens.chipCloseIconColor, _TextField.textFieldTokens.chipOpacityReadonly)
42
42
  },
43
43
  hintView: {
44
44
  "default": /*#__PURE__*/(0, _styledComponents.css)(["", ":var(--surface-solid-card-brightness);", ":var(--shadow-down-hard-m,0px 4px 12px 0px rgba(0,0,0,0.16),0px 1px 4px 0px rgba(0,0,0,0.08));", ":var(--text-primary);", ":var(--surface-solid-card);"], _TextField.textFieldTokens.tooltipBackgroundColor, _TextField.textFieldTokens.tooltipBoxShadow, _TextField.textFieldTokens.tooltipColor, _TextField.textFieldTokens.tooltipArrowBackground)
@@ -51,7 +51,7 @@ var config = exports.config = {
51
51
  "true": /*#__PURE__*/(0, _styledComponents.css)(["", ":0.4;"], _TextField.textFieldTokens.disabledOpacity)
52
52
  },
53
53
  readOnly: {
54
- "true": /*#__PURE__*/(0, _styledComponents.css)(["", ":var(--text-secondary);", ":var(--surface-clear);", ":var(--surface-transparent-tertiary);", ":var(--text-secondary);", ":var(--text-secondary);", ":var(--text-secondary);", ":var(--text-secondary);"], _TextField.textFieldTokens.colorReadOnly, _TextField.textFieldTokens.backgroundColorReadOnly, _TextField.textFieldTokens.borderColorReadOnly, _TextField.textFieldTokens.placeholderColorReadOnly, _TextField.textFieldTokens.leftHelperColorReadOnly, _TextField.textFieldTokens.titleCaptionColorReadOnly, _TextField.textFieldTokens.labelColorReadOnly)
54
+ "true": /*#__PURE__*/(0, _styledComponents.css)(["", ":0.4;", ":var(--text-primary);", ":var(--surface-transparent-primary);", ":var(--surface-transparent-tertiary);", ":var(--text-secondary);", ":var(--text-secondary);", ":var(--text-secondary);", ":var(--text-primary);", ":var(--surface-transparent-primary);"], _TextField.textFieldTokens.readOnlyOpacity, _TextField.textFieldTokens.colorReadOnly, _TextField.textFieldTokens.backgroundColorReadOnly, _TextField.textFieldTokens.borderColorReadOnly, _TextField.textFieldTokens.placeholderColorReadOnly, _TextField.textFieldTokens.leftHelperColorReadOnly, _TextField.textFieldTokens.titleCaptionColorReadOnly, _TextField.textFieldTokens.labelColorReadOnly, _TextField.textFieldTokens.dividerColorReadOnly)
55
55
  }
56
56
  }
57
57
  };
@@ -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
  };
@@ -69,11 +69,11 @@ const StoryDemo = ({ context }) => {
69
69
 
70
70
  return (
71
71
  <>
72
- {Object.entries(groupedTokens).map(([category, subcategoties]) => (
72
+ {Object.entries(groupedTokens).map(([category, value]) => (
73
73
  <CategoryContainer key={category}>
74
74
  <Category>{category}</Category>
75
75
  <Accordion view="clear" size="s" stretching="filled" defaultActiveEventKey={[0]}>
76
- {Object.entries(subcategoties).map(([subcategory, subcategoryTokens], index) => (
76
+ {Object.entries(value).map(([subcategory, value2], index) => (
77
77
  <StyledAccordionItem
78
78
  key={subcategory}
79
79
  eventKey={index}
@@ -85,37 +85,31 @@ const StoryDemo = ({ context }) => {
85
85
  <ColorCircle disableShadow />
86
86
  Color
87
87
  </ColumnTitle>
88
- <ColumnTitle>Tone</ColumnTitle>
89
88
  <ColumnTitle>Opacity</ColumnTitle>
90
89
  </AccordionInfo>
91
90
  }
92
91
  >
93
92
  <TokenInfoWrapper>
94
- {Object.entries(subcategoryTokens).map(
95
- ([token, { value, opacity, tone, colorName }]) => (
96
- <AccordionInfo key={token}>
97
- <TokenInfo className="copy" onClick={() => copyToClipboard(token)}>
98
- {token}
99
- </TokenInfo>
100
- <TokenInfo
101
- className="color copy"
102
- onClick={() => copyToClipboard(value, opacity?.alpha)}
103
- >
104
- <ColorCircle background={value} />
105
- <div>
106
- {value.includes('gradient') ? 'Градиент' : colorName || value}
107
- {!colorName && opacity && (
108
- <OpacityPart>{opacity.alpha}</OpacityPart>
109
- )}
110
- </div>
111
- </TokenInfo>
112
- <TokenInfo className="no-interaction">
113
- {tone !== 'none' && tone}
114
- </TokenInfo>
115
- <TokenInfo className="no-interaction">{opacity?.parsedAlpha}</TokenInfo>
116
- </AccordionInfo>
117
- ),
118
- )}
93
+ {Object.entries(value2).map(([token, { value: value3, opacity }]) => (
94
+ <AccordionInfo key={token}>
95
+ <TokenInfo className="copy" onClick={() => copyToClipboard(token)}>
96
+ {token}
97
+ </TokenInfo>
98
+ <TokenInfo
99
+ className="color copy"
100
+ onClick={() => copyToClipboard(value3, opacity?.alpha)}
101
+ >
102
+ <ColorCircle background={value3} />
103
+ <div>
104
+ {value3.includes('gradient') ? 'Градиент' : value3}
105
+ {opacity && <OpacityPart>{opacity.alpha}</OpacityPart>}
106
+ </div>
107
+ </TokenInfo>
108
+ {opacity && (
109
+ <TokenInfo className="opacity">{opacity.parsedAlpha}</TokenInfo>
110
+ )}
111
+ </AccordionInfo>
112
+ ))}
119
113
  </TokenInfoWrapper>
120
114
  </StyledAccordionItem>
121
115
  ))}
@@ -16,7 +16,7 @@ var Category = exports.Category = /*#__PURE__*/_styledComponents["default"].h2.w
16
16
  })(["margin:0 0 1.125rem 1.5rem;", ";"], _mixins.h2);
17
17
  var AccordionInfo = exports.AccordionInfo = /*#__PURE__*/_styledComponents["default"].div.withConfig({
18
18
  componentId: "plasma-new-hope__sc-1ptu1dv-2"
19
- })(["display:grid;grid-template-columns:18rem 7.938rem 2.375rem 3.813rem;grid-column-gap:1.5rem;font-family:var(--plasma-typo-body-m-font-family);font-size:var(--plasma-typo-body-m-font-size);font-style:var(--plasma-typo-body-m-font-style);font-weight:var(--plasma-typo-body-m-font-weight);letter-spacing:var(--plasma-typo-body-m-letter-spacing);line-height:var(--plasma-typo-body-m-line-height);"]);
19
+ })(["display:grid;grid-template-columns:18rem 7.938rem 3.813rem;grid-column-gap:1.5rem;font-family:var(--plasma-typo-body-m-font-family);font-size:var(--plasma-typo-body-m-font-size);font-style:var(--plasma-typo-body-m-font-style);font-weight:var(--plasma-typo-body-m-font-weight);letter-spacing:var(--plasma-typo-body-m-letter-spacing);line-height:var(--plasma-typo-body-m-line-height);"]);
20
20
  var Subcategory = exports.Subcategory = /*#__PURE__*/_styledComponents["default"].div.withConfig({
21
21
  componentId: "plasma-new-hope__sc-1ptu1dv-3"
22
22
  })(["color:var(--text-secondary);"]);
@@ -34,7 +34,7 @@ var OpacityPart = exports.OpacityPart = /*#__PURE__*/_styledComponents["default"
34
34
  })(["color:var(--text-secondary);padding-left:0.125rem;"]);
35
35
  var TokenInfo = exports.TokenInfo = /*#__PURE__*/_styledComponents["default"].div.withConfig({
36
36
  componentId: "plasma-new-hope__sc-1ptu1dv-8"
37
- })(["color:var(--text-paragraph);cursor:default;&.copy{cursor:copy;}&.color{display:flex;align-items:center;gap:0.5rem;}&.no-interaction{text-align:right;}&:not(.no-interaction):hover{color:var(--text-paragraph-hover);", "{color:var(--text-paragraph-hover);}}&:not(.no-interaction):active{color:var(--text-paragraph-active);", "{color:var(--text-secondary-active);}}"], OpacityPart, OpacityPart);
37
+ })(["color:var(--text-paragraph);cursor:default;&.copy{cursor:copy;}&.color{display:flex;align-items:center;gap:0.5rem;}&.opacity{text-align:right;}&:not(.opacity):hover{color:var(--text-paragraph-hover);", "{color:var(--text-paragraph-hover);}}&:not(.opacity):active{color:var(--text-paragraph-active);", "{color:var(--text-secondary-active);}}"], OpacityPart, OpacityPart);
38
38
  var ColorCircle = exports.ColorCircle = /*#__PURE__*/_styledComponents["default"].div.withConfig({
39
39
  componentId: "plasma-new-hope__sc-1ptu1dv-9"
40
40
  })(["width:1.25rem;height:1.25rem;border-radius:50%;background:", ";box-shadow:", ";"], function (props) {
@@ -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 */