@alfalab/core-components-picker-button 11.2.0 → 11.3.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 (121) hide show
  1. package/Component-0816e61d.d.ts +5 -0
  2. package/Component-72dda473.d.ts +53 -0
  3. package/Component-c44170fe.d.ts +281 -0
  4. package/Component.desktop-785df74d.d.ts +1 -1
  5. package/Component.desktop.d.ts +1 -1
  6. package/Component.desktop.js +3 -2
  7. package/Component.mobile-d7e9f69d.d.ts +1 -1
  8. package/Component.mobile.d.ts +3 -3
  9. package/Component.responsive.d.ts +5 -7
  10. package/Component.responsive.js +1 -0
  11. package/consts-f777ba1a.d.ts +2 -0
  12. package/cssm/Component-0816e61d.d.ts +5 -0
  13. package/cssm/Component-72dda473.d.ts +53 -0
  14. package/cssm/Component-c44170fe.d.ts +281 -0
  15. package/cssm/Component.desktop-785df74d.d.ts +1 -1
  16. package/cssm/Component.desktop.d.ts +1 -1
  17. package/cssm/Component.desktop.js +2 -1
  18. package/cssm/Component.mobile-d7e9f69d.d.ts +1 -1
  19. package/cssm/Component.mobile.d.ts +3 -3
  20. package/cssm/Component.responsive.d.ts +5 -7
  21. package/cssm/Component.responsive.js +1 -0
  22. package/cssm/consts-f777ba1a.d.ts +2 -0
  23. package/cssm/desktop/index.js +1 -0
  24. package/cssm/field/Component.d.ts +3 -837
  25. package/cssm/field/index.module.css +2 -2
  26. package/cssm/{index-5cb54b98.d.ts → index-081223cb.d.ts} +8 -2
  27. package/cssm/index-785df74d.d.ts +2 -0
  28. package/{esm/Component.responsive-3109f463.d.ts → cssm/index-c44170fe.d.ts} +2 -10
  29. package/cssm/index-d7e9f69d.d.ts +2 -0
  30. package/cssm/index-ebda875c.d.ts +80 -0
  31. package/cssm/index.js +1 -0
  32. package/cssm/types-1b036d4b.d.ts +13 -0
  33. package/cssm/types-1c79e231.d.ts +113 -0
  34. package/cssm/typings-0816e61d.d.ts +1320 -0
  35. package/cssm/useSkeleton-1b036d4b.d.ts +40 -0
  36. package/cssm/utils-d2597f31.d.ts +41 -0
  37. package/desktop/index.js +1 -0
  38. package/esm/Component-0816e61d.d.ts +5 -0
  39. package/esm/Component-72dda473.d.ts +53 -0
  40. package/esm/Component-c44170fe.d.ts +281 -0
  41. package/esm/Component.desktop-785df74d.d.ts +1 -1
  42. package/esm/Component.desktop.d.ts +1 -1
  43. package/esm/Component.desktop.js +3 -2
  44. package/esm/Component.mobile-d7e9f69d.d.ts +1 -1
  45. package/esm/Component.mobile.d.ts +3 -3
  46. package/esm/Component.responsive.d.ts +5 -7
  47. package/esm/Component.responsive.js +1 -0
  48. package/esm/consts-f777ba1a.d.ts +2 -0
  49. package/esm/desktop/index.js +1 -0
  50. package/esm/field/Component.d.ts +3 -837
  51. package/esm/field/Component.js +1 -1
  52. package/esm/field/index.css +8 -8
  53. package/esm/{index-5cb54b98.d.ts → index-081223cb.d.ts} +8 -2
  54. package/esm/index-785df74d.d.ts +2 -0
  55. package/{Component.responsive-3109f463.d.ts → esm/index-c44170fe.d.ts} +2 -10
  56. package/esm/index-d7e9f69d.d.ts +2 -0
  57. package/esm/index-ebda875c.d.ts +80 -0
  58. package/esm/index.css +5 -5
  59. package/esm/index.js +1 -0
  60. package/esm/option/Component.js +1 -1
  61. package/esm/option/index.css +4 -4
  62. package/esm/types-1b036d4b.d.ts +13 -0
  63. package/esm/types-1c79e231.d.ts +113 -0
  64. package/esm/typings-0816e61d.d.ts +1320 -0
  65. package/esm/useSkeleton-1b036d4b.d.ts +40 -0
  66. package/esm/utils-d2597f31.d.ts +41 -0
  67. package/field/Component.d.ts +3 -837
  68. package/field/Component.js +1 -1
  69. package/field/index.css +8 -8
  70. package/{index-5cb54b98.d.ts → index-081223cb.d.ts} +8 -2
  71. package/index-785df74d.d.ts +2 -0
  72. package/{modern/Component.responsive-3109f463.d.ts → index-c44170fe.d.ts} +2 -10
  73. package/index-d7e9f69d.d.ts +2 -0
  74. package/index-ebda875c.d.ts +80 -0
  75. package/index.css +5 -5
  76. package/index.js +1 -0
  77. package/modern/Component-0816e61d.d.ts +5 -0
  78. package/modern/Component-72dda473.d.ts +53 -0
  79. package/modern/Component-c44170fe.d.ts +281 -0
  80. package/modern/Component.desktop-785df74d.d.ts +1 -1
  81. package/modern/Component.desktop.d.ts +1 -1
  82. package/modern/Component.desktop.js +3 -2
  83. package/modern/Component.mobile-d7e9f69d.d.ts +1 -1
  84. package/modern/Component.mobile.d.ts +3 -3
  85. package/modern/Component.responsive.d.ts +5 -7
  86. package/modern/Component.responsive.js +1 -0
  87. package/modern/consts-f777ba1a.d.ts +2 -0
  88. package/modern/desktop/index.js +1 -0
  89. package/modern/field/Component.d.ts +3 -837
  90. package/modern/field/Component.js +1 -1
  91. package/modern/field/index.css +8 -8
  92. package/modern/{index-5cb54b98.d.ts → index-081223cb.d.ts} +8 -2
  93. package/modern/index-785df74d.d.ts +2 -0
  94. package/{cssm/Component.responsive-3109f463.d.ts → modern/index-c44170fe.d.ts} +2 -10
  95. package/modern/index-d7e9f69d.d.ts +2 -0
  96. package/modern/index-ebda875c.d.ts +80 -0
  97. package/modern/index.css +5 -5
  98. package/modern/index.js +1 -0
  99. package/modern/option/Component.js +1 -1
  100. package/modern/option/index.css +4 -4
  101. package/modern/types-1b036d4b.d.ts +13 -0
  102. package/modern/types-1c79e231.d.ts +113 -0
  103. package/modern/typings-0816e61d.d.ts +1320 -0
  104. package/modern/useSkeleton-1b036d4b.d.ts +40 -0
  105. package/modern/utils-d2597f31.d.ts +41 -0
  106. package/option/Component.js +1 -1
  107. package/option/index.css +4 -4
  108. package/package.json +4 -3
  109. package/src/Component.desktop.tsx +3 -0
  110. package/src/Component.mobile.tsx +3 -1
  111. package/src/Component.responsive.tsx +6 -6
  112. package/src/field/index.module.css +1 -1
  113. package/types-1b036d4b.d.ts +13 -0
  114. package/types-1c79e231.d.ts +113 -0
  115. package/typings-0816e61d.d.ts +1320 -0
  116. package/useSkeleton-1b036d4b.d.ts +40 -0
  117. package/utils-d2597f31.d.ts +41 -0
  118. /package/{Component-5cb54b98.d.ts → Component-081223cb.d.ts} +0 -0
  119. /package/cssm/{Component-5cb54b98.d.ts → Component-081223cb.d.ts} +0 -0
  120. /package/esm/{Component-5cb54b98.d.ts → Component-081223cb.d.ts} +0 -0
  121. /package/modern/{Component-5cb54b98.d.ts → Component-081223cb.d.ts} +0 -0
@@ -0,0 +1,40 @@
1
+ /// <reference types="react" />
2
+ import React from "react";
3
+ import { ReactNode } from "react";
4
+ import { TextSkeletonProps } from "./types-1b036d4b";
5
+ type SkeletonProps = {
6
+ /**
7
+ * Флаг, явно задающий состояние, при котором контент закрывается прелоадером
8
+ */
9
+ visible?: boolean;
10
+ /**
11
+ * Флаг явного включения анимации скелета
12
+ */
13
+ animate?: boolean;
14
+ /**
15
+ * Дополнительный класс
16
+ */
17
+ className?: string;
18
+ /**
19
+ * Дополнительные инлайн стили
20
+ */
21
+ style?: React.CSSProperties;
22
+ /**
23
+ * Идентификатор для систем автоматизированного тестирования
24
+ */
25
+ dataTestId?: string;
26
+ /**
27
+ * Дочерние элементы.
28
+ */
29
+ children?: ReactNode;
30
+ };
31
+ declare const Skeleton: React.FC<SkeletonProps>;
32
+ type SkeletonProps$0 = {
33
+ wrapperClassName?: string;
34
+ dataTestId?: string;
35
+ };
36
+ declare function useSkeleton(showSkeleton?: boolean, skeletonProps?: TextSkeletonProps): {
37
+ renderSkeleton: (props: SkeletonProps$0) => React.JSX.Element | null;
38
+ textRef: React.RefObject<HTMLElement>;
39
+ };
40
+ export { SkeletonProps, Skeleton, useSkeleton };
@@ -0,0 +1,41 @@
1
+ import { ReactNode, RefObject } from 'react';
2
+ import { BaseSelectProps, GroupShape, OptionShape } from "./typings-0816e61d";
3
+ declare const isGroup: (item: OptionShape | GroupShape) => item is GroupShape;
4
+ declare const isOptionShape: (item: OptionShape | string | null) => item is OptionShape;
5
+ declare const joinOptions: ({ selected, selectedMultiple, }: {
6
+ selected?: OptionShape | undefined;
7
+ selectedMultiple?: OptionShape[] | undefined;
8
+ }) => ReactNode[] | null;
9
+ declare function processOptions(options: BaseSelectProps['options'], selected?: BaseSelectProps['selected'], filterFn?: (option: OptionShape) => boolean): {
10
+ filteredOptions: (OptionShape | GroupShape)[];
11
+ flatOptions: OptionShape[];
12
+ selectedOptions: OptionShape[];
13
+ };
14
+ type useVisibleOptionsArgs = {
15
+ /**
16
+ * Количество видимых пунктов
17
+ */
18
+ visibleOptions: number;
19
+ /**
20
+ * Реф на контейнер с пунтами меню
21
+ */
22
+ listRef: RefObject<HTMLElement>;
23
+ /**
24
+ * Реф на контейнер, которому нужно установить высоту
25
+ */
26
+ styleTargetRef?: RefObject<HTMLElement>;
27
+ /**
28
+ * Флаг открытия меню
29
+ */
30
+ open?: boolean;
31
+ /**
32
+ * Позволяет вызвать пересчет высоты
33
+ */
34
+ invalidate?: unknown;
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;
39
+ declare function usePrevious<T>(value: T): T | undefined;
40
+ declare const lastIndexOf: <T>(array: T[], predicate: (item: T) => boolean) => number;
41
+ export { isGroup, isOptionShape, joinOptions, processOptions, useVisibleOptions, defaultFilterFn, defaultAccessor, usePrevious, lastIndexOf };
package/desktop/index.js CHANGED
@@ -6,6 +6,7 @@ var Component_desktop = require('../Component.desktop.js');
6
6
  require('tslib');
7
7
  require('react');
8
8
  require('classnames');
9
+ require('@alfalab/core-components-popover');
9
10
  require('@alfalab/core-components-select/shared');
10
11
  require('../field/Component.js');
11
12
  require('@alfalab/core-components-button');
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ import React from 'react';
3
+ import { OptgroupProps } from "./typings-0816e61d";
4
+ declare const Optgroup: ({ children, className, label, size }: OptgroupProps) => React.JSX.Element;
5
+ export { Optgroup };
@@ -0,0 +1,53 @@
1
+ /// <reference types="react" />
2
+ import React from 'react';
3
+ import { BackgroundColorType, GraphicColorType } from "./index-72dda473";
4
+ type IconColorType = Extract<GraphicColorType, 'positive' | 'attention' | 'link' | 'negative' | 'tertiary' | 'secondary' | 'primary'>;
5
+ type BadgeProps = {
6
+ /**
7
+ * Дополнительный класс
8
+ */
9
+ className?: string;
10
+ /**
11
+ * Вид компонента
12
+ */
13
+ view: 'icon' | 'count';
14
+ /**
15
+ * Размер компонента (только для view=icon)
16
+ * //deprecated(используйте height для view=count )
17
+ */
18
+ size?: 's' | 'm' | 'l' | 'xl';
19
+ /**
20
+ * Видимость белой обводки вокруг иконки
21
+ */
22
+ visibleIconOutline?: boolean;
23
+ /**
24
+ * Видимость цветной обводки вокруг иконки (только для view=icon)
25
+ */
26
+ visibleColorOutline?: boolean;
27
+ /**
28
+ * Контент компонента
29
+ */
30
+ content?: React.ReactElement | number;
31
+ /**
32
+ * Высота компонента, min = 16; max = 48 (только для view=count)
33
+ */
34
+ height?: number;
35
+ /**
36
+ * Цветовое оформление бейджа при view='count'
37
+ */
38
+ color?: Extract<BackgroundColorType, 'accent' | 'primary' | 'specialbg-secondary-transparent'>;
39
+ /**
40
+ * Цветовое оформление бейджа при view='icon'
41
+ */
42
+ iconColor?: IconColorType;
43
+ /**
44
+ * Цвет подложки под иконкой
45
+ */
46
+ iconUnderlayColor?: Extract<GraphicColorType, 'primary' | 'static-light'>;
47
+ /**
48
+ * Идентификатор для систем автоматизированного тестирования
49
+ */
50
+ dataTestId?: string;
51
+ };
52
+ declare const Badge: ({ className, size, view, visibleIconOutline, visibleColorOutline, content, height, iconColor, color, iconUnderlayColor, dataTestId, }: BadgeProps) => React.JSX.Element;
53
+ export { IconColorType, BadgeProps, Badge };
@@ -0,0 +1,281 @@
1
+ /// <reference types="react" />
2
+ import React from 'react';
3
+ import { ChangeEvent, ElementType, HTMLAttributes, InputHTMLAttributes, MouseEvent, ReactNode, RefAttributes } from "react";
4
+ import { FormControlProps } from "./index-c44170fe";
5
+ type BaseInputProps = Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type' | 'value' | 'defaultValue' | 'onChange' | 'onClick' | 'onMouseDown' | 'enterKeyHint'> & {
6
+ /**
7
+ * Значение поля ввода
8
+ */
9
+ value?: string;
10
+ /**
11
+ * Начальное значение поля
12
+ */
13
+ defaultValue?: string;
14
+ /**
15
+ * Растягивает компонент на ширину контейнера
16
+ */
17
+ block?: boolean;
18
+ /**
19
+ * Крестик для очистки поля
20
+ */
21
+ clear?: boolean;
22
+ /**
23
+ * Размер компонента
24
+ */
25
+ size?: 's' | 'm' | 'l' | 'xl';
26
+ /**
27
+ * Набор цветов для компонента
28
+ */
29
+ colors?: 'default' | 'inverted';
30
+ /**
31
+ * Отображение ошибки
32
+ */
33
+ error?: ReactNode | boolean;
34
+ /**
35
+ * Отображение иконки успеха
36
+ */
37
+ success?: boolean;
38
+ /**
39
+ * Текст подсказки
40
+ */
41
+ hint?: ReactNode;
42
+ /**
43
+ * Лейбл компонента
44
+ */
45
+ label?: React.ReactNode;
46
+ /**
47
+ * Вид лейбла внутри / снаружи
48
+ */
49
+ labelView?: 'inner' | 'outer';
50
+ /**
51
+ * Атрибут type
52
+ */
53
+ type?: 'number' | 'card' | 'email' | 'money' | 'password' | 'tel' | 'text';
54
+ /**
55
+ * Ref для обертки input
56
+ */
57
+ wrapperRef?: React.Ref<HTMLDivElement> | null;
58
+ /**
59
+ * Слот слева
60
+ */
61
+ leftAddons?: React.ReactNode;
62
+ /**
63
+ * Слот справа
64
+ */
65
+ rightAddons?: React.ReactNode;
66
+ /**
67
+ * Свойства для обертки левых аддонов
68
+ */
69
+ leftAddonsProps?: HTMLAttributes<HTMLDivElement>;
70
+ /**
71
+ * Свойства для обертки правых аддонов
72
+ */
73
+ rightAddonsProps?: HTMLAttributes<HTMLDivElement>;
74
+ /**
75
+ * Слот под инпутом
76
+ */
77
+ bottomAddons?: React.ReactNode;
78
+ /**
79
+ * Дополнительный класс
80
+ */
81
+ className?: string;
82
+ /**
83
+ * Дополнительный класс для поля
84
+ */
85
+ fieldClassName?: string;
86
+ /**
87
+ * Дополнительный класс инпута
88
+ */
89
+ inputClassName?: string;
90
+ /**
91
+ * Дополнительный класс для лейбла
92
+ */
93
+ labelClassName?: string;
94
+ /**
95
+ * Дополнительный класс для аддонов
96
+ */
97
+ addonsClassName?: string;
98
+ /**
99
+ * Класс, который будет установлен при фокусе
100
+ */
101
+ focusedClassName?: string;
102
+ /**
103
+ * Класс, который будет установлен, если в поле есть значение
104
+ */
105
+ filledClassName?: string;
106
+ /**
107
+ * Обработчик поля ввода
108
+ */
109
+ onChange?: (event: ChangeEvent<HTMLInputElement>, payload: {
110
+ value: string;
111
+ }) => void;
112
+ /**
113
+ * Обработчик нажатия на кнопку очистки
114
+ */
115
+ onClear?: (event: MouseEvent<HTMLButtonElement>) => void;
116
+ /**
117
+ * Обработчик клика по полю
118
+ */
119
+ onClick?: (event: MouseEvent<HTMLDivElement>) => void;
120
+ /**
121
+ * Обработчик MouseDown по полю
122
+ */
123
+ onMouseDown?: (event: MouseEvent<HTMLDivElement>) => void;
124
+ /**
125
+ * Обработчик MouseUp по полю
126
+ */
127
+ onMouseUp?: (event: MouseEvent<HTMLDivElement>) => void;
128
+ /**
129
+ * Компонент FormControl
130
+ */
131
+ FormControlComponent?: ElementType<FormControlProps & RefAttributes<HTMLDivElement>>;
132
+ /**
133
+ * Идентификатор для систем автоматизированного тестирования
134
+ */
135
+ dataTestId?: string;
136
+ /**
137
+ * Запрещает ввод с клавиатуры
138
+ */
139
+ disableUserInput?: boolean;
140
+ };
141
+ declare const BaseInput: React.ForwardRefExoticComponent<Omit<React.InputHTMLAttributes<HTMLInputElement>, "type" | "onClick" | "value" | "onMouseDown" | "size" | "defaultValue" | "onChange" | "enterKeyHint"> & {
142
+ /**
143
+ * Значение поля ввода
144
+ */
145
+ value?: string | undefined;
146
+ /**
147
+ * Начальное значение поля
148
+ */
149
+ defaultValue?: string | undefined;
150
+ /**
151
+ * Растягивает компонент на ширину контейнера
152
+ */
153
+ block?: boolean | undefined;
154
+ /**
155
+ * Крестик для очистки поля
156
+ */
157
+ clear?: boolean | undefined;
158
+ /**
159
+ * Размер компонента
160
+ */
161
+ size?: "s" | "m" | "l" | "xl" | undefined;
162
+ /**
163
+ * Набор цветов для компонента
164
+ */
165
+ colors?: "default" | "inverted" | undefined;
166
+ /**
167
+ * Отображение ошибки
168
+ */
169
+ error?: ReactNode | boolean;
170
+ /**
171
+ * Отображение иконки успеха
172
+ */
173
+ success?: boolean | undefined;
174
+ /**
175
+ * Текст подсказки
176
+ */
177
+ hint?: ReactNode;
178
+ /**
179
+ * Лейбл компонента
180
+ */
181
+ label?: React.ReactNode;
182
+ /**
183
+ * Вид лейбла внутри / снаружи
184
+ */
185
+ labelView?: "inner" | "outer" | undefined;
186
+ /**
187
+ * Атрибут type
188
+ */
189
+ type?: "number" | "text" | "tel" | "email" | "password" | "card" | "money" | undefined;
190
+ /**
191
+ * Ref для обертки input
192
+ */
193
+ wrapperRef?: React.Ref<HTMLDivElement> | undefined;
194
+ /**
195
+ * Слот слева
196
+ */
197
+ leftAddons?: React.ReactNode;
198
+ /**
199
+ * Слот справа
200
+ */
201
+ rightAddons?: React.ReactNode;
202
+ /**
203
+ * Свойства для обертки левых аддонов
204
+ */
205
+ leftAddonsProps?: React.HTMLAttributes<HTMLDivElement> | undefined;
206
+ /**
207
+ * Свойства для обертки правых аддонов
208
+ */
209
+ rightAddonsProps?: React.HTMLAttributes<HTMLDivElement> | undefined;
210
+ /**
211
+ * Слот под инпутом
212
+ */
213
+ bottomAddons?: React.ReactNode;
214
+ /**
215
+ * Дополнительный класс
216
+ */
217
+ className?: string | undefined;
218
+ /**
219
+ * Дополнительный класс для поля
220
+ */
221
+ fieldClassName?: string | undefined;
222
+ /**
223
+ * Дополнительный класс инпута
224
+ */
225
+ inputClassName?: string | undefined;
226
+ /**
227
+ * Дополнительный класс для лейбла
228
+ */
229
+ labelClassName?: string | undefined;
230
+ /**
231
+ * Дополнительный класс для аддонов
232
+ */
233
+ addonsClassName?: string | undefined;
234
+ /**
235
+ * Класс, который будет установлен при фокусе
236
+ */
237
+ focusedClassName?: string | undefined;
238
+ /**
239
+ * Класс, который будет установлен, если в поле есть значение
240
+ */
241
+ filledClassName?: string | undefined;
242
+ /**
243
+ * Обработчик поля ввода
244
+ */
245
+ onChange?: ((event: ChangeEvent<HTMLInputElement>, payload: {
246
+ value: string;
247
+ }) => void) | undefined;
248
+ /**
249
+ * Обработчик нажатия на кнопку очистки
250
+ */
251
+ onClear?: ((event: MouseEvent<HTMLButtonElement>) => void) | undefined;
252
+ /**
253
+ * Обработчик клика по полю
254
+ */
255
+ onClick?: ((event: MouseEvent<HTMLDivElement>) => void) | undefined;
256
+ /**
257
+ * Обработчик MouseDown по полю
258
+ */
259
+ onMouseDown?: ((event: MouseEvent<HTMLDivElement>) => void) | undefined;
260
+ /**
261
+ * Обработчик MouseUp по полю
262
+ */
263
+ onMouseUp?: ((event: MouseEvent<HTMLDivElement>) => void) | undefined;
264
+ /**
265
+ * Компонент FormControl
266
+ */
267
+ FormControlComponent?: React.ElementType<Omit<import("./index-c44170fe").BaseFormControlProps, "styles" | "colorStyles"> & {
268
+ breakpoint?: number | undefined;
269
+ defaultMatchMediaValue?: boolean | (() => boolean) | undefined;
270
+ } & React.RefAttributes<HTMLDivElement>> | undefined;
271
+ /**
272
+ * Идентификатор для систем автоматизированного тестирования
273
+ */
274
+ dataTestId?: string | undefined;
275
+ /**
276
+ * Запрещает ввод с клавиатуры
277
+ */
278
+ disableUserInput?: boolean | undefined;
279
+ } & React.RefAttributes<HTMLInputElement>>;
280
+ export * from "./Component-72dda473";
281
+ export { BaseInputProps, BaseInput };
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import React from 'react';
3
- import { BaseFormControlProps } from "./Component.responsive-3109f463";
3
+ import { BaseFormControlProps } from "./index-c44170fe";
4
4
  type FormControlDesktopProps = Omit<BaseFormControlProps, 'styles' | 'colorStyles'>;
5
5
  declare const FormControlDesktop: React.ForwardRefExoticComponent<FormControlDesktopProps & React.RefAttributes<HTMLDivElement>>;
6
6
  export { FormControlDesktopProps, FormControlDesktop };
@@ -25,7 +25,7 @@ type PickerButtonDesktopProps = Omit<BaseSelectProps, 'placeholder' | 'Arrow' |
25
25
  */
26
26
  showArrow?: boolean;
27
27
  };
28
- declare const PickerButtonDesktop: React.ForwardRefExoticComponent<Omit<BaseSelectProps, "size" | "placeholder" | "onFocus" | "selected" | "multiple" | "hint" | "options" | "autocomplete" | "allowUnselect" | "closeOnSelect" | "searchProps" | "showSearch" | "Arrow" | "Search"> & Pick<ButtonProps, "view" | "leftAddons" | "rightAddons" | "loading"> & {
28
+ declare const PickerButtonDesktop: React.ForwardRefExoticComponent<Omit<BaseSelectProps, "size" | "placeholder" | "onFocus" | "selected" | "multiple" | "hint" | "options" | "showSearch" | "searchProps" | "autocomplete" | "allowUnselect" | "closeOnSelect" | "Arrow" | "Search"> & Pick<ButtonProps, "view" | "leftAddons" | "rightAddons" | "loading"> & {
29
29
  options: Array<BaseSelectProps['options'][0] & {
30
30
  /**
31
31
  * Иконка, отображающаяся слева от текстового представления пункта
@@ -1,6 +1,7 @@
1
1
  import { __rest, __assign } from 'tslib';
2
2
  import React, { forwardRef } from 'react';
3
3
  import cn from 'classnames';
4
+ import { Popover } from '@alfalab/core-components-popover/esm';
4
5
  import { BaseSelect, OptionsList, Optgroup } from '@alfalab/core-components-select/esm/shared';
5
6
  import { Field } from './field/Component.js';
6
7
  import { Option } from './option/Component.js';
@@ -11,7 +12,7 @@ import '@alfalab/icons-glyph/ChevronDownMIcon';
11
12
  import '@alfalab/icons-glyph/MoreMIcon';
12
13
  import '@alfalab/icons-glyph/MoreSIcon';
13
14
 
14
- var styles = {"container":"picker-button__container_19ryi","optionsPopover":"picker-button__optionsPopover_19ryi","sideGap":"picker-button__sideGap_19ryi","option":"picker-button__option_19ryi"};
15
+ var styles = {"container":"picker-button__container_1074s","optionsPopover":"picker-button__optionsPopover_1074s","sideGap":"picker-button__sideGap_1074s","option":"picker-button__option_1074s"};
15
16
  require('./index.css')
16
17
 
17
18
  var SIDE_POSITIONS = ['right', 'right-start', 'right-end', 'left', 'left-start', 'left-end'];
@@ -30,7 +31,7 @@ var PickerButtonDesktop = forwardRef(function (_a, ref) {
30
31
  showArrow: showArrow,
31
32
  breakpoint: 1,
32
33
  };
33
- return (React.createElement(BaseSelect, __assign({}, restProps, { optionProps: { Checkmark: null }, ref: ref, Option: Option$1, Field: Field$1, size: size === 'm' ? 'm' : 's', fieldProps: __assign(__assign({}, fieldDefaultProps), fieldProps), Optgroup: Optgroup$1, OptionsList: OptionsList$1, className: cn(styles.container, className), popperClassName: cn('cc-picker-button', styles.optionsPopover, popperClassName, (_b = {},
34
+ return (React.createElement(BaseSelect, __assign({}, restProps, { Popover: Popover, view: 'desktop', optionProps: { Checkmark: null }, ref: ref, Option: Option$1, Field: Field$1, size: size === 'm' ? 'm' : 's', fieldProps: __assign(__assign({}, fieldDefaultProps), fieldProps), Optgroup: Optgroup$1, OptionsList: OptionsList$1, className: cn(styles.container, className), popperClassName: cn('cc-picker-button', styles.optionsPopover, popperClassName, (_b = {},
34
35
  _b[styles.sideGap] = isSideGap,
35
36
  _b)), optionClassName: cn(styles.option, optionClassName), selected: [], closeOnSelect: true })));
36
37
  });
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import React from 'react';
3
- import { BaseFormControlProps } from "./Component.responsive-3109f463";
3
+ import { BaseFormControlProps } from "./index-c44170fe";
4
4
  type FormControlMobileProps = Omit<BaseFormControlProps, 'styles' | 'colorStyles'>;
5
5
  declare const FormControlMobile: React.ForwardRefExoticComponent<FormControlMobileProps & React.RefAttributes<HTMLDivElement>>;
6
6
  export { FormControlMobileProps, FormControlMobile };
@@ -1,15 +1,15 @@
1
1
  /// <reference types="react" />
2
2
  import React from 'react';
3
- import { AdditionalMobileProps } from "@alfalab/core-components-select/shared";
3
+ import { AdditionalMobileProps, BottomSheetSelectMobileProps } from "@alfalab/core-components-select/shared";
4
4
  import { PickerButtonDesktopProps } from "./desktop/index";
5
- type PickerButtonMobileProps = Omit<PickerButtonDesktopProps, 'OptionsList' | 'Checkmark' | 'onScroll'> & AdditionalMobileProps & {
5
+ type PickerButtonMobileProps = Omit<PickerButtonDesktopProps, 'OptionsList' | 'Checkmark' | 'onScroll'> & AdditionalMobileProps & BottomSheetSelectMobileProps & {
6
6
  /**
7
7
  * Контрольная точка для кнопки, с нее начинается desktop версия
8
8
  * @default 1024
9
9
  */
10
10
  breakpoint?: number;
11
11
  };
12
- declare const PickerButtonMobile: React.ForwardRefExoticComponent<Omit<PickerButtonDesktopProps, "onScroll" | "OptionsList" | "Checkmark"> & AdditionalMobileProps & {
12
+ declare const PickerButtonMobile: React.ForwardRefExoticComponent<Omit<PickerButtonDesktopProps, "onScroll" | "Checkmark" | "OptionsList"> & AdditionalMobileProps & BottomSheetSelectMobileProps & {
13
13
  /**
14
14
  * Контрольная точка для кнопки, с нее начинается desktop версия
15
15
  * @default 1024
@@ -1,28 +1,26 @@
1
1
  /// <reference types="react" />
2
2
  import React from 'react';
3
- import { ButtonProps } from "@alfalab/core-components-button";
4
- import { AdditionalMobileProps } from "@alfalab/core-components-select/shared";
3
+ import { AdditionalMobileProps, BottomSheetSelectMobileProps } from "@alfalab/core-components-select/shared";
5
4
  import { PickerButtonDesktopProps } from "./desktop/index";
6
- type PickerButtonMatchMedia = 'desktop' | 'mobile';
7
- type PickerButtonResponsiveProps = PickerButtonDesktopProps & AdditionalMobileProps & {
5
+ type PickerButtonResponsiveProps = PickerButtonDesktopProps & AdditionalMobileProps & BottomSheetSelectMobileProps & {
8
6
  /**
9
7
  * Контрольная точка, с нее начинается desktop версия
10
8
  * @default 1024
11
9
  */
12
10
  breakpoint?: number;
13
11
  };
14
- declare const PickerButtonResponsive: React.ForwardRefExoticComponent<Omit<import("@alfalab/core-components-select/shared").BaseSelectProps, "size" | "placeholder" | "onFocus" | "selected" | "multiple" | "hint" | "options" | "autocomplete" | "allowUnselect" | "closeOnSelect" | "searchProps" | "showSearch" | "Arrow" | "Search"> & Pick<ButtonProps, "view" | "leftAddons" | "rightAddons" | "loading"> & {
12
+ declare const PickerButtonResponsive: React.ForwardRefExoticComponent<Omit<import("@alfalab/core-components-select/shared").BaseSelectProps, "size" | "placeholder" | "onFocus" | "selected" | "multiple" | "hint" | "options" | "showSearch" | "searchProps" | "autocomplete" | "allowUnselect" | "closeOnSelect" | "Arrow" | "Search"> & Pick<import("@alfalab/core-components-button").ButtonProps, "view" | "leftAddons" | "rightAddons" | "loading"> & {
15
13
  options: ((import("@alfalab/core-components-select/shared").OptionShape | import("@alfalab/core-components-select/shared").GroupShape) & {
16
14
  icon?: React.FC<React.SVGProps<SVGSVGElement>> | undefined;
17
15
  })[];
18
16
  size?: import("./types").PickerButtonSize | undefined;
19
17
  variant?: import("./types").PickerButtonVariant | undefined;
20
18
  showArrow?: boolean | undefined;
21
- } & AdditionalMobileProps & {
19
+ } & AdditionalMobileProps & BottomSheetSelectMobileProps & {
22
20
  /**
23
21
  * Контрольная точка, с нее начинается desktop версия
24
22
  * @default 1024
25
23
  */
26
24
  breakpoint?: number | undefined;
27
25
  } & React.RefAttributes<HTMLInputElement>>;
28
- export { PickerButtonMatchMedia, PickerButtonResponsiveProps, PickerButtonResponsive };
26
+ export { PickerButtonResponsiveProps, PickerButtonResponsive };
@@ -4,6 +4,7 @@ import { useMedia } from '@alfalab/hooks';
4
4
  import { PickerButtonDesktop } from './Component.desktop.js';
5
5
  import { PickerButtonMobile } from './Component.mobile.js';
6
6
  import 'classnames';
7
+ import '@alfalab/core-components-popover/esm';
7
8
  import '@alfalab/core-components-select/esm/shared';
8
9
  import './field/Component.js';
9
10
  import '@alfalab/core-components-button/esm';
@@ -0,0 +1,2 @@
1
+ declare const DEFAULT_VISIBLE_OPTIONS = 5;
2
+ export { DEFAULT_VISIBLE_OPTIONS };
@@ -2,6 +2,7 @@ export { PickerButtonDesktop } from '../Component.desktop.js';
2
2
  import 'tslib';
3
3
  import 'react';
4
4
  import 'classnames';
5
+ import '@alfalab/core-components-popover/esm';
5
6
  import '@alfalab/core-components-select/esm/shared';
6
7
  import '../field/Component.js';
7
8
  import '@alfalab/core-components-button/esm';