@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
@@ -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';