@salutejs/plasma-new-hope 0.262.0-canary.1770.13273833712.0 → 0.262.0-dev.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (202) 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/Combobox/ComboboxNew/Combobox.js +9 -3
  4. package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  5. package/cjs/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +39 -0
  6. package/cjs/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js.map +1 -0
  7. package/cjs/components/DatePicker/RangeDate/RangeDate.css +2 -2
  8. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +2 -2
  9. package/cjs/components/DatePicker/SingleDate/SingleDate.css +1 -1
  10. package/cjs/components/Pagination/Pagination.css +1 -1
  11. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +1 -1
  12. package/cjs/components/Range/Range.css +2 -2
  13. package/cjs/components/Range/Range.styles.js.map +1 -1
  14. package/cjs/components/Range/Range.tokens.js +0 -2
  15. package/cjs/components/Range/Range.tokens.js.map +1 -1
  16. package/cjs/components/Range/variations/_readonly/base.js +1 -1
  17. package/cjs/components/Range/variations/_readonly/base.js.map +1 -1
  18. package/{es/components/Range/variations/_readonly/base_1jlqwtc.css → cjs/components/Range/variations/_readonly/base_8q1gx8.css} +1 -1
  19. package/cjs/components/Select/Select.css +1 -1
  20. package/cjs/components/Select/ui/Target/Target.css +1 -1
  21. package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.css +1 -1
  22. package/cjs/components/Slider/Slider.css +1 -1
  23. package/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.css +1 -1
  24. package/cjs/components/TextArea/TextArea.js +7 -9
  25. package/cjs/components/TextArea/TextArea.js.map +1 -1
  26. package/cjs/components/TextArea/TextArea.tokens.js +0 -1
  27. package/cjs/components/TextArea/TextArea.tokens.js.map +1 -1
  28. package/cjs/components/TextField/variations/_read-only/base.js +1 -1
  29. package/cjs/components/TextField/variations/_read-only/base.js.map +1 -1
  30. package/cjs/components/TextField/variations/_read-only/{base_bvfe3o.css → base_oizdmx.css} +1 -1
  31. package/cjs/index.css +2 -4
  32. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +8 -3
  33. package/emotion/cjs/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +33 -0
  34. package/emotion/cjs/components/Combobox/ComboboxNew/ui/index.js +11 -0
  35. package/emotion/cjs/components/Range/Range.styles.js +10 -10
  36. package/emotion/cjs/components/Range/Range.tokens.js +0 -2
  37. package/emotion/cjs/components/Range/variations/_readonly/base.js +1 -1
  38. package/emotion/cjs/components/TextArea/TextArea.js +8 -10
  39. package/emotion/cjs/components/TextArea/TextArea.tokens.js +0 -1
  40. package/emotion/cjs/components/TextField/variations/_read-only/base.js +1 -1
  41. package/emotion/cjs/components/_Icon/index.js +0 -7
  42. package/emotion/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +1 -1
  43. package/emotion/cjs/examples/plasma_b2c/components/Range/Range.config.js +7 -7
  44. package/emotion/cjs/examples/plasma_b2c/components/Range/Range.stories.tsx +1 -1
  45. package/emotion/cjs/examples/plasma_b2c/components/TextArea/TextArea.config.js +13 -16
  46. package/emotion/cjs/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +20 -71
  47. package/emotion/cjs/examples/plasma_b2c/components/TextField/TextField.config.js +22 -22
  48. package/emotion/cjs/examples/plasma_b2c/components/TextField/TextField.stories.tsx +26 -92
  49. package/emotion/cjs/examples/plasma_web/components/Range/Range.config.js +7 -7
  50. package/emotion/cjs/examples/plasma_web/components/TextArea/TextArea.stories.tsx +20 -72
  51. package/emotion/cjs/examples/plasma_web/components/TextField/TextField.config.js +22 -22
  52. package/emotion/cjs/examples/plasma_web/components/TextField/TextField.stories.tsx +25 -85
  53. package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +9 -4
  54. package/emotion/es/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +26 -0
  55. package/emotion/es/components/Combobox/ComboboxNew/ui/index.js +2 -1
  56. package/emotion/es/components/Range/Range.styles.js +10 -10
  57. package/emotion/es/components/Range/Range.tokens.js +0 -2
  58. package/emotion/es/components/Range/variations/_readonly/base.js +1 -1
  59. package/emotion/es/components/TextArea/TextArea.js +4 -6
  60. package/emotion/es/components/TextArea/TextArea.tokens.js +0 -1
  61. package/emotion/es/components/TextField/variations/_read-only/base.js +2 -2
  62. package/emotion/es/components/_Icon/index.js +0 -1
  63. package/emotion/es/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +1 -1
  64. package/emotion/es/examples/plasma_b2c/components/Range/Range.config.js +7 -7
  65. package/emotion/es/examples/plasma_b2c/components/Range/Range.stories.tsx +1 -1
  66. package/emotion/es/examples/plasma_b2c/components/TextArea/TextArea.config.js +13 -16
  67. package/emotion/es/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +20 -71
  68. package/emotion/es/examples/plasma_b2c/components/TextField/TextField.config.js +22 -22
  69. package/emotion/es/examples/plasma_b2c/components/TextField/TextField.stories.tsx +26 -92
  70. package/emotion/es/examples/plasma_web/components/Range/Range.config.js +7 -7
  71. package/emotion/es/examples/plasma_web/components/TextArea/TextArea.stories.tsx +20 -72
  72. package/emotion/es/examples/plasma_web/components/TextField/TextField.config.js +22 -22
  73. package/emotion/es/examples/plasma_web/components/TextField/TextField.stories.tsx +25 -85
  74. package/es/components/Autocomplete/Autocomplete.css +1 -1
  75. package/es/components/Combobox/ComboboxNew/Combobox.css +1 -1
  76. package/es/components/Combobox/ComboboxNew/Combobox.js +9 -3
  77. package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  78. package/es/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +30 -0
  79. package/es/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js.map +1 -0
  80. package/es/components/DatePicker/RangeDate/RangeDate.css +2 -2
  81. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +2 -2
  82. package/es/components/DatePicker/SingleDate/SingleDate.css +1 -1
  83. package/es/components/Pagination/Pagination.css +1 -1
  84. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +1 -1
  85. package/es/components/Range/Range.css +2 -2
  86. package/es/components/Range/Range.styles.js.map +1 -1
  87. package/es/components/Range/Range.tokens.js +0 -2
  88. package/es/components/Range/Range.tokens.js.map +1 -1
  89. package/es/components/Range/variations/_readonly/base.js +1 -1
  90. package/es/components/Range/variations/_readonly/base.js.map +1 -1
  91. package/{cjs/components/Range/variations/_readonly/base_1jlqwtc.css → es/components/Range/variations/_readonly/base_8q1gx8.css} +1 -1
  92. package/es/components/Select/Select.css +1 -1
  93. package/es/components/Select/ui/Target/Target.css +1 -1
  94. package/es/components/Select/ui/Target/ui/Textfield/Textfield.css +1 -1
  95. package/es/components/Slider/Slider.css +1 -1
  96. package/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.css +1 -1
  97. package/es/components/TextArea/TextArea.js +7 -9
  98. package/es/components/TextArea/TextArea.js.map +1 -1
  99. package/es/components/TextArea/TextArea.tokens.js +0 -1
  100. package/es/components/TextArea/TextArea.tokens.js.map +1 -1
  101. package/es/components/TextField/variations/_read-only/base.js +1 -1
  102. package/es/components/TextField/variations/_read-only/base.js.map +1 -1
  103. package/es/components/TextField/variations/_read-only/{base_bvfe3o.css → base_oizdmx.css} +1 -1
  104. package/es/index.css +2 -4
  105. package/package.json +3 -2
  106. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +8 -3
  107. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +33 -0
  108. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/index.js +11 -0
  109. package/styled-components/cjs/components/Range/Range.tokens.js +0 -2
  110. package/styled-components/cjs/components/Range/variations/_readonly/base.js +1 -1
  111. package/styled-components/cjs/components/TextArea/TextArea.js +7 -9
  112. package/styled-components/cjs/components/TextArea/TextArea.tokens.js +0 -1
  113. package/styled-components/cjs/components/TextField/variations/_read-only/base.js +1 -1
  114. package/styled-components/cjs/components/_Icon/index.js +0 -7
  115. package/styled-components/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +1 -1
  116. package/styled-components/cjs/examples/plasma_b2c/components/Range/Range.config.js +1 -1
  117. package/styled-components/cjs/examples/plasma_b2c/components/Range/Range.stories.tsx +1 -1
  118. package/styled-components/cjs/examples/plasma_b2c/components/TextArea/TextArea.config.js +0 -3
  119. package/styled-components/cjs/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +20 -71
  120. package/styled-components/cjs/examples/plasma_b2c/components/TextField/TextField.config.js +7 -7
  121. package/styled-components/cjs/examples/plasma_b2c/components/TextField/TextField.stories.tsx +26 -92
  122. package/styled-components/cjs/examples/plasma_web/components/Range/Range.config.js +1 -1
  123. package/styled-components/cjs/examples/plasma_web/components/TextArea/TextArea.stories.tsx +20 -72
  124. package/styled-components/cjs/examples/plasma_web/components/TextField/TextField.config.js +7 -7
  125. package/styled-components/cjs/examples/plasma_web/components/TextField/TextField.stories.tsx +25 -85
  126. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +9 -4
  127. package/styled-components/es/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +26 -0
  128. package/styled-components/es/components/Combobox/ComboboxNew/ui/index.js +2 -1
  129. package/styled-components/es/components/Range/Range.tokens.js +0 -2
  130. package/styled-components/es/components/Range/variations/_readonly/base.js +1 -1
  131. package/styled-components/es/components/TextArea/TextArea.js +3 -5
  132. package/styled-components/es/components/TextArea/TextArea.tokens.js +0 -1
  133. package/styled-components/es/components/TextField/variations/_read-only/base.js +2 -2
  134. package/styled-components/es/components/_Icon/index.js +0 -1
  135. package/styled-components/es/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +1 -1
  136. package/styled-components/es/examples/plasma_b2c/components/Range/Range.config.js +1 -1
  137. package/styled-components/es/examples/plasma_b2c/components/Range/Range.stories.tsx +1 -1
  138. package/styled-components/es/examples/plasma_b2c/components/TextArea/TextArea.config.js +0 -3
  139. package/styled-components/es/examples/plasma_b2c/components/TextArea/TextArea.stories.tsx +20 -71
  140. package/styled-components/es/examples/plasma_b2c/components/TextField/TextField.config.js +7 -7
  141. package/styled-components/es/examples/plasma_b2c/components/TextField/TextField.stories.tsx +26 -92
  142. package/styled-components/es/examples/plasma_web/components/Range/Range.config.js +1 -1
  143. package/styled-components/es/examples/plasma_web/components/TextArea/TextArea.stories.tsx +20 -72
  144. package/styled-components/es/examples/plasma_web/components/TextField/TextField.config.js +7 -7
  145. package/styled-components/es/examples/plasma_web/components/TextField/TextField.stories.tsx +25 -85
  146. package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
  147. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts +6 -0
  148. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts.map +1 -1
  149. package/types/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.d.ts +9 -0
  150. package/types/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.d.ts.map +1 -0
  151. package/types/components/Combobox/ComboboxNew/ui/index.d.ts +1 -0
  152. package/types/components/Combobox/ComboboxNew/ui/index.d.ts.map +1 -1
  153. package/types/components/Range/Range.tokens.d.ts +0 -2
  154. package/types/components/Range/Range.tokens.d.ts.map +1 -1
  155. package/types/components/Range/variations/_readonly/base.d.ts.map +1 -1
  156. package/types/components/TextArea/TextArea.d.ts +2 -3
  157. package/types/components/TextArea/TextArea.d.ts.map +1 -1
  158. package/types/components/TextArea/TextArea.tokens.d.ts +0 -1
  159. package/types/components/TextArea/TextArea.tokens.d.ts.map +1 -1
  160. package/types/components/TextField/variations/_read-only/base.d.ts.map +1 -1
  161. package/types/components/_Icon/index.d.ts +0 -1
  162. package/types/components/_Icon/index.d.ts.map +1 -1
  163. package/types/examples/plasma_b2c/components/Combobox/Combobox.d.ts +48 -0
  164. package/types/examples/plasma_b2c/components/Combobox/Combobox.d.ts.map +1 -1
  165. package/types/examples/plasma_b2c/components/Range/Range.config.d.ts.map +1 -1
  166. package/types/examples/plasma_b2c/components/TextArea/TextArea.config.d.ts +0 -3
  167. package/types/examples/plasma_b2c/components/TextArea/TextArea.config.d.ts.map +1 -1
  168. package/types/examples/plasma_b2c/components/TextArea/TextArea.d.ts +0 -3
  169. package/types/examples/plasma_b2c/components/TextArea/TextArea.d.ts.map +1 -1
  170. package/types/examples/plasma_web/components/Combobox/Combobox.d.ts +48 -0
  171. package/types/examples/plasma_web/components/Combobox/Combobox.d.ts.map +1 -1
  172. package/types/examples/plasma_web/components/Range/Range.config.d.ts.map +1 -1
  173. package/cjs/components/TextArea/variations/_read-only/base.js +0 -9
  174. package/cjs/components/TextArea/variations/_read-only/base.js.map +0 -1
  175. package/cjs/components/TextArea/variations/_read-only/base_vx1mwu.css +0 -1
  176. package/emotion/cjs/components/TextArea/variations/_read-only/base.js +0 -10
  177. package/emotion/cjs/components/TextArea/variations/_read-only/tokens.json +0 -1
  178. package/emotion/cjs/components/_Icon/Icon.assets/Lock.js +0 -26
  179. package/emotion/cjs/components/_Icon/Icons/IconLock.js +0 -24
  180. package/emotion/es/components/TextArea/variations/_read-only/base.js +0 -4
  181. package/emotion/es/components/TextArea/variations/_read-only/tokens.json +0 -1
  182. package/emotion/es/components/_Icon/Icon.assets/Lock.js +0 -19
  183. package/emotion/es/components/_Icon/Icons/IconLock.js +0 -17
  184. package/es/components/TextArea/variations/_read-only/base.js +0 -5
  185. package/es/components/TextArea/variations/_read-only/base.js.map +0 -1
  186. package/es/components/TextArea/variations/_read-only/base_vx1mwu.css +0 -1
  187. package/styled-components/cjs/components/TextArea/variations/_read-only/base.js +0 -10
  188. package/styled-components/cjs/components/TextArea/variations/_read-only/tokens.json +0 -1
  189. package/styled-components/cjs/components/_Icon/Icon.assets/Lock.js +0 -26
  190. package/styled-components/cjs/components/_Icon/Icons/IconLock.js +0 -24
  191. package/styled-components/es/components/TextArea/variations/_read-only/base.js +0 -4
  192. package/styled-components/es/components/TextArea/variations/_read-only/tokens.json +0 -1
  193. package/styled-components/es/components/_Icon/Icon.assets/Lock.js +0 -19
  194. package/styled-components/es/components/_Icon/Icons/IconLock.js +0 -17
  195. package/types/components/TextArea/variations/_read-only/base.d.ts +0 -2
  196. package/types/components/TextArea/variations/_read-only/base.d.ts.map +0 -1
  197. package/types/components/_Icon/Icon.assets/Lock.d.ts +0 -4
  198. package/types/components/_Icon/Icon.assets/Lock.d.ts.map +0 -1
  199. package/types/components/_Icon/Icons/IconLock.d.ts +0 -4
  200. package/types/components/_Icon/Icons/IconLock.d.ts.map +0 -1
  201. /package/cjs/components/Combobox/ComboboxNew/ui/{Inner/ui/Item/Item.css → VirtualList/VirtualList.css} +0 -0
  202. /package/es/components/Combobox/ComboboxNew/ui/{Inner/ui/Item/Item.css → VirtualList/VirtualList.css} +0 -0
@@ -8,14 +8,12 @@ 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';
12
11
 
13
12
  import { config } from './TextArea.config';
14
13
  import { TextArea } from './TextArea';
15
14
 
16
15
  const labelPlacements = ['inner', 'outer'];
17
16
  const sizes = ['xs', 's', 'm', 'l'];
18
- const views = ['default', 'positive', 'warning', 'negative'];
19
17
  const hintViews = ['default'];
20
18
  const hintSizes = ['m', 's'];
21
19
  const hintTriggers = ['hover', 'click'];
@@ -39,16 +37,6 @@ const placements: Array<PopoverPlacement> = [
39
37
  'auto',
40
38
  ];
41
39
 
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
-
52
40
  type StoryTextAreaPropsCustom = {
53
41
  hasHint?: boolean;
54
42
  enableContentRight?: boolean;
@@ -72,25 +60,19 @@ const meta: Meta<StoryTextAreaProps> = {
72
60
  control: {
73
61
  type: 'boolean',
74
62
  },
75
- if: {
76
- arg: 'optional',
77
- truthy: false,
78
- },
63
+ if: { arg: 'optional', truthy: false },
79
64
  },
80
65
  optional: {
81
66
  control: {
82
67
  type: 'boolean',
83
68
  },
84
- if: {
85
- arg: 'required',
86
- truthy: false,
87
- },
69
+ if: { arg: 'required', truthy: false },
88
70
  },
89
71
  size: {
90
72
  options: sizes,
91
73
  defaultValue: 'm',
92
74
  control: {
93
- type: 'inline-radio',
75
+ type: 'select',
94
76
  },
95
77
  },
96
78
  view: {
@@ -109,28 +91,19 @@ const meta: Meta<StoryTextAreaProps> = {
109
91
  control: {
110
92
  type: 'boolean',
111
93
  },
112
- if: {
113
- arg: 'clear',
114
- truthy: true,
115
- },
94
+ if: { arg: 'clear', truthy: true },
116
95
  },
117
96
  cols: {
118
97
  control: {
119
98
  type: 'number',
120
99
  },
121
- if: {
122
- arg: 'clear',
123
- truthy: false,
124
- },
100
+ if: { arg: 'clear', truthy: false },
125
101
  },
126
102
  rows: {
127
103
  control: {
128
104
  type: 'number',
129
105
  },
130
- if: {
131
- arg: 'clear',
132
- truthy: false,
133
- },
106
+ if: { arg: 'clear', truthy: false },
134
107
  },
135
108
  hasHint: {
136
109
  control: {
@@ -139,65 +112,47 @@ const meta: Meta<StoryTextAreaProps> = {
139
112
  },
140
113
  hintText: {
141
114
  control: { type: 'text' },
142
- if: {
143
- arg: 'hasHint',
144
- truthy: true,
145
- },
115
+ if: { arg: 'hasHint', truthy: true },
146
116
  },
147
117
  hintView: {
148
118
  options: hintViews,
149
119
  control: {
150
120
  type: 'select',
151
121
  },
152
- if: {
153
- arg: 'hasHint',
154
- truthy: true,
155
- },
122
+ if: { arg: 'hasHint', truthy: true },
156
123
  },
157
124
  hintSize: {
158
125
  options: hintSizes,
159
126
  control: {
160
127
  type: 'select',
161
128
  },
162
- if: {
163
- arg: 'hasHint',
164
- truthy: true,
165
- },
129
+ if: { arg: 'hasHint', truthy: true },
166
130
  },
167
131
  hintTrigger: {
168
132
  options: hintTriggers,
169
133
  control: {
170
134
  type: 'inline-radio',
171
135
  },
172
- if: {
173
- arg: 'hasHint',
174
- truthy: true,
175
- },
136
+ if: { arg: 'hasHint', truthy: true },
176
137
  },
177
138
  hintPlacement: {
178
139
  options: placements,
179
140
  control: {
180
141
  type: 'select',
181
142
  },
182
- if: {
183
- arg: 'hasHint',
184
- truthy: true,
185
- },
143
+ if: { arg: 'hasHint', truthy: true },
186
144
  mappers: placements,
187
145
  },
188
146
  hintHasArrow: {
189
147
  control: { type: 'boolean' },
190
- if: {
191
- arg: 'hasHint',
192
- truthy: true,
193
- },
148
+ if: { arg: 'hasHint', truthy: true },
194
149
  },
195
150
  hintWidth: {
196
151
  control: { type: 'text' },
197
- if: {
198
- arg: 'hasHint',
199
- truthy: true,
200
- },
152
+ if: { arg: 'hasHint', truthy: true },
153
+ },
154
+ helperText: {
155
+ control: { type: 'text' },
201
156
  },
202
157
  width: {
203
158
  control: { type: 'text' },
@@ -216,7 +171,6 @@ const meta: Meta<StoryTextAreaProps> = {
216
171
  },
217
172
  ...disableProps([
218
173
  'helperBlock',
219
- 'helperText',
220
174
  '$isFocused',
221
175
  'contentRight',
222
176
  'autoComplete',
@@ -240,7 +194,6 @@ const meta: Meta<StoryTextAreaProps> = {
240
194
  'hintOffset',
241
195
  'hintContentLeft',
242
196
  'hintView',
243
- 'hintOpened',
244
197
  ]),
245
198
  },
246
199
  args: {
@@ -284,24 +237,19 @@ const onBlur = action('onBlur');
284
237
  const StoryDefault = (props: StoryTextAreaProps) => {
285
238
  const [value, setValue] = useState('Значение поля');
286
239
 
240
+ const iconSize = props.size === 'xs' ? 'xs' : 's';
241
+
287
242
  return (
288
243
  <TextArea
289
244
  value={value}
290
- contentRight={
291
- props.enableContentRight || props.readOnly
292
- ? getIcon(IconPlaceholder, props.size, props.readOnly)
293
- : undefined
294
- }
245
+ contentRight={props.enableContentRight ? <IconPlaceholder size={iconSize} /> : undefined}
295
246
  onChange={(e) => {
296
247
  setValue(e.target.value);
297
248
  onChange(e);
298
249
  }}
299
250
  onFocus={onFocus}
300
251
  onBlur={onBlur}
301
- style={{
302
- width: '70%',
303
- margin: '0 auto',
304
- }}
252
+ style={{ width: '70%', margin: '0 auto' }}
305
253
  {...props}
306
254
  />
307
255
  );
@@ -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);", ":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)
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)
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-primary);", ":var(--surface-transparent-primary);", ":var(--text-secondary);", ":var(--text-secondary);", ":var(--text-secondary);", ":var(--text-secondary);", ":var(--surface-transparent-primary);"], _TextField.textFieldTokens.colorReadOnly, _TextField.textFieldTokens.backgroundColorReadOnly, _TextField.textFieldTokens.placeholderColorReadOnly, _TextField.textFieldTokens.leftHelperColorReadOnly, _TextField.textFieldTokens.titleCaptionColorReadOnly, _TextField.textFieldTokens.labelColorReadOnly, _TextField.textFieldTokens.dividerColorReadOnly)
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)
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, IconLock } from '../../../../components/_Icon';
7
+ import { IconCross } from '../../../../components/_Icon';
8
8
  import type { PopoverPlacement } from '../Popover/Popover';
9
9
 
10
10
  import { TextField } from './TextField';
@@ -43,16 +43,6 @@ 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
-
56
46
  const meta: Meta<typeof TextField> = {
57
47
  title: 'web/Data Entry/TextField',
58
48
  component: TextField,
@@ -68,28 +58,19 @@ const meta: Meta<typeof TextField> = {
68
58
  control: {
69
59
  type: 'boolean',
70
60
  },
71
- if: {
72
- arg: 'optional',
73
- truthy: false,
74
- },
61
+ if: { arg: 'optional', truthy: false },
75
62
  },
76
63
  optional: {
77
64
  control: {
78
65
  type: 'boolean',
79
66
  },
80
- if: {
81
- arg: 'required',
82
- truthy: false,
83
- },
67
+ if: { arg: 'required', truthy: false },
84
68
  },
85
69
  hasDivider: {
86
70
  control: {
87
71
  type: 'boolean',
88
72
  },
89
- if: {
90
- arg: 'clear',
91
- truthy: true,
92
- },
73
+ if: { arg: 'clear', truthy: true },
93
74
  },
94
75
  view: {
95
76
  options: views,
@@ -112,10 +93,7 @@ const meta: Meta<typeof TextField> = {
112
93
  control: {
113
94
  type: 'boolean',
114
95
  },
115
- if: {
116
- arg: 'labelPlacement',
117
- eq: 'inner',
118
- },
96
+ if: { arg: 'labelPlacement', eq: 'inner' },
119
97
  },
120
98
  size: {
121
99
  options: sizes,
@@ -125,75 +103,51 @@ const meta: Meta<typeof TextField> = {
125
103
  },
126
104
  hintText: {
127
105
  control: { type: 'text' },
128
- if: {
129
- arg: 'hasHint',
130
- truthy: true,
131
- },
106
+ if: { arg: 'hasHint', truthy: true },
132
107
  },
133
108
  hintView: {
134
109
  options: hintViews,
135
110
  control: {
136
111
  type: 'select',
137
112
  },
138
- if: {
139
- arg: 'hasHint',
140
- truthy: true,
141
- },
113
+ if: { arg: 'hasHint', truthy: true },
142
114
  },
143
115
  hintSize: {
144
116
  options: hintSizes,
145
117
  control: {
146
118
  type: 'select',
147
119
  },
148
- if: {
149
- arg: 'hasHint',
150
- truthy: true,
151
- },
120
+ if: { arg: 'hasHint', truthy: true },
152
121
  },
153
122
  hintTargetPlacement: {
154
123
  options: hintTargetPlacements,
155
124
  control: {
156
125
  type: 'inline-radio',
157
126
  },
158
- if: {
159
- arg: 'hasHint',
160
- truthy: true,
161
- },
127
+ if: { arg: 'hasHint', truthy: true },
162
128
  },
163
129
  hintTrigger: {
164
130
  options: hintTriggers,
165
131
  control: {
166
132
  type: 'inline-radio',
167
133
  },
168
- if: {
169
- arg: 'hasHint',
170
- truthy: true,
171
- },
134
+ if: { arg: 'hasHint', truthy: true },
172
135
  },
173
136
  hintPlacement: {
174
137
  options: placements,
175
138
  control: {
176
139
  type: 'select',
177
140
  },
178
- if: {
179
- arg: 'hasHint',
180
- truthy: true,
181
- },
141
+ if: { arg: 'hasHint', truthy: true },
182
142
  mappers: placements,
183
143
  },
184
144
  hintHasArrow: {
185
145
  control: { type: 'boolean' },
186
- if: {
187
- arg: 'hasHint',
188
- truthy: true,
189
- },
146
+ if: { arg: 'hasHint', truthy: true },
190
147
  },
191
148
  hintWidth: {
192
149
  control: { type: 'text' },
193
- if: {
194
- arg: 'hasHint',
195
- truthy: true,
196
- },
150
+ if: { arg: 'hasHint', truthy: true },
197
151
  },
198
152
  chipType: {
199
153
  control: 'select',
@@ -229,28 +183,19 @@ type StoryPropsDefault = Omit<
229
183
  enableContentRight: boolean;
230
184
  };
231
185
 
232
- const StoryDemo = ({ enableContentLeft, enableContentRight, view, readOnly, ...rest }: StoryPropsDefault) => {
186
+ const StoryDemo = ({ enableContentLeft, enableContentRight, view, ...rest }: StoryPropsDefault) => {
233
187
  const [text, setText] = useState('Значение поля');
234
188
 
235
- const contentRight = enableContentRight || readOnly ? getIcon(IconCross, rest.size, readOnly) : undefined;
189
+ const iconSize = rest.size === 'xs' ? 'xs' : 's';
236
190
 
237
191
  return (
238
- <div
239
- style={{
240
- display: 'flex',
241
- flexDirection: 'column',
242
- gap: '2rem',
243
- width: '70%',
244
- margin: '0 auto',
245
- }}
246
- >
192
+ <div style={{ display: 'flex', flexDirection: 'column', gap: '2rem', width: '70%', margin: '0 auto' }}>
247
193
  <TextField
248
194
  {...rest}
249
195
  enumerationType="plain"
250
196
  value={text}
251
- readOnly={readOnly}
252
- contentLeft={enableContentLeft ? getIcon(IconPlaceholder, rest.size) : undefined}
253
- contentRight={contentRight}
197
+ contentLeft={enableContentLeft ? <IconCross color="inherit" size={iconSize} /> : undefined}
198
+ contentRight={enableContentRight ? <IconCross color="inherit" size={iconSize} /> : undefined}
254
199
  view={view}
255
200
  onChange={(e) => {
256
201
  setText(e.target.value);
@@ -266,10 +211,9 @@ const StoryDemo = ({ enableContentLeft, enableContentRight, view, readOnly, ...r
266
211
  label="Uncontrolled TextField"
267
212
  defaultValue="Дефолтное значение"
268
213
  enumerationType="plain"
269
- contentLeft={enableContentLeft ? getIcon(IconPlaceholder, rest.size) : undefined}
270
- contentRight={contentRight}
214
+ contentLeft={enableContentLeft ? <IconPlaceholder size={iconSize} /> : undefined}
215
+ contentRight={enableContentRight ? <IconPlaceholder size={iconSize} /> : undefined}
271
216
  view={view}
272
- readOnly={readOnly}
273
217
  onFocus={onFocus}
274
218
  onBlur={onBlur}
275
219
  onSearch={onSearch}
@@ -341,10 +285,10 @@ type StoryPropsChips = Omit<
341
285
  enableContentRight: boolean;
342
286
  };
343
287
 
344
- const StoryChips = ({ enableContentLeft, enableContentRight, view, readOnly, ...rest }: StoryPropsChips) => {
288
+ const StoryChips = ({ enableContentLeft, enableContentRight, view, ...rest }: StoryPropsChips) => {
345
289
  const [text, setText] = useState('Значение поля');
346
290
 
347
- const contentRight = enableContentRight || readOnly ? getIcon(IconCross, rest.size, readOnly) : undefined;
291
+ const iconSize = rest.size === 'xs' ? 'xs' : 's';
348
292
 
349
293
  const validateChip = (value) => (value === '1 value' ? { view: 'negative' } : {});
350
294
 
@@ -353,10 +297,9 @@ const StoryChips = ({ enableContentLeft, enableContentRight, view, readOnly, ...
353
297
  {...rest}
354
298
  enumerationType="chip"
355
299
  value={text}
356
- contentLeft={enableContentLeft ? getIcon(IconPlaceholder, rest.size) : undefined}
357
- contentRight={contentRight}
300
+ contentLeft={enableContentLeft ? <IconPlaceholder size={iconSize} /> : undefined}
301
+ contentRight={enableContentRight ? <IconPlaceholder size={iconSize} /> : undefined}
358
302
  view={view}
359
- readOnly={readOnly}
360
303
  onChange={(e) => {
361
304
  setText(e.target.value);
362
305
  onChange(e.target.value);
@@ -365,10 +308,7 @@ const StoryChips = ({ enableContentLeft, enableContentRight, view, readOnly, ...
365
308
  onBlur={onBlur}
366
309
  onChangeChips={onChipsChange}
367
310
  chipValidator={validateChip}
368
- style={{
369
- width: '70%',
370
- margin: '0 auto',
371
- }}
311
+ style={{ width: '70%', margin: '0 auto' }}
372
312
  />
373
313
  );
374
314
  };
@@ -1,4 +1,4 @@
1
- var _excluded = ["name", "multiple", "value", "onChange", "defaultValue", "isTargetAmount", "targetAmount", "items", "placement", "label", "placeholder", "helperText", "contentLeft", "textBefore", "textAfter", "variant", "listOverflow", "listHeight", "listWidth", "portal", "renderItem", "view", "size", "labelPlacement", "keepPlaceholder", "readOnly", "disabled", "alwaysOpened", "filter", "closeAfterSelect", "renderValue", "zIndex", "beforeList", "afterList", "hintView", "hintSize"];
1
+ var _excluded = ["name", "multiple", "value", "onChange", "defaultValue", "isTargetAmount", "targetAmount", "items", "placement", "label", "placeholder", "helperText", "contentLeft", "textBefore", "textAfter", "variant", "listOverflow", "listHeight", "listWidth", "portal", "renderItem", "view", "size", "labelPlacement", "keepPlaceholder", "readOnly", "disabled", "alwaysOpened", "filter", "closeAfterSelect", "renderValue", "zIndex", "beforeList", "afterList", "virtual", "hintView", "hintSize"];
2
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
3
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
4
4
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -22,7 +22,7 @@ import { classes } from './Combobox.tokens';
22
22
  import { FloatingPopover } from './FloatingPopover';
23
23
  import { useKeyNavigation, getItemByFocused } from './hooks/useKeyboardNavigation';
24
24
  import { initialItemsTransform, updateAncestors, updateDescendants, updateSingleAncestors, filterItems, getItemId, getInitialValue } from './utils';
25
- import { Inner, StyledTextField } from './ui';
25
+ import { Inner, StyledTextField, VirtualList } from './ui';
26
26
  import { pathReducer, focusedPathReducer } from './reducers';
27
27
  import { getPathMap, getTreeMaps } from './hooks/getPathMaps';
28
28
  import { Ul, base, StyledArrow, IconArrowWrapper, StyledEmptyState } from './Combobox.styles';
@@ -77,6 +77,8 @@ export var comboboxRoot = function comboboxRoot(Root) {
77
77
  zIndex = props.zIndex,
78
78
  beforeList = props.beforeList,
79
79
  afterList = props.afterList,
80
+ _props$virtual = props.virtual,
81
+ virtual = _props$virtual === void 0 ? false : _props$virtual,
80
82
  hintView = props.hintView,
81
83
  hintSize = props.hintSize,
82
84
  rest = _objectWithoutProperties(props, _excluded);
@@ -483,7 +485,10 @@ export var comboboxRoot = function comboboxRoot(Root) {
483
485
  listOverflow: listOverflow,
484
486
  listWidth: listWidth,
485
487
  ref: targetRef
486
- }, beforeList, isEmpty(filteredItems) ? /*#__PURE__*/React.createElement(StyledEmptyState, {
488
+ }, virtual ? /*#__PURE__*/React.createElement(VirtualList, {
489
+ items: filteredItems,
490
+ listHeight: listHeight
491
+ }) : /*#__PURE__*/React.createElement(React.Fragment, null, beforeList, isEmpty(filteredItems) ? /*#__PURE__*/React.createElement(StyledEmptyState, {
487
492
  className: classes.emptyStateWrapper,
488
493
  size: size,
489
494
  description: "\u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E"
@@ -497,7 +502,7 @@ export var comboboxRoot = function comboboxRoot(Root) {
497
502
  index: index,
498
503
  listWidth: listWidth
499
504
  });
500
- }), afterList))))));
505
+ }), afterList)))))));
501
506
  });
502
507
  };
503
508
  export var comboboxConfig = {
@@ -0,0 +1,26 @@
1
+ import React from 'react';
2
+ import List from 'rc-virtual-list';
3
+ import { Item } from '../Inner/ui';
4
+ var getHeight = function getHeight(listHeight) {
5
+ if (!listHeight) return 300;
6
+ if (typeof listHeight === 'number') return listHeight;
7
+ return parseInt(listHeight, 10);
8
+ };
9
+ export var VirtualList = function VirtualList(_ref) {
10
+ var items = _ref.items,
11
+ listHeight = _ref.listHeight;
12
+ return /*#__PURE__*/React.createElement(List, {
13
+ data: items,
14
+ height: getHeight(listHeight),
15
+ itemHeight: 100,
16
+ itemKey: "id"
17
+ }, function (item, index, props) {
18
+ return /*#__PURE__*/React.createElement("div", props, /*#__PURE__*/React.createElement(Item, {
19
+ item: item,
20
+ path: ['root'],
21
+ currentLevel: 0,
22
+ index: index,
23
+ ariaLevel: 1
24
+ }));
25
+ });
26
+ };
@@ -1,2 +1,3 @@
1
1
  export * from './Inner/Inner';
2
- export * from './Target/Target';
2
+ export * from './Target/Target';
3
+ export * from './VirtualList/VirtualList';
@@ -20,7 +20,6 @@ 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',
24
23
  dividerPadding: '--plasma-range__divider-padding',
25
24
  dividerFontFamily: '--plasma-range__divider-font-family',
26
25
  dividerFontStyle: '--plasma-range__divider-font-style',
@@ -31,7 +30,6 @@ export var tokens = {
31
30
  /** Токены слотов для контента */
32
31
  leftContentMargin: '--plasma-range__left-content-margin',
33
32
  rightContentMargin: '--plasma-range__right-content-margin',
34
- rightContentOpacityReadOnly: '--plasma-range__right-content-opacity-readonly',
35
33
  /** Токены лейбла */
36
34
  labelColor: '--plasma-range__label-color',
37
35
  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(", ");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);
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);
@@ -30,7 +30,6 @@ 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';
34
33
  import { base as disabledCSS } from './variations/_disabled/base';
35
34
  import { base as hintViewCSS } from './variations/_hint-view/base';
36
35
  import { base as hintSizeCSS } from './variations/_hint-size/base';
@@ -351,14 +350,13 @@ export var textAreaConfig = {
351
350
  css: clearCSS,
352
351
  attrs: true
353
352
  },
354
- readOnly: {
355
- css: readOnlyCSS,
356
- attrs: true
357
- },
358
353
  disabled: {
359
354
  css: disabledCSS,
360
355
  attrs: true
361
356
  },
357
+ readOnly: {
358
+ attrs: true
359
+ },
362
360
  hintView: {
363
361
  css: hintViewCSS
364
362
  },
@@ -60,7 +60,6 @@ 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
63
  /** Цвет текста для элемента textarea в состоянии focus */
65
64
  inputColorFocus: '--plasma-textarea-input-color-focus',
66
65
  /** Цвет каретки для элемента textarea */
@@ -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, StyledContentRight, 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(", ");}", ":hover,", ":active{cursor:default;color:var(", ",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, StyledContentRight, StyledContentRight, tokens.contentSlotRightColor, tokens.contentSlotColor, classes.outerLabelPlacement, Label, tokens.labelColorReadOnly);
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);