@alfalab/core-components-input-autocomplete 9.3.9 → 9.3.10

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 (39) hide show
  1. package/Component-7ca84eff.d.ts +4 -270
  2. package/Component.mobile.js +1 -1
  3. package/autocomplete-field/Component.js +1 -1
  4. package/autocomplete-field/index.css +2 -2
  5. package/autocomplete-mobile-field/Component.js +1 -1
  6. package/autocomplete-mobile-field/index.css +8 -8
  7. package/cssm/Component-7ca84eff.d.ts +4 -270
  8. package/cssm/{getDataTestId-3fe0d3e6.d.ts → index-3885b0d7.d.ts} +2 -1
  9. package/cssm/index-7ca84eff.d.ts +10 -3
  10. package/cssm/index-bdb4c6b9.d.ts +1 -0
  11. package/cssm/index-e81c389f.d.ts +341 -0
  12. package/esm/Component-7ca84eff.d.ts +4 -270
  13. package/esm/Component.mobile.js +1 -1
  14. package/esm/autocomplete-field/Component.js +1 -1
  15. package/esm/autocomplete-field/index.css +2 -2
  16. package/esm/autocomplete-mobile-field/Component.js +1 -1
  17. package/esm/autocomplete-mobile-field/index.css +8 -8
  18. package/esm/{getDataTestId-3fe0d3e6.d.ts → index-3885b0d7.d.ts} +2 -1
  19. package/esm/index-7ca84eff.d.ts +10 -3
  20. package/esm/index-bdb4c6b9.d.ts +1 -0
  21. package/esm/index-e81c389f.d.ts +341 -0
  22. package/esm/mobile.css +4 -4
  23. package/{getDataTestId-3fe0d3e6.d.ts → index-3885b0d7.d.ts} +2 -1
  24. package/index-7ca84eff.d.ts +10 -3
  25. package/index-bdb4c6b9.d.ts +1 -0
  26. package/index-e81c389f.d.ts +341 -0
  27. package/mobile.css +4 -4
  28. package/modern/Component-7ca84eff.d.ts +4 -270
  29. package/modern/Component.mobile.js +1 -1
  30. package/modern/autocomplete-field/Component.js +1 -1
  31. package/modern/autocomplete-field/index.css +2 -2
  32. package/modern/autocomplete-mobile-field/Component.js +1 -1
  33. package/modern/autocomplete-mobile-field/index.css +8 -8
  34. package/modern/{getDataTestId-3fe0d3e6.d.ts → index-3885b0d7.d.ts} +2 -1
  35. package/modern/index-7ca84eff.d.ts +10 -3
  36. package/modern/index-bdb4c6b9.d.ts +1 -0
  37. package/modern/index-e81c389f.d.ts +341 -0
  38. package/modern/mobile.css +4 -4
  39. package/package.json +2 -2
@@ -1,2 +1,3 @@
1
1
  declare const getDataTestId: (dataTestId?: string, element?: string) => string | undefined;
2
- export { getDataTestId };
2
+ declare const isClient: () => boolean;
3
+ export { getDataTestId, isClient };
@@ -4,6 +4,7 @@ import React from "react";
4
4
  import { HTMLAttributes, ReactNode, RefObject, FC } from "react";
5
5
  import { TransitionProps } from "react-transition-group/Transition";
6
6
  import { BaseModalProps } from "./index-bdb4c6b9";
7
+ import { NavigationBarProps } from "./index-e81c389f";
7
8
  import { SwipeableHandlers } from "react-swipeable/types";
8
9
  import { BackdropProps } from "./index-ebda875c";
9
10
  type BottomSheetTitleAlign = "center" | "left";
@@ -20,6 +21,14 @@ type BottomSheetProps = {
20
21
  * Заголовок
21
22
  */
22
23
  title?: ReactNode;
24
+ /**
25
+ * Размер заголовка
26
+ */
27
+ titleSize?: NavigationBarProps["titleSize"];
28
+ /**
29
+ * Подзаголовок.
30
+ */
31
+ subtitle?: NavigationBarProps["subtitle"];
23
32
  /**
24
33
  * Кнопка действия (обычно, это кнопка закрытия)
25
34
  */
@@ -188,7 +197,6 @@ type FooterProps = {
188
197
  className?: string;
189
198
  };
190
199
  declare const Footer: FC<FooterProps>;
191
- declare const isClient: () => boolean;
192
200
  type SwipeableBackdropProps = BackdropProps & {
193
201
  /**
194
202
  * Прозрачность бэкдропа
@@ -204,5 +212,4 @@ type SwipeableBackdropProps = BackdropProps & {
204
212
  opacityTimeout?: number;
205
213
  };
206
214
  declare const SwipeableBackdrop: FC<SwipeableBackdropProps>;
207
- export { BottomSheetTitleAlign, BottomSheetProps, HEADER_OFFSET, CLOSE_OFFSET, BottomSheet, FooterProps, Footer, isClient, SwipeableBackdropProps, SwipeableBackdrop };
208
- export * from "./getDataTestId-3fe0d3e6";
215
+ export { BottomSheetTitleAlign, BottomSheetProps, HEADER_OFFSET, CLOSE_OFFSET, BottomSheet, FooterProps, Footer, SwipeableBackdropProps, SwipeableBackdrop };
@@ -131,6 +131,7 @@ type BaseModalProps = {
131
131
  componentRef?: MutableRefObject<HTMLDivElement | null>;
132
132
  };
133
133
  type BaseModalContext = {
134
+ parentRef: React.RefObject<HTMLDivElement>;
134
135
  hasFooter?: boolean;
135
136
  hasHeader?: boolean;
136
137
  hasScroll?: boolean;
@@ -0,0 +1,341 @@
1
+ /// <reference types="react" />
2
+ /* eslint-disable complexity */
3
+ import React from "react";
4
+ import { FC, ReactNode, ButtonHTMLAttributes, ElementType, ForwardRefExoticComponent, RefAttributes, HTMLAttributes, AnchorHTMLAttributes } from "react";
5
+ import { ButtonProps } from "@alfalab/core-components-button";
6
+ interface CloserProps extends ButtonHTMLAttributes<HTMLButtonElement> {
7
+ /**
8
+ * Вид компонента
9
+ */
10
+ view: "desktop" | "mobile";
11
+ /**
12
+ * Дополнительный класс
13
+ */
14
+ className?: string;
15
+ /**
16
+ * Позиция крестика
17
+ */
18
+ align?: "left" | "right";
19
+ /**
20
+ * Фиксирует крестик
21
+ */
22
+ sticky?: boolean;
23
+ /**
24
+ * Иконка
25
+ */
26
+ icon?: ElementType;
27
+ /**
28
+ * Идентификатор для систем автоматизированного тестирования
29
+ */
30
+ dataTestId?: string;
31
+ /**
32
+ * Коллбэк закрытия.
33
+ */
34
+ onClose?: (event: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>, reason?: "backdropClick" | "escapeKeyDown" | "closerClick") => void;
35
+ }
36
+ declare const Closer: FC<CloserProps>;
37
+ type NavigationBarProps = {
38
+ /**
39
+ * Контент шапки
40
+ */
41
+ children?: ReactNode;
42
+ /**
43
+ * Заголовок шапки
44
+ */
45
+ title?: string;
46
+ /**
47
+ * Подзаголовок (доступен только в мобильной версии)
48
+ */
49
+ subtitle?: string;
50
+ /**
51
+ * Размер заголовка (compact доступен только в мобильной версии)
52
+ */
53
+ titleSize?: "default" | "compact";
54
+ /**
55
+ * Доп. класс для аддонов
56
+ */
57
+ addonClassName?: string;
58
+ /**
59
+ * Слот слева
60
+ */
61
+ leftAddons?: ReactNode;
62
+ /**
63
+ * Слот справа
64
+ */
65
+ rightAddons?: ReactNode;
66
+ /**
67
+ * Дополнительный класс для closer
68
+ */
69
+ closerClassName?: string;
70
+ /**
71
+ * Слот снизу
72
+ */
73
+ bottomAddons?: ReactNode;
74
+ /**
75
+ * Наличие компонента крестика
76
+ */
77
+ hasCloser?: boolean;
78
+ /**
79
+ * Наличие кнопки "Назад"
80
+ */
81
+ hasBackButton?: boolean;
82
+ /**
83
+ * Дополнительный класс для правого аддона
84
+ */
85
+ backButtonClassName?: string;
86
+ /**
87
+ * Дополнительный класс
88
+ */
89
+ className?: string;
90
+ /**
91
+ * Дополнительный класс для контента
92
+ */
93
+ contentClassName?: string;
94
+ /**
95
+ * Дополнительный класс для нижнего аддона
96
+ */
97
+ bottomAddonsClassName?: string;
98
+ /**
99
+ * Выравнивание заголовка
100
+ */
101
+ align?: "left" | "center";
102
+ /**
103
+ * Обрезать ли заголовок
104
+ */
105
+ trim?: boolean;
106
+ /**
107
+ * Фиксирует шапку
108
+ */
109
+ sticky?: boolean;
110
+ /**
111
+ * Идентификатор для систем автоматизированного тестирования
112
+ */
113
+ dataTestId?: string;
114
+ /**
115
+ * Фоновое изображение
116
+ */
117
+ imageUrl?: string;
118
+ /**
119
+ * Иконка closer.
120
+ */
121
+ closerIcon?: React.ElementType;
122
+ /**
123
+ * Обработчик закрытия
124
+ */
125
+ onClose?: CloserProps["onClose"];
126
+ /**
127
+ * обработчик клика по кнопке "назад"
128
+ */
129
+ onBack?: () => void;
130
+ /**
131
+ * Вид шапки - мобильный или десктоп
132
+ */
133
+ view: "desktop" | "mobile";
134
+ /**
135
+ * Ссылка на родительскую ноду.
136
+ */
137
+ parentRef?: React.RefObject<HTMLDivElement>;
138
+ };
139
+ declare const NavigationBar: FC<NavigationBarProps>;
140
+ interface BackArrowAddonProps extends React.HTMLAttributes<HTMLButtonElement> {
141
+ /**
142
+ * Текст после иконки
143
+ */
144
+ text?: string;
145
+ /**
146
+ * Дополнительный класс
147
+ */
148
+ className?: string;
149
+ /**
150
+ * Вид компонента
151
+ */
152
+ view: "mobile" | "desktop";
153
+ /**
154
+ * Прозрачность текста
155
+ */
156
+ textOpacity?: number;
157
+ /**
158
+ * Обработчик клика
159
+ */
160
+ onClick?: () => void;
161
+ }
162
+ declare const BackArrowAddon: React.FC<BackArrowAddonProps>;
163
+ declare const colors: readonly [
164
+ "tertiary",
165
+ "disabled",
166
+ "accent",
167
+ "primary",
168
+ "attention",
169
+ "positive",
170
+ "secondary",
171
+ "tertiary-inverted",
172
+ "primary-inverted",
173
+ "secondary-inverted",
174
+ "link",
175
+ "negative",
176
+ "static-primary-light",
177
+ "static-secondary-light",
178
+ "static-tertiary-light",
179
+ "static-primary-dark",
180
+ "static-secondary-dark",
181
+ "static-tertiary-dark",
182
+ "static-accent"
183
+ ];
184
+ type Color = (typeof colors)[number];
185
+ type TextElementType = HTMLParagraphElement | HTMLSpanElement | HTMLDivElement;
186
+ type NativeProps = HTMLAttributes<HTMLSpanElement>;
187
+ type TextBaseProps = {
188
+ /**
189
+ * [Вариант начертания](https://core-ds.github.io/core-components/master/?path=/docs/guidelines-typography--page)
190
+ */
191
+ view?: "primary-large" | "primary-medium" | "primary-small" | "secondary-large" | "secondary-medium" | "secondary-small" | "component" | "caps";
192
+ /**
193
+ * Цвет текста
194
+ */
195
+ color?: Color;
196
+ /**
197
+ * Толщина шрифта
198
+ */
199
+ weight?: "regular" | "medium" | "bold";
200
+ /**
201
+ * Делает цифры моноширинными
202
+ */
203
+ monospaceNumbers?: boolean;
204
+ /**
205
+ * HTML тег
206
+ */
207
+ tag?: "span" | "div";
208
+ /**
209
+ * Css-класс для стилизации (native prop)
210
+ */
211
+ className?: string;
212
+ /**
213
+ * Id компонента для тестов
214
+ */
215
+ dataTestId?: string;
216
+ /**
217
+ * Контент (native prop)
218
+ */
219
+ children?: React.ReactNode;
220
+ /**
221
+ * Добавляет отступы к тэгу 'p'
222
+ */
223
+ defaultMargins?: never;
224
+ /**
225
+ * Количество строк (не поддерживает IE)
226
+ */
227
+ rowLimit?: 1 | 2 | 3;
228
+ };
229
+ type TextPTagProps = Omit<TextBaseProps, "tag" | "defaultMargins"> & {
230
+ tag?: "p";
231
+ defaultMargins?: boolean;
232
+ };
233
+ type TextProps = Omit<NativeProps, "color"> & (TextBaseProps | TextPTagProps);
234
+ type NativeProps$0 = HTMLAttributes<HTMLHeadingElement>;
235
+ type TitleProps = Omit<NativeProps$0, "color"> & {
236
+ /**
237
+ * HTML тег
238
+ */
239
+ tag: "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "div";
240
+ /**
241
+ * [Вариант начертания](https://core-ds.github.io/core-components/master/?path=/docs/guidelines-typography--page)
242
+ */
243
+ view?: "xlarge" | "large" | "medium" | "small" | "xsmall";
244
+ /**
245
+ * Цвет текста
246
+ */
247
+ color?: Color;
248
+ /**
249
+ * Толщина шрифта
250
+ */
251
+ weight?: "regular" | "medium" | "bold";
252
+ /**
253
+ * Шрифт текста
254
+ */
255
+ font?: "styrene" | "system";
256
+ /**
257
+ * Добавляет отступы
258
+ */
259
+ defaultMargins?: boolean;
260
+ /**
261
+ * Css-класс для стилизации (native prop)
262
+ */
263
+ className?: string;
264
+ /**
265
+ * Id компонента для тестов
266
+ */
267
+ dataTestId?: string;
268
+ /**
269
+ * Контент (native prop)
270
+ */
271
+ children?: React.ReactNode;
272
+ /**
273
+ * Количество строк (не поддерживает IE)
274
+ */
275
+ rowLimit?: 1 | 2 | 3;
276
+ };
277
+ type TitleMobileProps = Omit<TitleProps, "defaultMargins">;
278
+ declare const Typography: {
279
+ Title: FC<TitleProps>;
280
+ Text: ForwardRefExoticComponent<TextProps & RefAttributes<TextElementType>>;
281
+ TitleResponsive: FC<TitleProps>;
282
+ TitleMobile: FC<TitleMobileProps>;
283
+ };
284
+ declare const typographyPresets: {
285
+ mobile: {
286
+ list: {
287
+ text: {
288
+ primary: {
289
+ tag: string;
290
+ view: string;
291
+ };
292
+ secondary: {
293
+ tag: string;
294
+ color: string;
295
+ view: string;
296
+ };
297
+ };
298
+ };
299
+ };
300
+ };
301
+ declare const TitleResponsive: FC<TitleProps>;
302
+ type IconButtonProps = {
303
+ /**
304
+ * Компонент иконки
305
+ */
306
+ icon: ElementType<{
307
+ className?: string;
308
+ }>;
309
+ /**
310
+ * Тип кнопки
311
+ */
312
+ view?: "primary" | "secondary" | "transparent" | "tertiary" | "negative";
313
+ /**
314
+ * Размер компонента
315
+ */
316
+ size?: "xxs" | "xs" | "s";
317
+ /**
318
+ * Дополнительный класс
319
+ */
320
+ className?: string;
321
+ /**
322
+ * Идентификатор для систем автоматизированного тестирования
323
+ */
324
+ dataTestId?: string;
325
+ /**
326
+ * Набор цветов для компонента
327
+ */
328
+ colors?: "default" | "inverted";
329
+ } & Omit<ButtonHTMLAttributes<HTMLButtonElement>, "size"> & Pick<ButtonProps, "href" | "loading"> & Pick<AnchorHTMLAttributes<HTMLAnchorElement>, "target" | "download">;
330
+ declare const IconButton: React.ForwardRefExoticComponent<{
331
+ icon: ElementType<{
332
+ className?: string;
333
+ }>;
334
+ view?: "primary" | "secondary" | "tertiary" | "transparent" | "negative" | undefined;
335
+ size?: "xs" | "s" | "xxs" | undefined;
336
+ className?: string | undefined;
337
+ dataTestId?: string | undefined;
338
+ colors?: "default" | "inverted" | undefined;
339
+ } & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "size"> & Pick<ButtonProps, "href" | "loading"> & Pick<React.AnchorHTMLAttributes<HTMLAnchorElement>, "download" | "target"> & React.RefAttributes<HTMLButtonElement>>;
340
+ export { NavigationBar, BackArrowAddonProps, BackArrowAddon, Typography, typographyPresets, TitleResponsive, IconButtonProps, IconButton, CloserProps, Closer };
341
+ export type { TitleProps, TextProps, Color, NavigationBarProps };
package/esm/mobile.css CHANGED
@@ -1,4 +1,4 @@
1
- /* hash: 152d7 */
1
+ /* hash: 12yao */
2
2
  :root {
3
3
  } /* deprecated */ :root {
4
4
  } :root {
@@ -16,11 +16,11 @@
16
16
  --gap-m: 16px;
17
17
  } :root {
18
18
  } :root {
19
- } .input-autocomplete__bottomSheetInput_hzjpp {
19
+ } .input-autocomplete__bottomSheetInput_mknlh {
20
20
  padding: 0 var(--gap-xs) var(--gap-xs);
21
21
  box-sizing: border-box;
22
- } .input-autocomplete__footer_hzjpp {
22
+ } .input-autocomplete__footer_mknlh {
23
23
  display: flex
24
- } .input-autocomplete__footer_hzjpp > button + button {
24
+ } .input-autocomplete__footer_mknlh > button + button {
25
25
  margin-left: var(--gap-m);
26
26
  }
@@ -1,2 +1,3 @@
1
1
  declare const getDataTestId: (dataTestId?: string, element?: string) => string | undefined;
2
- export { getDataTestId };
2
+ declare const isClient: () => boolean;
3
+ export { getDataTestId, isClient };
@@ -4,6 +4,7 @@ import React from "react";
4
4
  import { HTMLAttributes, ReactNode, RefObject, FC } from "react";
5
5
  import { TransitionProps } from "react-transition-group/Transition";
6
6
  import { BaseModalProps } from "./index-bdb4c6b9";
7
+ import { NavigationBarProps } from "./index-e81c389f";
7
8
  import { SwipeableHandlers } from "react-swipeable/types";
8
9
  import { BackdropProps } from "./index-ebda875c";
9
10
  type BottomSheetTitleAlign = "center" | "left";
@@ -20,6 +21,14 @@ type BottomSheetProps = {
20
21
  * Заголовок
21
22
  */
22
23
  title?: ReactNode;
24
+ /**
25
+ * Размер заголовка
26
+ */
27
+ titleSize?: NavigationBarProps["titleSize"];
28
+ /**
29
+ * Подзаголовок.
30
+ */
31
+ subtitle?: NavigationBarProps["subtitle"];
23
32
  /**
24
33
  * Кнопка действия (обычно, это кнопка закрытия)
25
34
  */
@@ -188,7 +197,6 @@ type FooterProps = {
188
197
  className?: string;
189
198
  };
190
199
  declare const Footer: FC<FooterProps>;
191
- declare const isClient: () => boolean;
192
200
  type SwipeableBackdropProps = BackdropProps & {
193
201
  /**
194
202
  * Прозрачность бэкдропа
@@ -204,5 +212,4 @@ type SwipeableBackdropProps = BackdropProps & {
204
212
  opacityTimeout?: number;
205
213
  };
206
214
  declare const SwipeableBackdrop: FC<SwipeableBackdropProps>;
207
- export { BottomSheetTitleAlign, BottomSheetProps, HEADER_OFFSET, CLOSE_OFFSET, BottomSheet, FooterProps, Footer, isClient, SwipeableBackdropProps, SwipeableBackdrop };
208
- export * from "./getDataTestId-3fe0d3e6";
215
+ export { BottomSheetTitleAlign, BottomSheetProps, HEADER_OFFSET, CLOSE_OFFSET, BottomSheet, FooterProps, Footer, SwipeableBackdropProps, SwipeableBackdrop };
@@ -131,6 +131,7 @@ type BaseModalProps = {
131
131
  componentRef?: MutableRefObject<HTMLDivElement | null>;
132
132
  };
133
133
  type BaseModalContext = {
134
+ parentRef: React.RefObject<HTMLDivElement>;
134
135
  hasFooter?: boolean;
135
136
  hasHeader?: boolean;
136
137
  hasScroll?: boolean;