@alfalab/core-components-input-autocomplete 10.0.3 → 10.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/Component-2abb571d.d.ts +276 -0
  2. package/{cssm/Component-5e1b8383.d.ts → Component-dd8ca091.d.ts} +1 -1
  3. package/{esm/Component.mobile-06ffd24b.d.ts → Component.mobile-ade26e99.d.ts} +2 -2
  4. package/Component.mobile.js +1 -1
  5. package/{esm/Component.modal.mobile-5e1b8383.d.ts → Component.modal.mobile-dd8ca091.d.ts} +2 -2
  6. package/Component.modal.mobile.d.ts +1 -1
  7. package/Component.modal.mobile.js +1 -1
  8. package/Component.responsive.js +1 -1
  9. package/autocomplete-field/Component.js +1 -1
  10. package/autocomplete-field/index.css +2 -2
  11. package/autocomplete-mobile-field/Component.d.ts +8 -1
  12. package/autocomplete-mobile-field/Component.js +2 -2
  13. package/autocomplete-mobile-field/index.css +8 -8
  14. package/cssm/Component-2abb571d.d.ts +276 -0
  15. package/{Component-5e1b8383.d.ts → cssm/Component-dd8ca091.d.ts} +1 -1
  16. package/{modern/Component.mobile-06ffd24b.d.ts → cssm/Component.mobile-ade26e99.d.ts} +2 -2
  17. package/{modern/Component.modal.mobile-5e1b8383.d.ts → cssm/Component.modal.mobile-dd8ca091.d.ts} +2 -2
  18. package/cssm/Component.modal.mobile.d.ts +1 -1
  19. package/cssm/autocomplete-mobile-field/Component.d.ts +8 -1
  20. package/cssm/autocomplete-mobile-field/Component.js +1 -1
  21. package/cssm/{hook-9ea9e32c.d.ts → hook-8abfea97.d.ts} +28 -13
  22. package/{esm/index-50136800.d.ts → cssm/index-2abb571d.d.ts} +5 -1
  23. package/cssm/index-c76d6398.d.ts +1 -1
  24. package/cssm/index-f12ee135.d.ts +1 -1
  25. package/cssm/mobile-ade26e99.d.ts +5 -0
  26. package/cssm/shared-4cd3936b.d.ts +6 -6
  27. package/cssm/{typings-5e1b8383.d.ts → typings-dd8ca091.d.ts} +23 -1
  28. package/{esm/utils-5e1b8383.d.ts → cssm/utils-dd8ca091.d.ts} +6 -3
  29. package/esm/Component-2abb571d.d.ts +276 -0
  30. package/esm/{Component-5e1b8383.d.ts → Component-dd8ca091.d.ts} +1 -1
  31. package/{Component.mobile-06ffd24b.d.ts → esm/Component.mobile-ade26e99.d.ts} +2 -2
  32. package/esm/Component.mobile.js +1 -1
  33. package/{cssm/Component.modal.mobile-5e1b8383.d.ts → esm/Component.modal.mobile-dd8ca091.d.ts} +2 -2
  34. package/esm/Component.modal.mobile.d.ts +1 -1
  35. package/esm/Component.modal.mobile.js +1 -1
  36. package/esm/Component.responsive.js +1 -1
  37. package/esm/autocomplete-field/Component.js +1 -1
  38. package/esm/autocomplete-field/index.css +2 -2
  39. package/esm/autocomplete-mobile-field/Component.d.ts +8 -1
  40. package/esm/autocomplete-mobile-field/Component.js +2 -2
  41. package/esm/autocomplete-mobile-field/index.css +8 -8
  42. package/esm/{hook-9ea9e32c.d.ts → hook-8abfea97.d.ts} +28 -13
  43. package/{index-50136800.d.ts → esm/index-2abb571d.d.ts} +5 -1
  44. package/esm/index-c76d6398.d.ts +1 -1
  45. package/esm/index-f12ee135.d.ts +1 -1
  46. package/esm/index.js +1 -1
  47. package/esm/mobile-ade26e99.d.ts +5 -0
  48. package/esm/mobile.css +4 -4
  49. package/esm/mobile.js +1 -1
  50. package/esm/{mobile.module-ebc4dd54.js → mobile.module-bb97dda9.js} +1 -1
  51. package/esm/shared-4cd3936b.d.ts +6 -6
  52. package/esm/{typings-5e1b8383.d.ts → typings-dd8ca091.d.ts} +23 -1
  53. package/{cssm/utils-5e1b8383.d.ts → esm/utils-dd8ca091.d.ts} +6 -3
  54. package/{hook-9ea9e32c.d.ts → hook-8abfea97.d.ts} +28 -13
  55. package/{cssm/index-50136800.d.ts → index-2abb571d.d.ts} +5 -1
  56. package/index-c76d6398.d.ts +1 -1
  57. package/index-f12ee135.d.ts +1 -1
  58. package/index.js +1 -1
  59. package/mobile-ade26e99.d.ts +5 -0
  60. package/mobile.css +4 -4
  61. package/mobile.js +1 -1
  62. package/{mobile.module-a21f1abf.js → mobile.module-4f37ef85.js} +1 -1
  63. package/modern/Component-2abb571d.d.ts +276 -0
  64. package/modern/{Component-5e1b8383.d.ts → Component-dd8ca091.d.ts} +1 -1
  65. package/{cssm/Component.mobile-06ffd24b.d.ts → modern/Component.mobile-ade26e99.d.ts} +2 -2
  66. package/modern/Component.mobile.js +1 -1
  67. package/{Component.modal.mobile-5e1b8383.d.ts → modern/Component.modal.mobile-dd8ca091.d.ts} +2 -2
  68. package/modern/Component.modal.mobile.d.ts +1 -1
  69. package/modern/Component.modal.mobile.js +1 -1
  70. package/modern/Component.responsive.js +1 -1
  71. package/modern/autocomplete-field/Component.js +1 -1
  72. package/modern/autocomplete-field/index.css +2 -2
  73. package/modern/autocomplete-mobile-field/Component.d.ts +8 -1
  74. package/modern/autocomplete-mobile-field/Component.js +2 -2
  75. package/modern/autocomplete-mobile-field/index.css +8 -8
  76. package/modern/{hook-9ea9e32c.d.ts → hook-8abfea97.d.ts} +28 -13
  77. package/modern/{index-50136800.d.ts → index-2abb571d.d.ts} +5 -1
  78. package/modern/index-c76d6398.d.ts +1 -1
  79. package/modern/index-f12ee135.d.ts +1 -1
  80. package/modern/index.js +1 -1
  81. package/modern/mobile-ade26e99.d.ts +5 -0
  82. package/modern/mobile.css +4 -4
  83. package/modern/mobile.js +1 -1
  84. package/modern/{mobile.module-2d84bf35.js → mobile.module-f03a6e8c.js} +1 -1
  85. package/modern/shared-4cd3936b.d.ts +6 -6
  86. package/modern/{typings-5e1b8383.d.ts → typings-dd8ca091.d.ts} +23 -1
  87. package/modern/{utils-5e1b8383.d.ts → utils-dd8ca091.d.ts} +6 -3
  88. package/package.json +4 -4
  89. package/shared-4cd3936b.d.ts +6 -6
  90. package/src/autocomplete-mobile-field/Component.tsx +10 -2
  91. package/{typings-5e1b8383.d.ts → typings-dd8ca091.d.ts} +23 -1
  92. package/{utils-5e1b8383.d.ts → utils-dd8ca091.d.ts} +6 -3
  93. package/Component-50136800.d.ts +0 -6
  94. package/cssm/Component-50136800.d.ts +0 -6
  95. package/cssm/mobile-06ffd24b.d.ts +0 -5
  96. package/esm/Component-50136800.d.ts +0 -6
  97. package/esm/mobile-06ffd24b.d.ts +0 -5
  98. package/mobile-06ffd24b.d.ts +0 -5
  99. package/modern/Component-50136800.d.ts +0 -6
  100. package/modern/mobile-06ffd24b.d.ts +0 -5
  101. /package/{component-50136800.d.ts → component-2abb571d.d.ts} +0 -0
  102. /package/cssm/{component-50136800.d.ts → component-2abb571d.d.ts} +0 -0
  103. /package/esm/{component-50136800.d.ts → component-2abb571d.d.ts} +0 -0
  104. /package/modern/{component-50136800.d.ts → component-2abb571d.d.ts} +0 -0
@@ -0,0 +1,276 @@
1
+ /// <reference types="react" />
2
+ import React from 'react';
3
+ import { ChangeEvent, ElementType, InputHTMLAttributes, MouseEvent, ReactNode } from "react";
4
+ type StyleColors = {
5
+ default: {
6
+ [key: string]: string;
7
+ };
8
+ inverted: {
9
+ [key: string]: string;
10
+ };
11
+ };
12
+ type BaseInputProps = Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type' | 'value' | 'defaultValue' | 'onChange' | 'onClick' | 'onMouseDown' | 'enterKeyHint'> & {
13
+ /**
14
+ * Значение поля ввода
15
+ */
16
+ value?: string;
17
+ /**
18
+ * Начальное значение поля
19
+ */
20
+ defaultValue?: string;
21
+ /**
22
+ * Растягивает компонент на ширину контейнера
23
+ */
24
+ block?: boolean;
25
+ /**
26
+ * Крестик для очистки поля
27
+ */
28
+ clear?: boolean;
29
+ /**
30
+ * Размер компонента
31
+ */
32
+ size?: 's' | 'm' | 'l' | 'xl';
33
+ /**
34
+ * Набор цветов для компонента
35
+ */
36
+ colors?: 'default' | 'inverted';
37
+ /**
38
+ * Отображение ошибки
39
+ */
40
+ error?: ReactNode | boolean;
41
+ /**
42
+ * Отображение иконки успеха
43
+ */
44
+ success?: boolean;
45
+ /**
46
+ * Текст подсказки
47
+ */
48
+ hint?: ReactNode;
49
+ /**
50
+ * Лейбл компонента
51
+ */
52
+ label?: React.ReactNode;
53
+ /**
54
+ * Вид лейбла внутри / снаружи
55
+ */
56
+ labelView?: 'inner' | 'outer';
57
+ /**
58
+ * Атрибут type
59
+ */
60
+ type?: 'number' | 'card' | 'email' | 'money' | 'password' | 'tel' | 'text';
61
+ /**
62
+ * Ref для обертки input
63
+ */
64
+ wrapperRef?: React.Ref<HTMLDivElement> | null;
65
+ /**
66
+ * Слот слева
67
+ */
68
+ leftAddons?: React.ReactNode;
69
+ /**
70
+ * Слот справа
71
+ */
72
+ rightAddons?: React.ReactNode;
73
+ /**
74
+ * Слот под инпутом
75
+ */
76
+ bottomAddons?: React.ReactNode;
77
+ /**
78
+ * Дополнительный класс
79
+ */
80
+ className?: string;
81
+ /**
82
+ * Дополнительный класс для поля
83
+ */
84
+ fieldClassName?: string;
85
+ /**
86
+ * Дополнительный класс инпута
87
+ */
88
+ inputClassName?: string;
89
+ /**
90
+ * Дополнительный класс для лейбла
91
+ */
92
+ labelClassName?: string;
93
+ /**
94
+ * Дополнительный класс для аддонов
95
+ */
96
+ addonsClassName?: string;
97
+ /**
98
+ * Класс, который будет установлен при фокусе
99
+ */
100
+ focusedClassName?: string;
101
+ /**
102
+ * Класс, который будет установлен, если в поле есть значение
103
+ */
104
+ filledClassName?: string;
105
+ /**
106
+ * Обработчик поля ввода
107
+ */
108
+ onChange?: (event: ChangeEvent<HTMLInputElement>, payload: {
109
+ value: string;
110
+ }) => void;
111
+ /**
112
+ * Обработчик нажатия на кнопку очистки
113
+ */
114
+ onClear?: (event: MouseEvent<HTMLButtonElement>) => void;
115
+ /**
116
+ * Обработчик клика по полю
117
+ */
118
+ onClick?: (event: MouseEvent<HTMLDivElement>) => void;
119
+ /**
120
+ * Обработчик MouseDown по полю
121
+ */
122
+ onMouseDown?: (event: MouseEvent<HTMLDivElement>) => void;
123
+ /**
124
+ * Обработчик MouseUp по полю
125
+ */
126
+ onMouseUp?: (event: MouseEvent<HTMLDivElement>) => void;
127
+ /**
128
+ * Идентификатор для систем автоматизированного тестирования
129
+ */
130
+ FormControlComponent?: ElementType;
131
+ /**
132
+ * Идентификатор для систем автоматизированного тестирования
133
+ */
134
+ dataTestId?: string;
135
+ /**
136
+ * Стили компонента для default и inverted режима.
137
+ */
138
+ colorStyles?: StyleColors;
139
+ /**
140
+ * Запрещает ввод с клавиатуры
141
+ */
142
+ disableUserInput?: boolean;
143
+ };
144
+ declare const BaseInput: React.ForwardRefExoticComponent<Omit<React.InputHTMLAttributes<HTMLInputElement>, "size" | "type" | "defaultValue" | "onChange" | "onClick" | "onMouseDown" | "value" | "enterKeyHint"> & {
145
+ /**
146
+ * Значение поля ввода
147
+ */
148
+ value?: string | undefined;
149
+ /**
150
+ * Начальное значение поля
151
+ */
152
+ defaultValue?: string | undefined;
153
+ /**
154
+ * Растягивает компонент на ширину контейнера
155
+ */
156
+ block?: boolean | undefined;
157
+ /**
158
+ * Крестик для очистки поля
159
+ */
160
+ clear?: boolean | undefined;
161
+ /**
162
+ * Размер компонента
163
+ */
164
+ size?: "s" | "m" | "l" | "xl" | undefined;
165
+ /**
166
+ * Набор цветов для компонента
167
+ */
168
+ colors?: "default" | "inverted" | undefined;
169
+ /**
170
+ * Отображение ошибки
171
+ */
172
+ error?: ReactNode | boolean;
173
+ /**
174
+ * Отображение иконки успеха
175
+ */
176
+ success?: boolean | undefined;
177
+ /**
178
+ * Текст подсказки
179
+ */
180
+ hint?: ReactNode;
181
+ /**
182
+ * Лейбл компонента
183
+ */
184
+ label?: React.ReactNode;
185
+ /**
186
+ * Вид лейбла внутри / снаружи
187
+ */
188
+ labelView?: "inner" | "outer" | undefined;
189
+ /**
190
+ * Атрибут type
191
+ */
192
+ type?: "number" | "text" | "tel" | "email" | "card" | "money" | "password" | undefined;
193
+ /**
194
+ * Ref для обертки input
195
+ */
196
+ wrapperRef?: React.Ref<HTMLDivElement> | undefined;
197
+ /**
198
+ * Слот слева
199
+ */
200
+ leftAddons?: React.ReactNode;
201
+ /**
202
+ * Слот справа
203
+ */
204
+ rightAddons?: React.ReactNode;
205
+ /**
206
+ * Слот под инпутом
207
+ */
208
+ bottomAddons?: React.ReactNode;
209
+ /**
210
+ * Дополнительный класс
211
+ */
212
+ className?: string | undefined;
213
+ /**
214
+ * Дополнительный класс для поля
215
+ */
216
+ fieldClassName?: string | undefined;
217
+ /**
218
+ * Дополнительный класс инпута
219
+ */
220
+ inputClassName?: string | undefined;
221
+ /**
222
+ * Дополнительный класс для лейбла
223
+ */
224
+ labelClassName?: string | undefined;
225
+ /**
226
+ * Дополнительный класс для аддонов
227
+ */
228
+ addonsClassName?: string | undefined;
229
+ /**
230
+ * Класс, который будет установлен при фокусе
231
+ */
232
+ focusedClassName?: string | undefined;
233
+ /**
234
+ * Класс, который будет установлен, если в поле есть значение
235
+ */
236
+ filledClassName?: string | undefined;
237
+ /**
238
+ * Обработчик поля ввода
239
+ */
240
+ onChange?: ((event: ChangeEvent<HTMLInputElement>, payload: {
241
+ value: string;
242
+ }) => void) | undefined;
243
+ /**
244
+ * Обработчик нажатия на кнопку очистки
245
+ */
246
+ onClear?: ((event: MouseEvent<HTMLButtonElement>) => void) | undefined;
247
+ /**
248
+ * Обработчик клика по полю
249
+ */
250
+ onClick?: ((event: MouseEvent<HTMLDivElement>) => void) | undefined;
251
+ /**
252
+ * Обработчик MouseDown по полю
253
+ */
254
+ onMouseDown?: ((event: MouseEvent<HTMLDivElement>) => void) | undefined;
255
+ /**
256
+ * Обработчик MouseUp по полю
257
+ */
258
+ onMouseUp?: ((event: MouseEvent<HTMLDivElement>) => void) | undefined;
259
+ /**
260
+ * Идентификатор для систем автоматизированного тестирования
261
+ */
262
+ FormControlComponent?: React.ElementType<any> | undefined;
263
+ /**
264
+ * Идентификатор для систем автоматизированного тестирования
265
+ */
266
+ dataTestId?: string | undefined;
267
+ /**
268
+ * Стили компонента для default и inverted режима.
269
+ */
270
+ colorStyles?: StyleColors | undefined;
271
+ /**
272
+ * Запрещает ввод с клавиатуры
273
+ */
274
+ disableUserInput?: boolean | undefined;
275
+ } & React.RefAttributes<HTMLInputElement>>;
276
+ export { StyleColors, BaseInputProps, BaseInput };
@@ -2,7 +2,7 @@
2
2
  import React from 'react';
3
3
  import { ReactNode } from "react";
4
4
  import { BottomSheetProps } from "./index-f12ee135";
5
- import { BaseSelectProps } from "./typings-5e1b8383";
5
+ import { BaseSelectProps } from "./typings-dd8ca091";
6
6
  type SelectMobileProps = Omit<BaseSelectProps, 'Checkmark' | 'onScroll'> & {
7
7
  /**
8
8
  * Футер
@@ -2,8 +2,8 @@
2
2
  import React from 'react';
3
3
  import { ReactNode } from "react";
4
4
  import { BottomSheetProps } from "./index-f12ee135";
5
- import { UseSelectWithApplyProps } from "./hook-9ea9e32c";
6
- import { BaseSelectProps } from "./typings-5e1b8383";
5
+ import { UseSelectWithApplyProps } from "./hook-8abfea97";
6
+ import { BaseSelectProps } from "./typings-dd8ca091";
7
7
  type AdditionalMobileProps = {
8
8
  /**
9
9
  * Футер
@@ -1,8 +1,8 @@
1
1
  /// <reference types="react" />
2
2
  import React from 'react';
3
3
  import { ModalMobile } from "./Component.mobile-f1f15074";
4
- import { UseSelectWithApplyProps } from "./hook-9ea9e32c";
5
- import { BaseSelectProps } from "./typings-5e1b8383";
4
+ import { UseSelectWithApplyProps } from "./hook-8abfea97";
5
+ import { BaseSelectProps } from "./typings-dd8ca091";
6
6
  type SelectModalMobileProps = Omit<BaseSelectProps, 'Checkmark' | 'onScroll'> & {
7
7
  /**
8
8
  * Показывать кнопку очистки
@@ -2,7 +2,7 @@
2
2
  import React from 'react';
3
3
  import { ChangeEvent, ElementType } from "react";
4
4
  import { ButtonMobileProps } from "./mobile-96988a65";
5
- import { SelectModalMobileProps } from "./mobile-06ffd24b";
5
+ import { SelectModalMobileProps } from "./mobile-ade26e99";
6
6
  import { BaseSelectChangePayload } from "./shared-4cd3936b";
7
7
  type InputAutocompleteModalMobileProps = Omit<SelectModalMobileProps, 'OptionsList' | 'Checkmark' | 'onScroll' | 'nativeSelect' | 'autocomplete' | 'valueRenderer'> & {
8
8
  /**
@@ -1,12 +1,19 @@
1
1
  /// <reference types="react" />
2
2
  import React from 'react';
3
+ import { ElementType } from "react";
3
4
  import { FormControlMobileProps } from "../mobile-96988a65";
4
5
  import { FieldProps as BaseFieldProps } from "../shared-4cd3936b";
6
+ type FieldProps = {
7
+ /**
8
+ * Компонент FormControl
9
+ */
10
+ FormControlComponent?: ElementType;
11
+ };
5
12
  type AutocompleteMobileFieldProps = FormControlMobileProps & Omit<BaseFieldProps, 'selected' | 'multiple' | 'success'> & {
6
13
  /**
7
14
  * Значение поля ввода
8
15
  */
9
16
  value?: string;
10
17
  };
11
- declare const AutocompleteMobileField: ({ size, open, disabled, value, innerProps, dataTestId, fieldClassName, labelView, placeholder, Arrow, valueRenderer, toggleMenu, setSelectedItems, selectedMultiple, ...restProps }: AutocompleteMobileFieldProps) => React.JSX.Element;
18
+ declare const AutocompleteMobileField: ({ size, open, disabled, value, innerProps, dataTestId, fieldClassName, labelView, placeholder, Arrow, valueRenderer, toggleMenu, setSelectedItems, selectedMultiple, FormControlComponent, ...restProps }: AutocompleteMobileFieldProps & FieldProps) => React.JSX.Element;
12
19
  export { AutocompleteMobileFieldProps, AutocompleteMobileField };
@@ -17,7 +17,7 @@ var styles__default = /*#__PURE__*/_interopDefaultCompat(styles);
17
17
 
18
18
  var AutocompleteMobileField = function (_a) {
19
19
  var _b;
20
- var _c = _a.size, size = _c === void 0 ? 'm' : _c; _a.open; var disabled = _a.disabled, value = _a.value, innerProps = _a.innerProps, dataTestId = _a.dataTestId, fieldClassName = _a.fieldClassName, _d = _a.labelView, labelView = _d === void 0 ? 'inner' : _d, placeholder = _a.placeholder, Arrow = _a.Arrow; _a.valueRenderer; _a.toggleMenu; _a.setSelectedItems; _a.selectedMultiple; var restProps = tslib.__rest(_a, ["size", "open", "disabled", "value", "innerProps", "dataTestId", "fieldClassName", "labelView", "placeholder", "Arrow", "valueRenderer", "toggleMenu", "setSelectedItems", "selectedMultiple"]);
20
+ var _c = _a.size, size = _c === void 0 ? 'm' : _c; _a.open; var disabled = _a.disabled, value = _a.value, innerProps = _a.innerProps, dataTestId = _a.dataTestId, fieldClassName = _a.fieldClassName, _d = _a.labelView, labelView = _d === void 0 ? 'inner' : _d, placeholder = _a.placeholder, Arrow = _a.Arrow; _a.valueRenderer; _a.toggleMenu; _a.setSelectedItems; _a.selectedMultiple; _a.FormControlComponent; var restProps = tslib.__rest(_a, ["size", "open", "disabled", "value", "innerProps", "dataTestId", "fieldClassName", "labelView", "placeholder", "Arrow", "valueRenderer", "toggleMenu", "setSelectedItems", "selectedMultiple", "FormControlComponent"]);
21
21
  var _e = React.useState(false), focused = _e[0], setFocused = _e[1];
22
22
  var wrapperRef = React.useRef(null);
23
23
  var focusVisible = hooks.useFocus(wrapperRef, 'keyboard')[0];
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { BaseSelectProps, OptionShape } from "./typings-5e1b8383";
2
+ import { BaseSelectProps, OptionShape } from "./typings-dd8ca091";
3
3
  type UseSelectWithApplyProps = {
4
4
  /**
5
5
  * Список выбранных пунктов
@@ -21,6 +21,14 @@ type UseSelectWithApplyProps = {
21
21
  * Пропсы, которые будут прокинуты в компонент списка
22
22
  */
23
23
  optionsListProps?: BaseSelectProps['optionsListProps'];
24
+ /**
25
+ * Включает отображение поиска
26
+ */
27
+ showSearch?: BaseSelectProps['showSearch'];
28
+ /**
29
+ * Настройки поиска
30
+ */
31
+ searchProps?: BaseSelectProps['searchProps'];
24
32
  /**
25
33
  * Показывать кнопку очистки
26
34
  */
@@ -35,21 +43,21 @@ type UseSelectWithApplyProps = {
35
43
  showHeaderWithSelectAll?: boolean;
36
44
  };
37
45
  declare const SELECT_ALL_KEY = "select_all";
38
- declare function useSelectWithApply({ options, selected, onChange, OptionsList, optionsListProps, showClear, showSelectAll, showHeaderWithSelectAll, }: UseSelectWithApplyProps): {
39
- OptionsList: import("react").ForwardRefExoticComponent<import("./typings-5e1b8383").OptionsListProps & {
46
+ declare function useSelectWithApply({ options, selected, onChange, OptionsList, optionsListProps, showClear, showSelectAll, showHeaderWithSelectAll, showSearch, searchProps, }: UseSelectWithApplyProps): {
47
+ OptionsList: import("react").ForwardRefExoticComponent<import("./typings-dd8ca091").OptionsListProps & {
40
48
  showClear?: boolean | undefined;
41
- onClose?: (() => void) | undefined;
49
+ onClose?: (() => void) | undefined; /**
50
+ * Компонент выпадающего меню
51
+ */
42
52
  selectedDraft?: OptionShape[] | undefined;
43
- OptionsList?: import("react").FC<import("./typings-5e1b8383").OptionsListProps & import("react").RefAttributes<HTMLDivElement>> | undefined;
44
- Footer?: import("react").FC<import("./Component-5e1b8383").FooterProps> | undefined;
53
+ OptionsList?: import("react").FC<import("./typings-dd8ca091").OptionsListProps & import("react").RefAttributes<HTMLDivElement>> | undefined;
54
+ Footer?: import("react").FC<import("./Component-dd8ca091").FooterProps> | undefined;
45
55
  Header?: import("react").FC<import("./Component-ebda875c").HeaderProps> | undefined;
46
- headerProps?: import("./Component-ebda875c").HeaderProps | undefined; /**
47
- * Показывать кнопку очистки
48
- */
56
+ headerProps?: import("./Component-ebda875c").HeaderProps | undefined;
49
57
  showHeaderWithSelectAll?: boolean | undefined;
50
58
  } & import("react").RefAttributes<HTMLDivElement>>;
51
59
  optionsListProps: {
52
- OptionsList: import("react").FC<import("./typings-5e1b8383").OptionsListProps & import("react").RefAttributes<HTMLDivElement>> | undefined;
60
+ OptionsList: import("react").FC<import("./typings-dd8ca091").OptionsListProps & import("react").RefAttributes<HTMLDivElement>> | undefined;
53
61
  showClear: boolean;
54
62
  onClear: () => void;
55
63
  onApply: () => void;
@@ -64,12 +72,19 @@ declare function useSelectWithApply({ options, selected, onChange, OptionsList,
64
72
  };
65
73
  allowUnselect: boolean;
66
74
  multiple: boolean;
67
- options: (OptionShape | import("./typings-5e1b8383").GroupShape | {
75
+ options: (OptionShape | import("./typings-dd8ca091").GroupShape | {
68
76
  key: string;
69
77
  content: string;
70
78
  })[];
71
- onChange: (payload: import("./typings-5e1b8383").BaseSelectChangePayload) => void;
79
+ onChange: (payload: import("./typings-dd8ca091").BaseSelectChangePayload) => void;
72
80
  selected: string | OptionShape | (string | OptionShape)[] | null | undefined;
81
+ showSearch: boolean | undefined;
82
+ searchProps: {
83
+ value: string;
84
+ onChange: import("react").Dispatch<import("react").SetStateAction<string>>;
85
+ componentProps?: import("packages/input/src").InputProps | undefined;
86
+ accessor?: ((option: OptionShape) => string) | undefined;
87
+ } | undefined;
73
88
  };
74
- export * from "./Component-5e1b8383";
89
+ export * from "./Component-dd8ca091";
75
90
  export { UseSelectWithApplyProps, SELECT_ALL_KEY, useSelectWithApply };
@@ -8,4 +8,8 @@ declare function easeInOutQuad(x: number): number;
8
8
  declare const easingFns: {
9
9
  easeInOutQuad: typeof easeInOutQuad;
10
10
  };
11
- export { isClient, getDataTestId, createPaddingStyle, easingFns };
11
+ declare function disableUserInput<T>(disabled: boolean | undefined, event: React.KeyboardEvent<T>): void;
12
+ declare const inputUtils: {
13
+ disableUserInput: typeof disableUserInput;
14
+ };
15
+ export { isClient, getDataTestId, createPaddingStyle, easingFns, inputUtils };
@@ -1,2 +1,2 @@
1
- export * from "./Component-50136800";
1
+ export * from "./Component-2abb571d";
2
2
  export type { NavigationBarProps } from "./types-83e2bd9e";
@@ -1,3 +1,3 @@
1
- export * from "./component-50136800";
1
+ export * from "./component-2abb571d";
2
2
  export type { BottomSheetProps, BottomSheetTitleAlign } from "./types-92653002";
3
3
  export { CLOSE_OFFSET, HEADER_OFFSET } from "./utils-49cc3c24";
@@ -0,0 +1,5 @@
1
+ export { SelectMobile } from "./Component.mobile-ade26e99";
2
+ export { SelectModalMobile } from "./Component.modal.mobile-dd8ca091";
3
+ export type { SelectMobileProps } from "./Component.mobile-ade26e99";
4
+ export type { SelectModalMobileProps } from "./Component.modal.mobile-dd8ca091";
5
+ export {};
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import React from "react";
3
- import { BaseSelectProps, OptionProps, OptionShape } from "./typings-5e1b8383";
3
+ import { BaseSelectProps, OptionProps, OptionShape } from "./typings-dd8ca091";
4
4
  // eslint-disable-next-line @typescript-eslint/naming-convention
5
5
  type useSelectWithLoadingProps = {
6
6
  loading?: boolean;
@@ -57,9 +57,9 @@ declare function useLazyLoading({ limit, initialOffset, optionsFetcher, skeleton
57
57
  reset: () => void;
58
58
  };
59
59
  export * from "./index-ebda875c";
60
- export * from "./Component-5e1b8383";
60
+ export * from "./Component-dd8ca091";
61
61
  export { useSelectWithLoading, useLazyLoading };
62
- export * from "./hook-9ea9e32c";
63
- export * from "./typings-5e1b8383";
64
- export * from "./utils-5e1b8383";
65
- export type { AdditionalMobileProps } from "./Component.mobile-06ffd24b";
62
+ export * from "./hook-8abfea97";
63
+ export * from "./typings-dd8ca091";
64
+ export * from "./utils-dd8ca091";
65
+ export type { AdditionalMobileProps } from "./Component.mobile-ade26e99";
@@ -210,6 +210,23 @@ type BaseSelectProps = {
210
210
  * Компонент пункта меню
211
211
  */
212
212
  Option?: FC<OptionProps>;
213
+ /**
214
+ * Включает отображение поиска
215
+ */
216
+ showSearch?: boolean;
217
+ /**
218
+ * Компонент поиска
219
+ */
220
+ Search?: FC<SearchProps & RefAttributes<HTMLInputElement>>;
221
+ /**
222
+ * Настройки поиска
223
+ */
224
+ searchProps?: {
225
+ componentProps?: SearchProps;
226
+ accessor?: (option: OptionShape) => string;
227
+ value?: string;
228
+ onChange?: (value: string) => void;
229
+ };
213
230
  /**
214
231
  * Обработчик выбора
215
232
  */
@@ -345,6 +362,10 @@ type OptionsListProps = {
345
362
  * Дополнительный класс для компонента группы пунктов
346
363
  */
347
364
  optionGroupClassName?: string;
365
+ /**
366
+ * Дополнительный класс для скроллбара
367
+ */
368
+ scrollbarClassName?: string;
348
369
  /**
349
370
  * Размер компонента
350
371
  */
@@ -547,4 +568,5 @@ type CheckmarkProps = {
547
568
  */
548
569
  icon?: FC<SVGProps<SVGSVGElement>>;
549
570
  };
550
- export { AnyObject, OptionShape, GroupShape, BaseSelectChangePayload, BaseSelectProps, FieldProps, ArrowProps, OptionsListProps, OptgroupProps, OptionProps, CheckmarkProps };
571
+ type SearchProps = InputProps;
572
+ export { AnyObject, OptionShape, GroupShape, BaseSelectChangePayload, BaseSelectProps, FieldProps, ArrowProps, OptionsListProps, OptgroupProps, OptionProps, CheckmarkProps, SearchProps };
@@ -1,12 +1,13 @@
1
1
  import { ReactNode, RefObject } from 'react';
2
- import { BaseSelectProps, GroupShape, OptionShape } from "./typings-5e1b8383";
2
+ import { BaseSelectProps, GroupShape, OptionShape } from "./typings-dd8ca091";
3
3
  declare const isGroup: (item: OptionShape | GroupShape) => item is GroupShape;
4
4
  declare const isOptionShape: (item: OptionShape | string | null) => item is OptionShape;
5
5
  declare const joinOptions: ({ selected, selectedMultiple, }: {
6
6
  selected?: OptionShape | undefined;
7
7
  selectedMultiple?: OptionShape[] | undefined;
8
8
  }) => ReactNode[] | null;
9
- declare function processOptions(options: BaseSelectProps['options'], selected?: BaseSelectProps['selected']): {
9
+ declare function processOptions(options: BaseSelectProps['options'], selected?: BaseSelectProps['selected'], filterFn?: (option: OptionShape) => boolean): {
10
+ filteredOptions: (OptionShape | GroupShape)[];
10
11
  flatOptions: OptionShape[];
11
12
  selectedOptions: OptionShape[];
12
13
  };
@@ -33,6 +34,8 @@ type useVisibleOptionsArgs = {
33
34
  invalidate?: unknown;
34
35
  };
35
36
  declare function useVisibleOptions({ visibleOptions, listRef, styleTargetRef, open, invalidate, }: useVisibleOptionsArgs): void;
37
+ declare function defaultFilterFn(optionText: string, search: string): boolean;
38
+ declare function defaultAccessor(option: OptionShape): string;
36
39
  declare function usePrevious<T>(value: T): T | undefined;
37
40
  declare const lastIndexOf: <T>(array: T[], predicate: (item: T) => boolean) => number;
38
- export { isGroup, isOptionShape, joinOptions, processOptions, useVisibleOptions, usePrevious, lastIndexOf };
41
+ export { isGroup, isOptionShape, joinOptions, processOptions, useVisibleOptions, defaultFilterFn, defaultAccessor, usePrevious, lastIndexOf };