@alfalab/core-components-input-autocomplete 9.3.26 → 9.4.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 (157) hide show
  1. package/Component-3885b0d7.d.ts +1 -1
  2. package/Component-425c8522.d.ts +53 -0
  3. package/Component-4b555174.d.ts +18 -0
  4. package/Component-5e1b8383.d.ts +5 -0
  5. package/Component-bdb4c6b9.d.ts +12 -0
  6. package/Component-ebda875c.d.ts +101 -0
  7. package/Component-f12ee135.d.ts +71 -0
  8. package/Component.desktop.d.ts +1 -1
  9. package/Component.mobile-b2c0420d.d.ts +35 -0
  10. package/Component.mobile.d.ts +1 -1
  11. package/Component.mobile.js +6 -7
  12. package/Component.modal.mobile.d.ts +115 -0
  13. package/Component.modal.mobile.js +77 -0
  14. package/Component.responsive.d.ts +2 -2
  15. package/Component.responsive.js +1 -0
  16. package/Context-bdb4c6b9.d.ts +4 -0
  17. package/ResponsiveContext-baf4875b.d.ts +5 -0
  18. package/autocomplete-field/Component.d.ts +1 -1
  19. package/autocomplete-field/Component.js +1 -1
  20. package/autocomplete-field/index.css +2 -2
  21. package/autocomplete-mobile-field/Component.d.ts +1 -1
  22. package/autocomplete-mobile-field/Component.js +1 -1
  23. package/autocomplete-mobile-field/index.css +8 -8
  24. package/consts-f777ba1a.d.ts +2 -0
  25. package/cssm/Component-3885b0d7.d.ts +1 -1
  26. package/cssm/Component-425c8522.d.ts +53 -0
  27. package/cssm/Component-4b555174.d.ts +18 -0
  28. package/cssm/Component-5e1b8383.d.ts +5 -0
  29. package/cssm/Component-bdb4c6b9.d.ts +12 -0
  30. package/cssm/Component-ebda875c.d.ts +101 -0
  31. package/cssm/Component-f12ee135.d.ts +71 -0
  32. package/cssm/Component.desktop.d.ts +1 -1
  33. package/cssm/Component.mobile-b2c0420d.d.ts +35 -0
  34. package/cssm/Component.mobile.d.ts +1 -1
  35. package/cssm/Component.mobile.js +4 -3
  36. package/cssm/Component.modal.mobile.d.ts +115 -0
  37. package/cssm/Component.modal.mobile.js +79 -0
  38. package/cssm/Component.responsive.d.ts +2 -2
  39. package/cssm/Context-bdb4c6b9.d.ts +4 -0
  40. package/cssm/ResponsiveContext-baf4875b.d.ts +5 -0
  41. package/cssm/autocomplete-field/Component.d.ts +1 -1
  42. package/cssm/autocomplete-mobile-field/Component.d.ts +1 -1
  43. package/cssm/consts-f777ba1a.d.ts +2 -0
  44. package/cssm/hook-4b555174.d.ts +62 -0
  45. package/cssm/index-136acbb1.d.ts +28 -0
  46. package/cssm/index-3e68f8db.d.ts +5 -0
  47. package/cssm/index-425c8522.d.ts +6 -0
  48. package/cssm/index-bdb4c6b9.d.ts +172 -0
  49. package/cssm/index-e81c389f.d.ts +3 -0
  50. package/cssm/index-ebda875c.d.ts +192 -53
  51. package/cssm/index-f12ee135.d.ts +7 -217
  52. package/cssm/mobile.d.ts +1 -0
  53. package/cssm/mobile.js +3 -0
  54. package/cssm/mobile.module.css +1 -1
  55. package/cssm/typings-5e1b8383.d.ts +550 -0
  56. package/cssm/typings-bdb4c6b9.d.ts +52 -0
  57. package/cssm/utils-5e1b8383.d.ts +38 -0
  58. package/esm/Component-3885b0d7.d.ts +1 -1
  59. package/esm/Component-425c8522.d.ts +53 -0
  60. package/esm/Component-4b555174.d.ts +18 -0
  61. package/esm/Component-5e1b8383.d.ts +5 -0
  62. package/esm/Component-bdb4c6b9.d.ts +8 -0
  63. package/esm/Component-ebda875c.d.ts +101 -0
  64. package/esm/Component-f12ee135.d.ts +71 -0
  65. package/esm/Component.desktop.d.ts +1 -1
  66. package/esm/Component.mobile-e81c389f.d.ts +38 -0
  67. package/esm/Component.mobile.d.ts +1 -1
  68. package/esm/Component.mobile.js +5 -6
  69. package/esm/Component.modal.mobile.d.ts +115 -0
  70. package/esm/Component.modal.mobile.js +66 -0
  71. package/esm/Component.responsive.d.ts +2 -2
  72. package/esm/Component.responsive.js +1 -0
  73. package/esm/Context-bdb4c6b9.d.ts +4 -0
  74. package/esm/ResponsiveContext-baf4875b.d.ts +5 -0
  75. package/esm/autocomplete-field/Component.d.ts +1 -1
  76. package/esm/autocomplete-field/Component.js +1 -1
  77. package/esm/autocomplete-field/index.css +2 -2
  78. package/esm/autocomplete-mobile-field/Component.d.ts +1 -1
  79. package/esm/autocomplete-mobile-field/Component.js +1 -1
  80. package/esm/autocomplete-mobile-field/index.css +8 -8
  81. package/esm/consts-f777ba1a.d.ts +2 -0
  82. package/esm/hook-4b555174.d.ts +62 -0
  83. package/esm/index-136acbb1.d.ts +28 -0
  84. package/esm/index-3e68f8db.d.ts +5 -0
  85. package/esm/index-425c8522.d.ts +6 -0
  86. package/esm/index-bdb4c6b9.d.ts +172 -0
  87. package/esm/index-e81c389f.d.ts +3 -0
  88. package/esm/index-ebda875c.d.ts +192 -53
  89. package/esm/index-f12ee135.d.ts +7 -217
  90. package/esm/index.js +1 -0
  91. package/esm/mobile.css +4 -4
  92. package/esm/mobile.d.ts +1 -0
  93. package/esm/mobile.js +3 -0
  94. package/esm/mobile.module-0ca7666f.js +4 -0
  95. package/esm/responsive.js +1 -0
  96. package/esm/typings-5e1b8383.d.ts +550 -0
  97. package/esm/typings-bdb4c6b9.d.ts +52 -0
  98. package/esm/utils-5e1b8383.d.ts +38 -0
  99. package/hook-4b555174.d.ts +62 -0
  100. package/index-136acbb1.d.ts +28 -0
  101. package/index-3e68f8db.d.ts +5 -0
  102. package/index-425c8522.d.ts +6 -0
  103. package/index-bdb4c6b9.d.ts +172 -0
  104. package/index-e81c389f.d.ts +3 -0
  105. package/index-ebda875c.d.ts +192 -53
  106. package/index-f12ee135.d.ts +7 -217
  107. package/index.js +1 -0
  108. package/mobile.css +4 -4
  109. package/mobile.d.ts +1 -0
  110. package/mobile.js +4 -0
  111. package/mobile.module-48c4c311.js +6 -0
  112. package/modern/Component-3885b0d7.d.ts +1 -1
  113. package/modern/Component-425c8522.d.ts +53 -0
  114. package/modern/Component-4b555174.d.ts +18 -0
  115. package/modern/Component-5e1b8383.d.ts +5 -0
  116. package/modern/Component-bdb4c6b9.d.ts +8 -0
  117. package/modern/Component-ebda875c.d.ts +101 -0
  118. package/modern/Component-f12ee135.d.ts +71 -0
  119. package/modern/Component.desktop.d.ts +5 -5
  120. package/modern/Component.mobile-e81c389f.d.ts +38 -0
  121. package/modern/Component.mobile.d.ts +1 -1
  122. package/modern/Component.mobile.js +5 -7
  123. package/modern/Component.modal.mobile.d.ts +115 -0
  124. package/modern/Component.modal.mobile.js +73 -0
  125. package/modern/Component.responsive.d.ts +6 -6
  126. package/modern/Component.responsive.js +1 -0
  127. package/modern/Context-bdb4c6b9.d.ts +4 -0
  128. package/modern/ResponsiveContext-baf4875b.d.ts +5 -0
  129. package/modern/autocomplete-field/Component.d.ts +1 -1
  130. package/modern/autocomplete-field/Component.js +1 -1
  131. package/modern/autocomplete-field/index.css +2 -2
  132. package/modern/autocomplete-mobile-field/Component.d.ts +1 -1
  133. package/modern/autocomplete-mobile-field/Component.js +1 -1
  134. package/modern/autocomplete-mobile-field/index.css +8 -8
  135. package/modern/consts-f777ba1a.d.ts +2 -0
  136. package/modern/hook-4b555174.d.ts +62 -0
  137. package/modern/index-136acbb1.d.ts +28 -0
  138. package/modern/index-3e68f8db.d.ts +5 -0
  139. package/modern/index-425c8522.d.ts +6 -0
  140. package/modern/index-bdb4c6b9.d.ts +172 -0
  141. package/modern/index-e81c389f.d.ts +3 -0
  142. package/modern/index-ebda875c.d.ts +192 -53
  143. package/modern/index-f12ee135.d.ts +7 -217
  144. package/modern/index.js +1 -0
  145. package/modern/mobile.css +4 -4
  146. package/modern/mobile.d.ts +1 -0
  147. package/modern/mobile.js +3 -0
  148. package/modern/mobile.module-95a2557d.js +4 -0
  149. package/modern/responsive.js +1 -0
  150. package/modern/typings-5e1b8383.d.ts +550 -0
  151. package/modern/typings-bdb4c6b9.d.ts +52 -0
  152. package/modern/utils-5e1b8383.d.ts +38 -0
  153. package/package.json +5 -5
  154. package/responsive.js +1 -0
  155. package/typings-5e1b8383.d.ts +550 -0
  156. package/typings-bdb4c6b9.d.ts +52 -0
  157. package/utils-5e1b8383.d.ts +38 -0
@@ -0,0 +1,172 @@
1
+ /// <reference types="react-transition-group" />
2
+ /// <reference types="react" />
3
+ /* eslint-disable jsx-a11y/no-noninteractive-element-interactions */
4
+ import React from "react";
5
+ import { FC, KeyboardEvent, MouseEvent, MutableRefObject, ReactNode, Ref } from "react";
6
+ import { TransitionProps } from "react-transition-group/Transition";
7
+ import { BackdropProps, PortalProps } from "./index-ebda875c";
8
+ type BaseModalProps = {
9
+ /**
10
+ * Контент
11
+ */
12
+ children?: ReactNode;
13
+ /**
14
+ * Компонент бэкдропа
15
+ */
16
+ Backdrop?: FC<BackdropProps>;
17
+ /**
18
+ * Свойства для Бэкдропа
19
+ */
20
+ backdropProps?: Partial<BackdropProps> & Record<string, unknown>;
21
+ /**
22
+ * Нода, компонент или функция возвращающая их
23
+ *
24
+ * Контейнер к которому будут добавляться порталы
25
+ */
26
+ container?: PortalProps["getPortalContainer"];
27
+ /**
28
+ * Отключает автоматический перевод фокуса на модалку при открытии
29
+ * @default false
30
+ */
31
+ disableAutoFocus?: boolean;
32
+ /**
33
+ * Отключает ловушку фокуса
34
+ * @default false
35
+ */
36
+ disableFocusLock?: boolean;
37
+ /**
38
+ * Отключает восстановление фокуса на предыдущем элементе после закрытия модалки
39
+ * @default false
40
+ */
41
+ disableRestoreFocus?: boolean;
42
+ /**
43
+ * Отключает вызов `callback` при нажатии Escape
44
+ * @default false
45
+ */
46
+ disableEscapeKeyDown?: boolean;
47
+ /**
48
+ * Отключает вызов `callback` при клике на бэкдроп
49
+ * @default false
50
+ */
51
+ disableBackdropClick?: boolean;
52
+ /**
53
+ * Отключает блокировку скролла при открытии модального окна
54
+ * @default false
55
+ */
56
+ disableBlockingScroll?: boolean;
57
+ /**
58
+ * Содержимое модалки всегда в DOM
59
+ * @default false
60
+ */
61
+ keepMounted?: boolean;
62
+ /**
63
+ * Управление видимостью модалки
64
+ */
65
+ open: boolean;
66
+ /**
67
+ * Дополнительный класс
68
+ */
69
+ className?: string;
70
+ /**
71
+ * Дополнительный класс
72
+ */
73
+ contentClassName?: string;
74
+ /**
75
+ * Дополнительный класс для обертки (Modal)
76
+ */
77
+ wrapperClassName?: string;
78
+ /**
79
+ * Обработчик скролла контента
80
+ */
81
+ scrollHandler?: "wrapper" | "content" | MutableRefObject<HTMLDivElement | null>;
82
+ /**
83
+ * Пропсы для анимации (CSSTransition)
84
+ */
85
+ transitionProps?: Partial<TransitionProps>;
86
+ /**
87
+ * Рендерить ли в контейнер через портал.
88
+ * @default true
89
+ */
90
+ usePortal?: boolean;
91
+ /**
92
+ * Обработчик события нажатия на бэкдроп
93
+ */
94
+ onBackdropClick?: (event: MouseEvent) => void;
95
+ /**
96
+ * Обработчик события нажатия на Escape
97
+ *
98
+ * Если `disableEscapeKeyDown` - false и модальное окно в фокусе
99
+ */
100
+ onEscapeKeyDown?: (event: KeyboardEvent) => void;
101
+ /**
102
+ * Обработчик закрытия
103
+ */
104
+ onClose?: (event: MouseEvent<HTMLElement> | KeyboardEvent<HTMLElement>, reason?: "backdropClick" | "escapeKeyDown" | "closerClick") => void;
105
+ /**
106
+ * Обработчик события onEntered компонента Transition
107
+ */
108
+ onMount?: () => void;
109
+ /**
110
+ * Обработчик события onExited компонента Transition
111
+ */
112
+ onUnmount?: () => void;
113
+ /**
114
+ * Идентификатор для систем автоматизированного тестирования
115
+ */
116
+ dataTestId?: string;
117
+ /**
118
+ * z-index компонента
119
+ */
120
+ zIndex?: number;
121
+ /**
122
+ * Реф, который должен быть установлен компонентной области
123
+ */
124
+ componentRef?: MutableRefObject<HTMLDivElement | null>;
125
+ };
126
+ type BaseModalContext = {
127
+ parentRef: React.RefObject<HTMLDivElement>;
128
+ componentRef: React.RefObject<HTMLDivElement>;
129
+ hasFooter?: boolean;
130
+ hasHeader?: boolean;
131
+ hasScroll?: boolean;
132
+ headerHighlighted?: boolean;
133
+ footerHighlighted?: boolean;
134
+ headerOffset?: number;
135
+ setHeaderOffset: (offset: number) => void;
136
+ contentRef: Ref<HTMLElement>;
137
+ setHasHeader: (exists: boolean) => void;
138
+ setHasFooter: (exists: boolean) => void;
139
+ onClose: Required<BaseModalProps>["onClose"];
140
+ };
141
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
142
+ declare const BaseModalContext: React.Context<BaseModalContext>;
143
+ declare const BaseModal: React.ForwardRefExoticComponent<BaseModalProps & React.RefAttributes<HTMLDivElement>>;
144
+ declare function isScrolledToTop(target: HTMLElement): boolean;
145
+ declare function isScrolledToBottom(target: HTMLElement): boolean;
146
+ declare function hasScrollbar(target: HTMLElement): boolean;
147
+ declare const getScrollbarSize: () => number;
148
+ declare const restoreContainerStyles: (container: HTMLElement) => void;
149
+ declare const handleContainer: (container?: HTMLElement) => void;
150
+ type SavedStyle = {
151
+ value: string;
152
+ key: string;
153
+ el: HTMLElement;
154
+ };
155
+ type RestoreStyle = {
156
+ container: HTMLElement;
157
+ modals: number;
158
+ styles: SavedStyle[];
159
+ };
160
+ declare class ModalStore {
161
+ private readonly restoreStyles;
162
+ constructor();
163
+ getRestoreStyles: () => RestoreStyle[];
164
+ }
165
+ declare const getModalStore: () => ModalStore;
166
+ declare class GlobalStore {
167
+ private readonly modalStore;
168
+ constructor();
169
+ getModalStore: () => ModalStore;
170
+ }
171
+ export { BaseModalProps, BaseModalContext, BaseModal, isScrolledToTop, isScrolledToBottom, hasScrollbar, getScrollbarSize, restoreContainerStyles, handleContainer, getModalStore, GlobalStore };
172
+ export type { SavedStyle };
@@ -0,0 +1,3 @@
1
+ export * from "./Component-3885b0d7";
2
+ export * from "./index-ebda875c";
3
+ export type { NavigationBarProps } from "./types-ebda875c";
@@ -1,80 +1,219 @@
1
1
  /// <reference types="react" />
2
+ /// <reference types="react-transition-group" />
2
3
  import React from "react";
3
- import { ButtonHTMLAttributes, ElementType, FC, AnchorHTMLAttributes } from "react";
4
- import { ButtonProps } from "@alfalab/core-components-button";
5
- interface CloserProps extends ButtonHTMLAttributes<HTMLButtonElement> {
4
+ import { HTMLAttributes } from "react";
5
+ type ScrollbarProps = {
6
6
  /**
7
- * Вид компонента
7
+ * Оборачиваемый элемент.
8
8
  */
9
- view: "desktop" | "mobile";
9
+ children?: React.ReactNode;
10
10
  /**
11
- * Дополнительный класс
11
+ * Дополнительный класс на корневой элемент.
12
12
  */
13
13
  className?: string;
14
14
  /**
15
- * Позиция крестика
16
- */
17
- align?: "left" | "right";
18
- /**
19
- * Фиксирует крестик
20
- */
21
- sticky?: boolean;
22
- /**
23
- * Иконка
24
- */
25
- icon?: ElementType;
26
- /**
27
- * Идентификатор для систем автоматизированного тестирования
15
+ * Набор цветов для компонента
28
16
  */
29
- dataTestId?: string;
17
+ colors?: "default" | "inverted";
30
18
  /**
31
- * Коллбэк закрытия.
19
+ * Растягивать контент по горизонтали по ширине содержимого.
32
20
  */
33
- onClose?: (event: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>, reason?: "backdropClick" | "escapeKeyDown" | "closerClick") => void;
34
- }
35
- declare const Closer: FC<CloserProps>;
36
- type IconButtonProps = {
21
+ horizontalAutoStretch?: boolean;
37
22
  /**
38
- * Компонент иконки
23
+ * Название css свойства, которое устанавливается на контейнер при horizontalAutoStretch.
39
24
  */
40
- icon: ElementType<{
41
- className?: string;
42
- }>;
25
+ widthPropName?: "minWidth" | "width" | "maxWidth";
43
26
  /**
44
- * Тип кнопки
27
+ * Включает автоскрытие ползунка.
45
28
  */
46
- view?: "primary" | "secondary" | "transparent" | "tertiary" | "negative";
29
+ autoHide?: boolean;
47
30
  /**
48
- * Размер компонента
31
+ * Время в мс, определяющее задержку до исчезновения полосы прокрутки (при включенной опции autoHide).
49
32
  */
50
- size?: "xxs" | "xs" | "s";
33
+ autoHideTimeout?: number;
51
34
  /**
52
- * Дополнительный класс
35
+ * Принудительное отображение полосы прокрутки.
53
36
  */
54
- className?: string;
37
+ forceVisible?: boolean | "x" | "y";
55
38
  /**
56
- * Выравнивание иконки
57
- * @default 'center'
39
+ * Управление поведением клика по треку.
40
+ * Если true, то будет выполняться прокрутка к месту клика.
58
41
  */
59
- alignIcon?: "left" | "center" | "right";
42
+ clickOnTrack?: boolean;
60
43
  /**
61
- * Идентификатор для систем автоматизированного тестирования
44
+ * HTML-aтрибуты на прокручиваемый узел.
62
45
  */
63
- dataTestId?: string;
46
+ scrollableNodeProps?: React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>;
64
47
  /**
65
- * Набор цветов для компонента
48
+ * HTML-aтрибуты на узел с контентом.
66
49
  */
67
- colors?: "default" | "inverted";
68
- } & Omit<ButtonHTMLAttributes<HTMLButtonElement>, "size"> & Pick<ButtonProps, "href" | "loading"> & Pick<AnchorHTMLAttributes<HTMLAnchorElement>, "target" | "download">;
69
- declare const IconButton: React.ForwardRefExoticComponent<{
70
- icon: ElementType<{
71
- className?: string;
72
- }>;
73
- view?: "primary" | "secondary" | "tertiary" | "negative" | "transparent" | undefined;
74
- size?: "xs" | "s" | "xxs" | undefined;
50
+ contentNodeProps?: React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>;
51
+ } & HTMLAttributes<HTMLDivElement>;
52
+ declare const Scrollbar: React.ForwardRefExoticComponent<{
53
+ children?: React.ReactNode;
75
54
  className?: string | undefined;
76
- alignIcon?: "right" | "left" | "center" | undefined;
77
- dataTestId?: string | undefined;
78
55
  colors?: "default" | "inverted" | undefined;
79
- } & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "size"> & Pick<ButtonProps, "href" | "loading"> & Pick<React.AnchorHTMLAttributes<HTMLAnchorElement>, "download" | "target"> & React.RefAttributes<HTMLButtonElement>>;
80
- export { CloserProps, Closer, IconButtonProps, IconButton };
56
+ horizontalAutoStretch?: boolean | undefined;
57
+ widthPropName?: "width" | "minWidth" | "maxWidth" | undefined;
58
+ autoHide?: boolean | undefined;
59
+ autoHideTimeout?: number | undefined;
60
+ forceVisible?: boolean | "x" | "y" | undefined;
61
+ clickOnTrack?: boolean | undefined;
62
+ scrollableNodeProps?: React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement> | undefined;
63
+ contentNodeProps?: React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement> | undefined;
64
+ } & React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
65
+ declare class SimpleBar {
66
+ static getRtlHelpers(): {
67
+ isRtlScrollingInverted: boolean;
68
+ isRtlScrollbarInverted: boolean;
69
+ };
70
+ static defaultOptions: {
71
+ autoHide: boolean;
72
+ forceVisible: boolean;
73
+ clickOnTrack: boolean;
74
+ clickOnTrackSpeed: number;
75
+ classNames: {
76
+ contentEl: string;
77
+ contentWrapper: string;
78
+ offset: string;
79
+ mask: string;
80
+ wrapper: string;
81
+ placeholder: string;
82
+ scrollbar: string;
83
+ track: string;
84
+ heightAutoObserverWrapperEl: string;
85
+ heightAutoObserverEl: string;
86
+ visible: string;
87
+ horizontal: string;
88
+ vertical: string;
89
+ hover: string;
90
+ dragging: string;
91
+ };
92
+ scrollbarMinSize: number;
93
+ scrollbarMaxSize: number;
94
+ timeout: number;
95
+ };
96
+ static getOffset(el: any): {
97
+ top: any;
98
+ left: any;
99
+ };
100
+ static instances: WeakMap<object, any>;
101
+ constructor(element: any, options: any);
102
+ el: any;
103
+ minScrollbarWidth: number;
104
+ options: any;
105
+ classNames: any;
106
+ axis: {
107
+ x: {
108
+ scrollOffsetAttr: string;
109
+ sizeAttr: string;
110
+ scrollSizeAttr: string;
111
+ offsetSizeAttr: string;
112
+ offsetAttr: string;
113
+ overflowAttr: string;
114
+ dragOffset: number;
115
+ isOverflowing: boolean;
116
+ isVisible: boolean;
117
+ forceVisible: boolean;
118
+ track: {};
119
+ scrollbar: {};
120
+ };
121
+ y: {
122
+ scrollOffsetAttr: string;
123
+ sizeAttr: string;
124
+ scrollSizeAttr: string;
125
+ offsetSizeAttr: string;
126
+ offsetAttr: string;
127
+ overflowAttr: string;
128
+ dragOffset: number;
129
+ isOverflowing: boolean;
130
+ isVisible: boolean;
131
+ forceVisible: boolean;
132
+ track: {};
133
+ scrollbar: {};
134
+ };
135
+ };
136
+ removePreventClickId: any;
137
+ recalculate(): void;
138
+ onMouseMove: (e: any) => void;
139
+ hideScrollbars: () => void;
140
+ onWindowResize: () => void;
141
+ init(): void;
142
+ scrollbarWidth: any;
143
+ initDOM(): void;
144
+ wrapperEl: any;
145
+ contentWrapperEl: any;
146
+ contentEl: any;
147
+ offsetEl: any;
148
+ maskEl: any;
149
+ placeholderEl: any;
150
+ heightAutoObserverWrapperEl: any;
151
+ heightAutoObserverEl: any;
152
+ setAccessibilityAttributes(): void;
153
+ initListeners(): void;
154
+ resizeObserver: any;
155
+ mutationObserver: any;
156
+ elStyles: any;
157
+ isRtl: boolean | undefined;
158
+ getScrollbarSize(axis?: string): number;
159
+ positionScrollbar(axis?: string): void;
160
+ toggleTrackVisibility(axis?: string): void;
161
+ hideNativeScrollbar(): void;
162
+ onScroll: () => void;
163
+ scrollXTicking: boolean | undefined;
164
+ scrollYTicking: boolean | undefined;
165
+ scrollX: () => void;
166
+ scrollY: () => void;
167
+ onMouseEnter: () => void;
168
+ mouseX: any;
169
+ mouseY: any;
170
+ onMouseMoveForAxis(axis?: string): void;
171
+ onMouseLeave: () => void;
172
+ onMouseLeaveForAxis(axis?: string): void;
173
+ showScrollbar(axis?: string): void;
174
+ onPointerEvent: (e: any) => void;
175
+ onDragStart(e: any, axis?: string): void;
176
+ draggedAxis: string | undefined;
177
+ drag: (e: any) => void;
178
+ onEndDrag: (e: any) => void;
179
+ preventClick: (e: any) => void;
180
+ onTrackClick(e: any, axis?: string): void;
181
+ getContentElement(): any;
182
+ getScrollElement(): any;
183
+ getScrollbarWidth(): any;
184
+ removeListeners(): void;
185
+ unMount(): void;
186
+ isWithinBounds(bbox: any): boolean;
187
+ findChild(el: any, query: any): any;
188
+ }
189
+ declare function memoize(func: Function, resolver?: Function | undefined): Function;
190
+ declare namespace memoize$0 {
191
+ export { MapCache as Cache };
192
+ }
193
+ declare function MapCache(entries?: any[] | undefined): void;
194
+ declare class MapCache {
195
+ private constructor();
196
+ clear: typeof mapCacheClear;
197
+ delete: typeof mapCacheDelete;
198
+ get: typeof mapCacheGet;
199
+ has: typeof mapCacheHas;
200
+ set: typeof mapCacheSet;
201
+ }
202
+ declare function mapCacheClear(): void;
203
+ declare class mapCacheClear {
204
+ __data__: {
205
+ hash: Hash;
206
+ map: any;
207
+ string: Hash;
208
+ };
209
+ }
210
+ declare function mapCacheDelete(key: string): boolean;
211
+ declare function mapCacheGet(key: string): any;
212
+ declare function mapCacheHas(key: string): boolean;
213
+ declare function mapCacheSet(key: string, value: any): Object;
214
+ declare var canUseDOM: boolean;
215
+ declare function scrollbarWidth(el: any): any;
216
+ declare function getElementWindow(element: any): any;
217
+ declare function getElementDocument(element: any): any;
218
+ declare function getOptions(obj: any): unknown;
219
+ export { memoize as default, ScrollbarProps, Scrollbar, getElementWindow, getElementDocument, getOptions };
@@ -1,174 +1,13 @@
1
1
  /// <reference types="react-transition-group" />
2
2
  /// <reference types="react" />
3
3
  import React from "react";
4
- import { HTMLAttributes, ReactNode, RefObject, FC, KeyboardEvent, MouseEvent, MutableRefObject } from "react";
4
+ import { HTMLAttributes, ReactNode, RefObject, FC } from "react";
5
5
  import { TransitionProps } from "react-transition-group/Transition";
6
- import { CSSTransitionClassNames } from "react-transition-group/CSSTransition";
7
- import { NavigationBarProps } from "./types-ebda875c";
6
+ import { BaseModalProps } from "./index-bdb4c6b9";
7
+ import { NavigationBarProps } from "./index-e81c389f";
8
+ import { BackgroundColorType } from "./index-425c8522";
8
9
  import { SwipeableHandlers } from "react-swipeable";
9
- type BackdropProps = Partial<TransitionProps> & {
10
- /**
11
- * Прозрачный бэкдроп
12
- */
13
- invisible?: boolean;
14
- /**
15
- * Управляет видимостью компонента
16
- */
17
- open: boolean;
18
- /**
19
- * Обработчик клика по бэкдропу
20
- */
21
- onClose?: (event: MouseEvent<HTMLElement>) => void;
22
- /**
23
- * Дополнительный класс
24
- */
25
- className?: string;
26
- /**
27
- * Классы анимации
28
- *
29
- * http://reactcommunity.org/react-transition-group/css-transition#CSSTransition-prop-classNames
30
- */
31
- transitionClassNames?: string | CSSTransitionClassNames;
32
- /**
33
- * Идентификатор для систем автоматизированного тестирования
34
- */
35
- dataTestId?: string;
36
- /**
37
- * Дочерние элементы.
38
- */
39
- children?: ReactNode;
40
- };
41
- type PortalProps = {
42
- /** Контент */
43
- children?: ReactNode;
44
- /**
45
- * Функция, возвращающая контейнер, в который будут рендериться дочерние элементы
46
- */
47
- getPortalContainer?: () => Element;
48
- /**
49
- * Немедленно отрендерить дочерние элементы (false - контент будет отрендерен на след. рендер).
50
- */
51
- immediateMount?: boolean;
52
- };
53
- type BaseModalProps = {
54
- /**
55
- * Контент
56
- */
57
- children?: ReactNode;
58
- /**
59
- * Компонент бэкдропа
60
- */
61
- Backdrop?: FC<BackdropProps>;
62
- /**
63
- * Свойства для Бэкдропа
64
- */
65
- backdropProps?: Partial<BackdropProps> & Record<string, unknown>;
66
- /**
67
- * Нода, компонент или функция возвращающая их
68
- *
69
- * Контейнер к которому будут добавляться порталы
70
- */
71
- container?: PortalProps["getPortalContainer"];
72
- /**
73
- * Отключает автоматический перевод фокуса на модалку при открытии
74
- * @default false
75
- */
76
- disableAutoFocus?: boolean;
77
- /**
78
- * Отключает ловушку фокуса
79
- * @default false
80
- */
81
- disableFocusLock?: boolean;
82
- /**
83
- * Отключает восстановление фокуса на предыдущем элементе после закрытия модалки
84
- * @default false
85
- */
86
- disableRestoreFocus?: boolean;
87
- /**
88
- * Отключает вызов `callback` при нажатии Escape
89
- * @default false
90
- */
91
- disableEscapeKeyDown?: boolean;
92
- /**
93
- * Отключает вызов `callback` при клике на бэкдроп
94
- * @default false
95
- */
96
- disableBackdropClick?: boolean;
97
- /**
98
- * Отключает блокировку скролла при открытии модального окна
99
- * @default false
100
- */
101
- disableBlockingScroll?: boolean;
102
- /**
103
- * Содержимое модалки всегда в DOM
104
- * @default false
105
- */
106
- keepMounted?: boolean;
107
- /**
108
- * Управление видимостью модалки
109
- */
110
- open: boolean;
111
- /**
112
- * Дополнительный класс
113
- */
114
- className?: string;
115
- /**
116
- * Дополнительный класс
117
- */
118
- contentClassName?: string;
119
- /**
120
- * Дополнительный класс для обертки (Modal)
121
- */
122
- wrapperClassName?: string;
123
- /**
124
- * Обработчик скролла контента
125
- */
126
- scrollHandler?: "wrapper" | "content" | MutableRefObject<HTMLDivElement | null>;
127
- /**
128
- * Пропсы для анимации (CSSTransition)
129
- */
130
- transitionProps?: Partial<TransitionProps>;
131
- /**
132
- * Рендерить ли в контейнер через портал.
133
- * @default true
134
- */
135
- usePortal?: boolean;
136
- /**
137
- * Обработчик события нажатия на бэкдроп
138
- */
139
- onBackdropClick?: (event: MouseEvent) => void;
140
- /**
141
- * Обработчик события нажатия на Escape
142
- *
143
- * Если `disableEscapeKeyDown` - false и модальное окно в фокусе
144
- */
145
- onEscapeKeyDown?: (event: KeyboardEvent) => void;
146
- /**
147
- * Обработчик закрытия
148
- */
149
- onClose?: (event: MouseEvent<HTMLElement> | KeyboardEvent<HTMLElement>, reason?: "backdropClick" | "escapeKeyDown" | "closerClick") => void;
150
- /**
151
- * Обработчик события onEntered компонента Transition
152
- */
153
- onMount?: () => void;
154
- /**
155
- * Обработчик события onExited компонента Transition
156
- */
157
- onUnmount?: () => void;
158
- /**
159
- * Идентификатор для систем автоматизированного тестирования
160
- */
161
- dataTestId?: string;
162
- /**
163
- * z-index компонента
164
- */
165
- zIndex?: number;
166
- /**
167
- * Реф, который должен быть установлен компонентной области
168
- */
169
- componentRef?: MutableRefObject<HTMLDivElement | null>;
170
- };
171
- type BackgroundColorType = "accent" | "info" | "attention-muted" | "positive-muted" | "negative-muted" | "primary" | "primary-inverted" | "secondary" | "secondary-inverted" | "tertiary" | "tertiary-inverted" | "quaternary" | "quaternary-inverted" | "specialbg-component" | "specialbg-component-inverted" | "specialbg-primary-grouped" | "specialbg-secondary-grouped" | "specialbg-tertiary-grouped" | "specialbg-secondary-transparent" | "specialbg-secondary-transparent-inverted" | "specialbg-tertiary-transparent" | "specialbg-tertiary-transparent-inverted";
10
+ import { BackdropProps } from "./index-ebda875c";
172
11
  type BottomSheetTitleAlign = "center" | "left";
173
12
  type BottomSheetProps = {
174
13
  /**
@@ -424,54 +263,5 @@ type SwipeableBackdropProps = BackdropProps & {
424
263
  opacityTimeout?: number;
425
264
  };
426
265
  declare const SwipeableBackdrop: FC<SwipeableBackdropProps>;
427
- /**
428
- * Набор констант для z-index соответствующих классов компонентов.
429
- * Значения выбраны по приоритету.
430
- */
431
- declare const stackingOrder: {
432
- FOCUSED: number;
433
- DEFAULT: number;
434
- POPOVER: number;
435
- MODAL: number;
436
- TOAST: number;
437
- };
438
- declare const StackingContext: import("react").Context<number>;
439
- type StackProps = {
440
- /**
441
- * Render prop, в который передается функция.
442
- * Функция принимает аргумент со значением z-index из текущего контекста.
443
- */
444
- children: (value: number) => ReactNode;
445
- /**
446
- * Исходное значение для z-index.
447
- * @default 5
448
- */
449
- value?: number;
450
- };
451
- declare const Stack: FC<StackProps>;
452
- declare const PORTAL_CONTAINER_ATTRIBUTE = "alfa-portal-container";
453
- declare const getDefaultPortalContainer: () => Element;
454
- declare function setRef<T>(ref: RefObject<T> | ((instance: T | null) => void) | null | undefined, value: T | null): void;
455
- type SavedStyle = {
456
- value: string;
457
- key: string;
458
- el: HTMLElement;
459
- };
460
- type RestoreStyle = {
461
- container: HTMLElement;
462
- modals: number;
463
- styles: SavedStyle[];
464
- };
465
- declare class ModalStore {
466
- private readonly restoreStyles;
467
- constructor();
468
- getRestoreStyles: () => RestoreStyle[];
469
- }
470
- declare const getModalStore: () => ModalStore;
471
- declare class GlobalStore {
472
- private readonly modalStore;
473
- constructor();
474
- getModalStore: () => ModalStore;
475
- }
476
- export { BottomSheet, TIMEOUT, SWIPE_VELOCITY, MARKER_HEIGHT, HEADER_OFFSET, CLOSE_OFFSET, SCROLL_OFFSET, convertPercentToNumber, HeaderProps, Header, FooterProps, Footer, SwipeableBackdropProps, SwipeableBackdrop, stackingOrder, StackingContext, StackProps, Stack, PORTAL_CONTAINER_ATTRIBUTE, getDefaultPortalContainer, setRef, getModalStore, GlobalStore };
477
- export type { SavedStyle, BottomSheetProps, BottomSheetTitleAlign };
266
+ export { BottomSheet, TIMEOUT, SWIPE_VELOCITY, MARKER_HEIGHT, HEADER_OFFSET, CLOSE_OFFSET, SCROLL_OFFSET, convertPercentToNumber, HeaderProps, Header, FooterProps, Footer, SwipeableBackdropProps, SwipeableBackdrop };
267
+ export type { BottomSheetProps, BottomSheetTitleAlign };
package/modern/index.js CHANGED
@@ -12,3 +12,4 @@ import 'lodash.throttle';
12
12
  import '@alfalab/core-components-button/modern';
13
13
  import './autocomplete-mobile-field/Component.js';
14
14
  import '@alfalab/core-components-form-control/modern';
15
+ import './mobile.module-95a2557d.js';