@alfalab/core-components-picker-button 11.10.0 → 11.11.1

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 (107) hide show
  1. package/Component.responsive.js +2 -1
  2. package/cssm/Component.responsive.js +2 -1
  3. package/cssm/index-11f20b2e.d.ts +6 -2
  4. package/cssm/mobile/Component.mobile.js +2 -1
  5. package/cssm/typings-7d83ec1e.d.ts +332 -11
  6. package/{modern/utils-1132e887.d.ts → cssm/utils-34f6b81b.d.ts} +2 -1
  7. package/desktop/Component.desktop.js +1 -1
  8. package/esm/Component.responsive.js +2 -1
  9. package/esm/desktop/Component.desktop.js +1 -1
  10. package/esm/field/Component.js +1 -1
  11. package/esm/field/index.css +6 -6
  12. package/esm/index-11f20b2e.d.ts +6 -2
  13. package/esm/index.css +5 -5
  14. package/esm/mobile/Component.mobile.js +2 -1
  15. package/esm/option/Component.js +1 -1
  16. package/esm/option/index.css +4 -4
  17. package/esm/typings-7d83ec1e.d.ts +332 -11
  18. package/{moderncssm/utils-1132e887.d.ts → esm/utils-34f6b81b.d.ts} +2 -1
  19. package/field/Component.js +1 -1
  20. package/field/index.css +6 -6
  21. package/index-11f20b2e.d.ts +6 -2
  22. package/index.css +5 -5
  23. package/mobile/Component.mobile.js +2 -1
  24. package/modern/Component.responsive.js +2 -1
  25. package/modern/desktop/Component.desktop.js +1 -1
  26. package/modern/field/Component.js +1 -1
  27. package/modern/field/index.css +6 -6
  28. package/modern/index-11f20b2e.d.ts +6 -2
  29. package/modern/index.css +5 -5
  30. package/modern/mobile/Component.mobile.js +2 -1
  31. package/modern/option/Component.js +1 -1
  32. package/modern/option/index.css +4 -4
  33. package/modern/typings-7d83ec1e.d.ts +332 -11
  34. package/{cssm/utils-1132e887.d.ts → modern/utils-34f6b81b.d.ts} +2 -1
  35. package/moderncssm/Component.responsive.js +2 -1
  36. package/moderncssm/index-11f20b2e.d.ts +6 -2
  37. package/moderncssm/mobile/Component.mobile.js +2 -1
  38. package/moderncssm/typings-7d83ec1e.d.ts +332 -11
  39. package/{esm/utils-1132e887.d.ts → moderncssm/utils-34f6b81b.d.ts} +2 -1
  40. package/option/Component.js +1 -1
  41. package/option/index.css +4 -4
  42. package/package.json +7 -6
  43. package/src/Component.responsive.tsx +2 -1
  44. package/src/mobile/Component.mobile.tsx +2 -1
  45. package/typings-7d83ec1e.d.ts +332 -11
  46. package/utils-34f6b81b.d.ts +82 -0
  47. package/Component-2f466837.d.ts +0 -171
  48. package/Context-c2e6f1b2.d.ts +0 -4
  49. package/browser-a216f694.d.ts +0 -6
  50. package/cssm/Component-2f466837.d.ts +0 -171
  51. package/cssm/Context-c2e6f1b2.d.ts +0 -4
  52. package/cssm/browser-a216f694.d.ts +0 -6
  53. package/cssm/fnUtils-e793ac44.d.ts +0 -15
  54. package/cssm/index-064acd29.d.ts +0 -13
  55. package/cssm/index-2f466837.d.ts +0 -62
  56. package/cssm/types-a870d1f8.d.ts +0 -117
  57. package/cssm/use-visualviewport-size-2f466837.d.ts +0 -3
  58. package/cssm/useCustomWebkitScrollbar-a216f694.d.ts +0 -2
  59. package/cssm/useIsMounted-e793ac44.d.ts +0 -3
  60. package/cssm/usePortalContainer-2f466837.d.ts +0 -2
  61. package/cssm/utils-ed29dc0e.d.ts +0 -5
  62. package/esm/Component-2f466837.d.ts +0 -171
  63. package/esm/Context-c2e6f1b2.d.ts +0 -4
  64. package/esm/browser-a216f694.d.ts +0 -6
  65. package/esm/fnUtils-e793ac44.d.ts +0 -15
  66. package/esm/index-064acd29.d.ts +0 -13
  67. package/esm/index-2f466837.d.ts +0 -62
  68. package/esm/types-a870d1f8.d.ts +0 -117
  69. package/esm/use-visualviewport-size-2f466837.d.ts +0 -3
  70. package/esm/useCustomWebkitScrollbar-a216f694.d.ts +0 -2
  71. package/esm/useIsMounted-e793ac44.d.ts +0 -3
  72. package/esm/usePortalContainer-2f466837.d.ts +0 -2
  73. package/esm/utils-ed29dc0e.d.ts +0 -5
  74. package/fnUtils-e793ac44.d.ts +0 -15
  75. package/index-064acd29.d.ts +0 -13
  76. package/index-2f466837.d.ts +0 -62
  77. package/modern/Component-2f466837.d.ts +0 -171
  78. package/modern/Context-c2e6f1b2.d.ts +0 -4
  79. package/modern/browser-a216f694.d.ts +0 -6
  80. package/modern/fnUtils-e793ac44.d.ts +0 -15
  81. package/modern/index-064acd29.d.ts +0 -13
  82. package/modern/index-2f466837.d.ts +0 -62
  83. package/modern/types-a870d1f8.d.ts +0 -117
  84. package/modern/use-visualviewport-size-2f466837.d.ts +0 -3
  85. package/modern/useCustomWebkitScrollbar-a216f694.d.ts +0 -2
  86. package/modern/useIsMounted-e793ac44.d.ts +0 -3
  87. package/modern/usePortalContainer-2f466837.d.ts +0 -2
  88. package/modern/utils-ed29dc0e.d.ts +0 -5
  89. package/moderncssm/Component-2f466837.d.ts +0 -171
  90. package/moderncssm/Context-c2e6f1b2.d.ts +0 -4
  91. package/moderncssm/browser-a216f694.d.ts +0 -6
  92. package/moderncssm/fnUtils-e793ac44.d.ts +0 -15
  93. package/moderncssm/index-064acd29.d.ts +0 -13
  94. package/moderncssm/index-2f466837.d.ts +0 -62
  95. package/moderncssm/types-a870d1f8.d.ts +0 -117
  96. package/moderncssm/use-visualviewport-size-2f466837.d.ts +0 -3
  97. package/moderncssm/useCustomWebkitScrollbar-a216f694.d.ts +0 -2
  98. package/moderncssm/useIsMounted-e793ac44.d.ts +0 -3
  99. package/moderncssm/usePortalContainer-2f466837.d.ts +0 -2
  100. package/moderncssm/utils-ed29dc0e.d.ts +0 -5
  101. package/types-a870d1f8.d.ts +0 -117
  102. package/use-visualviewport-size-2f466837.d.ts +0 -3
  103. package/useCustomWebkitScrollbar-a216f694.d.ts +0 -2
  104. package/useIsMounted-e793ac44.d.ts +0 -3
  105. package/usePortalContainer-2f466837.d.ts +0 -2
  106. package/utils-1132e887.d.ts +0 -81
  107. package/utils-ed29dc0e.d.ts +0 -5
@@ -4,6 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var tslib = require('tslib');
6
6
  var React = require('react');
7
+ var coreComponentsShared = require('@alfalab/core-components-shared');
7
8
  var hooks = require('@alfalab/hooks');
8
9
  var desktop_Component_desktop = require('./desktop/Component.desktop.js');
9
10
  var mobile_Component_mobile = require('./mobile/Component.mobile.js');
@@ -13,7 +14,7 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
13
14
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
14
15
 
15
16
  var PickerButtonResponsive = React.forwardRef(function (_a, ref) {
16
- var OptionsList = _a.OptionsList, onScroll = _a.onScroll, footer = _a.footer, swipeable = _a.swipeable, bottomSheetProps = _a.bottomSheetProps, _b = _a.breakpoint, breakpoint = _b === void 0 ? 1024 : _b, restProps = tslib.__rest(_a, ["OptionsList", "onScroll", "footer", "swipeable", "bottomSheetProps", "breakpoint"]);
17
+ var OptionsList = _a.OptionsList, onScroll = _a.onScroll, footer = _a.footer, swipeable = _a.swipeable, bottomSheetProps = _a.bottomSheetProps, _b = _a.breakpoint, breakpoint = _b === void 0 ? coreComponentsShared.getComponentBreakpoint() : _b, restProps = tslib.__rest(_a, ["OptionsList", "onScroll", "footer", "swipeable", "bottomSheetProps", "breakpoint"]);
17
18
  var view = hooks.useMedia([
18
19
  ['mobile', "(max-width: ".concat(breakpoint - 1, "px)")],
19
20
  ['desktop', "(min-width: ".concat(breakpoint, "px)")],
@@ -4,6 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var tslib = require('tslib');
6
6
  var React = require('react');
7
+ var coreComponentsShared = require('@alfalab/core-components-shared/cssm');
7
8
  var hooks = require('@alfalab/hooks');
8
9
  var desktop_Component_desktop = require('./desktop/Component.desktop.js');
9
10
  var mobile_Component_mobile = require('./mobile/Component.mobile.js');
@@ -13,7 +14,7 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
13
14
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
14
15
 
15
16
  var PickerButtonResponsive = React.forwardRef(function (_a, ref) {
16
- var OptionsList = _a.OptionsList, onScroll = _a.onScroll, footer = _a.footer, swipeable = _a.swipeable, bottomSheetProps = _a.bottomSheetProps, _b = _a.breakpoint, breakpoint = _b === void 0 ? 1024 : _b, restProps = tslib.__rest(_a, ["OptionsList", "onScroll", "footer", "swipeable", "bottomSheetProps", "breakpoint"]);
17
+ var OptionsList = _a.OptionsList, onScroll = _a.onScroll, footer = _a.footer, swipeable = _a.swipeable, bottomSheetProps = _a.bottomSheetProps, _b = _a.breakpoint, breakpoint = _b === void 0 ? coreComponentsShared.getComponentBreakpoint() : _b, restProps = tslib.__rest(_a, ["OptionsList", "onScroll", "footer", "swipeable", "bottomSheetProps", "breakpoint"]);
17
18
  var view = hooks.useMedia([
18
19
  ['mobile', "(max-width: ".concat(breakpoint - 1, "px)")],
19
20
  ['desktop', "(min-width: ".concat(breakpoint, "px)")],
@@ -2,7 +2,7 @@
2
2
  /// <reference types="react-transition-group" />
3
3
  /* eslint-disable jsx-a11y/no-noninteractive-element-interactions */
4
4
  import React from "react";
5
- import { ComponentType, KeyboardEvent, MouseEvent, MutableRefObject, ReactNode, Ref, FC } from "react";
5
+ import { ComponentType, KeyboardEvent, MouseEvent, MutableRefObject, ReactNode, Ref, FC, RefObject } from "react";
6
6
  import { TransitionProps } from "react-transition-group/Transition";
7
7
  import { BackdropProps } from "./index-ebda875c";
8
8
  type PortalProps = {
@@ -190,6 +190,10 @@ type StackProps = {
190
190
  value?: number;
191
191
  };
192
192
  declare const Stack: FC<StackProps>;
193
+ declare const usePortalContainer: () => () => Element | null;
194
+ declare const PORTAL_CONTAINER_ATTRIBUTE = "alfa-portal-container";
195
+ declare const getDefaultPortalContainer: () => Element;
196
+ declare function setRef<T>(ref: RefObject<T> | ((instance: T | null) => void) | null | undefined, value: T | null): void;
193
197
  type SavedStyle = {
194
198
  value: string;
195
199
  key: string;
@@ -211,5 +215,5 @@ declare class GlobalStore {
211
215
  constructor();
212
216
  getModalStore: () => ModalStore;
213
217
  }
214
- export { BaseModalProps, BaseModalContext, BaseModal, isScrolledToTop, isScrolledToBottom, hasScrollbar, restoreContainerStyles, handleContainer, lockScroll, unlockScroll, syncHeight, StackProps, Stack, getModalStore, GlobalStore };
218
+ export { BaseModalProps, BaseModalContext, BaseModal, isScrolledToTop, isScrolledToBottom, hasScrollbar, restoreContainerStyles, handleContainer, lockScroll, unlockScroll, syncHeight, StackProps, Stack, usePortalContainer, PORTAL_CONTAINER_ATTRIBUTE, getDefaultPortalContainer, setRef, getModalStore, GlobalStore };
215
219
  export type { SavedStyle };
@@ -6,6 +6,7 @@ var tslib = require('tslib');
6
6
  var React = require('react');
7
7
  var mobile = require('@alfalab/core-components-select/cssm/mobile');
8
8
  var shared = require('@alfalab/core-components-select/cssm/shared');
9
+ var coreComponentsShared = require('@alfalab/core-components-shared/cssm');
9
10
  var field_Component = require('../field/Component.js');
10
11
  var option_Component = require('../option/Component.js');
11
12
 
@@ -14,7 +15,7 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
14
15
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
15
16
 
16
17
  var PickerButtonMobile = React.forwardRef(function (_a, ref) {
17
- var options = _a.options, label = _a.label, _b = _a.Option, Option = _b === void 0 ? option_Component.Option : _b, _c = _a.Optgroup, Optgroup = _c === void 0 ? shared.Optgroup : _c, view = _a.view, loading = _a.loading, _d = _a.variant, variant = _d === void 0 ? 'default' : _d, leftAddons = _a.leftAddons, rightAddons = _a.rightAddons, size = _a.size, bottomSheetProps = _a.bottomSheetProps, showArrow = _a.showArrow, _e = _a.Field, Field = _e === void 0 ? field_Component.Field : _e, _f = _a.fieldProps, fieldProps = _f === void 0 ? {} : _f, icon = _a.icon, _g = _a.breakpoint, breakpoint = _g === void 0 ? 1024 : _g, restProps = tslib.__rest(_a, ["options", "label", "Option", "Optgroup", "view", "loading", "variant", "leftAddons", "rightAddons", "size", "bottomSheetProps", "showArrow", "Field", "fieldProps", "icon", "breakpoint"]);
18
+ var options = _a.options, label = _a.label, _b = _a.Option, Option = _b === void 0 ? option_Component.Option : _b, _c = _a.Optgroup, Optgroup = _c === void 0 ? shared.Optgroup : _c, view = _a.view, loading = _a.loading, _d = _a.variant, variant = _d === void 0 ? 'default' : _d, leftAddons = _a.leftAddons, rightAddons = _a.rightAddons, size = _a.size, bottomSheetProps = _a.bottomSheetProps, showArrow = _a.showArrow, _e = _a.Field, Field = _e === void 0 ? field_Component.Field : _e, _f = _a.fieldProps, fieldProps = _f === void 0 ? {} : _f, icon = _a.icon, _g = _a.breakpoint, breakpoint = _g === void 0 ? coreComponentsShared.getComponentBreakpoint() : _g, restProps = tslib.__rest(_a, ["options", "label", "Option", "Optgroup", "view", "loading", "variant", "leftAddons", "rightAddons", "size", "bottomSheetProps", "showArrow", "Field", "fieldProps", "icon", "breakpoint"]);
18
19
  var fieldDefaultProps = {
19
20
  view: view,
20
21
  loading: loading,
@@ -1,19 +1,182 @@
1
- /// <reference types="react-transition-group" />
2
1
  /// <reference types="react" />
2
+ /// <reference types="react-transition-group" />
3
3
  import React from "react";
4
- import { HTMLAttributes, ReactElement, ReactNode, RefObject, FC, AriaAttributes, ComponentType, FocusEvent, MouseEvent, RefAttributes, SVGProps } from "react";
4
+ import { HTMLAttributes, ReactElement, ReactNode, RefObject, ButtonHTMLAttributes, ElementType, FC, ForwardRefExoticComponent, RefAttributes, AnchorHTMLAttributes, AriaAttributes, ComponentType, FocusEvent, MouseEvent, SVGProps } from "react";
5
5
  import { HandledEvents } from "react-swipeable/es/types";
6
6
  import { TransitionProps } from "react-transition-group/Transition";
7
- import { BaseModalProps } from "./index-11f20b2e";
8
- import { NavigationBarPrivateProps } from "./types-a870d1f8";
9
- import { NavigationBarPrivateProps as NavigationBarProps } from "./types-a870d1f8";
10
- import { BackgroundColorType } from "./index-064acd29";
7
+ import { BaseModalProps, BaseModalContext } from "./index-11f20b2e";
11
8
  import { BaseInputProps, BackdropProps } from "./index-ebda875c";
12
9
  import { SwipeableHandlers, SwipeDirections } from "react-swipeable";
13
- import { FormControlProps } from "./index-c44170fe";
10
+ import { Color } from "./colors-facf1d2a";
11
+ import { TextElementType, TextSkeletonProps } from "./types-1328ead9";
12
+ import { TitleProps } from "./index-03d088c4";
13
+ import { TitleMobileProps } from "./index-281accb7";
14
+ import { ButtonProps } from "@alfalab/core-components-button";
15
+ import { ContentProps } from "./typings-d6bfd5b7";
14
16
  import { ModalResponsiveProps as ModalProps } from "./typings-d6bfd5b7";
17
+ import { FormControlProps } from "./index-c44170fe";
15
18
  import { PopoverProps } from "@alfalab/core-components-popover";
16
19
  import { UseSelectWithApplyProps } from "./field/Component";
20
+ interface BackArrowAddonProps extends React.HTMLAttributes<HTMLButtonElement> {
21
+ /**
22
+ * Текст после иконки
23
+ */
24
+ text?: string | null;
25
+ /**
26
+ * Дополнительный класс
27
+ */
28
+ className?: string;
29
+ /**
30
+ * Вид компонента
31
+ */
32
+ view: "mobile" | "desktop";
33
+ /**
34
+ * Прозрачность текста
35
+ */
36
+ textOpacity?: number;
37
+ /**
38
+ * Обработчик клика
39
+ */
40
+ onClick?: () => void;
41
+ }
42
+ interface CloserProps extends ButtonHTMLAttributes<HTMLButtonElement> {
43
+ /**
44
+ * Вид компонента
45
+ */
46
+ view: "desktop" | "mobile";
47
+ /**
48
+ * Дополнительный класс
49
+ */
50
+ className?: string;
51
+ /**
52
+ * Позиция крестика
53
+ */
54
+ align?: "left" | "right";
55
+ /**
56
+ * Фиксирует крестик
57
+ */
58
+ sticky?: boolean;
59
+ /**
60
+ * Иконка
61
+ */
62
+ icon?: ElementType;
63
+ /**
64
+ * Идентификатор для систем автоматизированного тестирования
65
+ */
66
+ dataTestId?: string;
67
+ /**
68
+ * Коллбэк закрытия.
69
+ */
70
+ onClose?: (event: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>, reason?: "backdropClick" | "escapeKeyDown" | "closerClick") => void;
71
+ }
72
+ type NavigationBarPrivateProps = {
73
+ /**
74
+ * Контент шапки
75
+ */
76
+ children?: ReactNode;
77
+ /**
78
+ * Заголовок шапки
79
+ */
80
+ title?: string;
81
+ /**
82
+ * Подзаголовок (доступен только в мобильной версии)
83
+ */
84
+ subtitle?: ReactNode;
85
+ /**
86
+ * Размер заголовка (compact доступен только в мобильной версии)
87
+ */
88
+ titleSize?: "default" | "compact";
89
+ /**
90
+ * Доп. класс для аддонов
91
+ */
92
+ addonClassName?: string;
93
+ /**
94
+ * Слот слева
95
+ */
96
+ leftAddons?: ReactNode;
97
+ /**
98
+ * Слот справа
99
+ */
100
+ rightAddons?: ReactNode;
101
+ /**
102
+ * Дополнительный класс для closer
103
+ */
104
+ closerClassName?: string;
105
+ /**
106
+ * Слот снизу
107
+ */
108
+ bottomAddons?: ReactNode;
109
+ /**
110
+ * Наличие компонента крестика
111
+ */
112
+ hasCloser?: boolean;
113
+ /**
114
+ * Наличие кнопки "Назад"
115
+ */
116
+ hasBackButton?: boolean;
117
+ /**
118
+ * Дополнительный класс для правого аддона
119
+ */
120
+ backButtonClassName?: string;
121
+ /**
122
+ * Дополнительные пропсы для кнопки "Назад"
123
+ */
124
+ backButtonProps?: Omit<BackArrowAddonProps, "view" | "textOpacity" | "onClick">;
125
+ /**
126
+ * Дополнительный класс
127
+ */
128
+ className?: string;
129
+ /**
130
+ * Дополнительный класс для контента
131
+ */
132
+ contentClassName?: string;
133
+ /**
134
+ * Дополнительный класс для нижнего аддона
135
+ */
136
+ bottomAddonsClassName?: string;
137
+ /**
138
+ * Выравнивание заголовка
139
+ */
140
+ align?: "left" | "center";
141
+ /**
142
+ * Обрезать ли заголовок
143
+ */
144
+ trim?: boolean;
145
+ /**
146
+ * Фиксирует шапку
147
+ */
148
+ sticky?: boolean;
149
+ /**
150
+ * Идентификатор для систем автоматизированного тестирования
151
+ */
152
+ dataTestId?: string;
153
+ /**
154
+ * Фоновое изображение
155
+ */
156
+ imageUrl?: string;
157
+ /**
158
+ * Иконка closer.
159
+ */
160
+ closerIcon?: React.ElementType;
161
+ /**
162
+ * Обработчик закрытия
163
+ */
164
+ onClose?: CloserProps["onClose"];
165
+ /**
166
+ * обработчик клика по кнопке "назад"
167
+ */
168
+ onBack?: () => void;
169
+ /**
170
+ * Вид шапки - мобильный или десктоп
171
+ */
172
+ view: "desktop" | "mobile";
173
+ /**
174
+ * Ссылка на родительскую ноду overflow: auto
175
+ */
176
+ scrollableParentRef?: React.RefObject<HTMLDivElement>;
177
+ };
178
+ type NavigationBarProps = NavigationBarPrivateProps;
179
+ 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";
17
180
  type BottomSheetTitleAlign = "center" | "left";
18
181
  type BottomSheetProps = {
19
182
  /**
@@ -336,6 +499,30 @@ type FooterProps = {
336
499
  */
337
500
  gap?: 16 | 24 | 32;
338
501
  };
502
+ interface ControlsProps {
503
+ /**
504
+ * Основной слот
505
+ */
506
+ primary?: ReactNode;
507
+ /**
508
+ * Дополнительный слот
509
+ */
510
+ secondary?: ReactNode;
511
+ /**
512
+ * Выравнивание элементов футера
513
+ * @default start
514
+ */
515
+ layout?: "start" | "center" | "space-between" | "column";
516
+ /**
517
+ * Выравнивание элементов футера (мобильный view)
518
+ * @default start
519
+ */
520
+ mobileLayout?: "start" | "center" | "space-between" | "column";
521
+ /**
522
+ * Отступы между элементами футера
523
+ */
524
+ gap?: 16 | 24 | 32;
525
+ }
339
526
  declare const ModalResponsive: React.ForwardRefExoticComponent<import("./index-11f20b2e").BaseModalProps & {
340
527
  size?: "s" | "m" | "l" | "xl" | 500 | "fullscreen" | 600 | 800 | 1140 | undefined;
341
528
  fullscreen?: boolean | undefined;
@@ -351,6 +538,7 @@ declare const ModalResponsive: React.ForwardRefExoticComponent<import("./index-1
351
538
  Footer: React.FC<FooterProps>;
352
539
  Controls: React.FC<ControlsProps>;
353
540
  };
541
+ declare const ModalContext: import("react").Context<BaseModalContext>;
354
542
  declare function getModalTestIds(dataTestId: string): {
355
543
  modal: string;
356
544
  content: string;
@@ -410,12 +598,145 @@ type ShouldSkipSwipingParams = {
410
598
  event: HandledEvents;
411
599
  dir: SwipeDirections;
412
600
  };
601
+ type VisualViewportSize = Pick<VisualViewport, "height" | "offsetTop">;
602
+ declare function useVisibleViewportSize(enabled?: boolean): VisualViewportSize | null;
603
+ type NativeProps = HTMLAttributes<HTMLSpanElement>;
604
+ type TextBaseProps = {
605
+ /**
606
+ * [Вариант начертания](https://core-ds.github.io/core-components/master/?path=/docs/tokens-assets-типографика--docs)
607
+ */
608
+ view?: "primary-large" | "primary-medium" | "primary-small" | "secondary-large" | "secondary-medium" | "secondary-small" | "component" | "component-primary" | "component-secondary" | "caps" | "tagline";
609
+ /**
610
+ * Цвет текста
611
+ */
612
+ color?: Color;
613
+ /**
614
+ * Толщина шрифта
615
+ */
616
+ weight?: "regular" | "medium" | "bold";
617
+ /**
618
+ * Делает цифры моноширинными
619
+ */
620
+ monospaceNumbers?: boolean;
621
+ /**
622
+ * HTML тег
623
+ */
624
+ tag?: "span" | "div";
625
+ /**
626
+ * Css-класс для стилизации (native prop)
627
+ */
628
+ className?: string;
629
+ /**
630
+ * Id компонента для тестов
631
+ */
632
+ dataTestId?: string;
633
+ /**
634
+ * Контент (native prop)
635
+ */
636
+ children?: React.ReactNode;
637
+ /**
638
+ * Добавляет отступы к тэгу 'p'
639
+ */
640
+ defaultMargins?: never;
641
+ /**
642
+ * Количество строк
643
+ */
644
+ rowLimit?: 1 | 2 | 3;
645
+ /**
646
+ * Показать скелетон
647
+ */
648
+ showSkeleton?: boolean;
649
+ /**
650
+ * Пропы для скелетона
651
+ */
652
+ skeletonProps?: TextSkeletonProps;
653
+ };
654
+ type TextPTagProps = Omit<TextBaseProps, "tag" | "defaultMargins"> & {
655
+ tag?: "p";
656
+ defaultMargins?: boolean;
657
+ };
658
+ type TextProps = Omit<NativeProps, "color"> & (TextBaseProps | TextPTagProps);
659
+ declare const Typography: {
660
+ Title: FC<TitleProps>;
661
+ Text: ForwardRefExoticComponent<TextProps & RefAttributes<TextElementType>>;
662
+ TitleResponsive: FC<TitleResponsiveProps>;
663
+ TitleMobile: FC<TitleMobileProps>;
664
+ };
665
+ declare const typographyPresets: {
666
+ mobile: {
667
+ list: {
668
+ text: {
669
+ primary: {
670
+ tag: string;
671
+ view: string;
672
+ };
673
+ secondary: {
674
+ tag: string;
675
+ color: string;
676
+ view: string;
677
+ };
678
+ };
679
+ };
680
+ };
681
+ };
682
+ type IconButtonProps = {
683
+ /**
684
+ * Компонент иконки
685
+ */
686
+ icon: ElementType<{
687
+ className?: string;
688
+ }> | ReactElement;
689
+ /**
690
+ * Тип кнопки
691
+ */
692
+ view?: "primary" | "secondary" | "transparent" | "tertiary" | "negative";
693
+ /**
694
+ * Размер компонента
695
+ * @description xxs, xs, s deprecated, используйте вместо них 24, 32, 40 соответственно
696
+ */
697
+ size?: "xxs" | "xs" | "s" | 24 | 32 | 40 | 48 | 56;
698
+ /**
699
+ * Дополнительный класс
700
+ */
701
+ className?: string;
702
+ /**
703
+ * Включает прозрачный фон
704
+ * @default false
705
+ */
706
+ transparentBg?: boolean;
707
+ /**
708
+ * Выравнивание иконки
709
+ * @default 'center'
710
+ */
711
+ alignIcon?: "left" | "center" | "right";
712
+ /**
713
+ * Идентификатор для систем автоматизированного тестирования
714
+ */
715
+ dataTestId?: string;
716
+ /**
717
+ * Набор цветов для компонента
718
+ */
719
+ colors?: "default" | "inverted";
720
+ } & Omit<ButtonHTMLAttributes<HTMLButtonElement>, "size"> & Pick<ButtonProps, "Component" | "href" | "loading" | "breakpoint"> & Pick<AnchorHTMLAttributes<HTMLAnchorElement>, "target" | "download">;
721
+ declare const IconButton: React.ForwardRefExoticComponent<{
722
+ icon: ElementType<{
723
+ className?: string;
724
+ }> | ReactElement;
725
+ view?: "transparent" | "primary" | "secondary" | "tertiary" | "negative" | undefined;
726
+ size?: "s" | "xs" | 24 | 48 | "xxs" | 32 | 40 | 56 | undefined;
727
+ className?: string | undefined;
728
+ transparentBg?: boolean | undefined;
729
+ alignIcon?: "center" | "left" | "right" | undefined;
730
+ dataTestId?: string | undefined;
731
+ colors?: "default" | "inverted" | undefined;
732
+ } & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "size"> & Pick<ButtonProps, "href" | "Component" | "loading" | "breakpoint"> & Pick<React.AnchorHTMLAttributes<HTMLAnchorElement>, "download" | "target"> & React.RefAttributes<HTMLButtonElement>>;
413
733
  declare enum SwipeDirection {
414
734
  Left = "Left",
415
735
  Right = "Right",
416
736
  Up = "Up",
417
737
  Down = "Down"
418
738
  }
739
+ declare const Content: FC<ContentProps>;
419
740
  type AnyObject = Record<string, any>;
420
741
  type OptionShape = {
421
742
  /**
@@ -1150,11 +1471,11 @@ type ClearButtonProps = {
1150
1471
  */
1151
1472
  dataTestId?: string;
1152
1473
  };
1153
- export { BottomSheet, CLOSE_OFFSET, HEADER_OFFSET, InputProps, Input, ModalResponsive as Modal, getModalTestIds, FooterProps$0 as FooterProps, Footer$0 as Footer, HeaderProps$0 as HeaderProps, Header$0 as Header, SwipeableBackdropProps, SwipeableBackdrop, horizontalDirections, ShouldSkipSwipingParams, SwipeDirection, AnyObject, OptionShape, GroupShape, BaseSelectChangePayload, BaseSelectProps, FieldProps, ArrowProps, OptionsListProps, OptgroupProps, OptionProps, CheckmarkProps, SearchProps, SelectFieldProps, AdditionalMobileProps, BottomSheetSelectMobileProps, ModalSelectMobileProps, SelectModalMobileProps, SelectMobileProps, SelectDesktopProps, SelectProps, ClearButtonProps };
1154
- export type { BottomSheetProps, BottomSheetTitleAlign, HeaderProps as ModalHeaderProps, FooterProps as ModalFooterProps };
1474
+ export { BottomSheet, CLOSE_OFFSET, HEADER_OFFSET, InputProps, Input, ModalResponsive as Modal, ModalContext, getModalTestIds, FooterProps$0 as FooterProps, Footer$0 as Footer, HeaderProps$0 as HeaderProps, Header$0 as Header, SwipeableBackdropProps, SwipeableBackdrop, horizontalDirections, ShouldSkipSwipingParams, useVisibleViewportSize, Typography, typographyPresets, IconButtonProps, IconButton, SwipeDirection, Content, AnyObject, OptionShape, GroupShape, BaseSelectChangePayload, BaseSelectProps, FieldProps, ArrowProps, OptionsListProps, OptgroupProps, OptionProps, CheckmarkProps, SearchProps, SelectFieldProps, AdditionalMobileProps, BottomSheetSelectMobileProps, ModalSelectMobileProps, SelectModalMobileProps, SelectMobileProps, SelectDesktopProps, SelectProps, ClearButtonProps };
1475
+ export type { BottomSheetProps, BottomSheetTitleAlign, HeaderProps as ModalHeaderProps, FooterProps as ModalFooterProps, TextProps };
1155
1476
  export { ModalResponsiveProps as ModalProps } from "./typings-d6bfd5b7";
1156
- export { ModalContext } from "./Context-c2e6f1b2";
1157
1477
  export type { ContentProps as ModalContentProps } from "./typings-d6bfd5b7";
1158
- export { useVisibleViewportSize } from "./use-visualviewport-size-2f466837";
1478
+ export type { TitleProps } from "./index-03d088c4";
1479
+ export type { Color } from "./colors-facf1d2a";
1159
1480
  export * from "./Component.desktop-63dec22f";
1160
1481
  export * from "./Component.mobile-96988a65";
@@ -45,6 +45,7 @@ type useVisibleOptionsArgs = {
45
45
  */
46
46
  actualOptionsCount?: boolean;
47
47
  };
48
+ declare function useVirtualVisibleOptions({ visibleOptions, listRef, styleTargetRef, open, invalidate, options, size, actualOptionsCount, }: useVisibleOptionsArgs): void;
48
49
  declare function useVisibleOptions({ visibleOptions, listRef, styleTargetRef, open, invalidate, options, size, actualOptionsCount, }: useVisibleOptionsArgs): boolean;
49
50
  declare function defaultFilterFn(optionText: string, search: string): boolean;
50
51
  declare function defaultGroupAccessor(option: GroupShape): string | undefined;
@@ -78,4 +79,4 @@ declare function getSelectTestIds(dataTestId: string): {
78
79
  modalHeader: string;
79
80
  modalContent: string;
80
81
  };
81
- export { isGroup, isOptionShape, joinOptions, processOptions, useVisibleOptions, defaultFilterFn, defaultGroupAccessor, defaultAccessor, usePrevious, lastIndexOf, getSelectTestIds };
82
+ export { isGroup, isOptionShape, joinOptions, processOptions, useVirtualVisibleOptions, useVisibleOptions, defaultFilterFn, defaultGroupAccessor, defaultAccessor, usePrevious, lastIndexOf, getSelectTestIds };
@@ -15,7 +15,7 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
15
15
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
16
16
  var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
17
17
 
18
- var styles = {"container":"picker-button__container_9q4if","optionsPopover":"picker-button__optionsPopover_9q4if","sideGap":"picker-button__sideGap_9q4if","option":"picker-button__option_9q4if"};
18
+ var styles = {"container":"picker-button__container_src5f","optionsPopover":"picker-button__optionsPopover_src5f","sideGap":"picker-button__sideGap_src5f","option":"picker-button__option_src5f"};
19
19
  require('./../index.css')
20
20
 
21
21
  var SIDE_POSITIONS = ['right', 'right-start', 'right-end', 'left', 'left-start', 'left-end'];
@@ -1,11 +1,12 @@
1
1
  import { __rest, __assign } from 'tslib';
2
2
  import React, { forwardRef } from 'react';
3
+ import { getComponentBreakpoint } from '@alfalab/core-components-shared/esm';
3
4
  import { useMedia } from '@alfalab/hooks';
4
5
  import { PickerButtonDesktop } from './desktop/Component.desktop.js';
5
6
  import { PickerButtonMobile } from './mobile/Component.mobile.js';
6
7
 
7
8
  var PickerButtonResponsive = forwardRef(function (_a, ref) {
8
- var OptionsList = _a.OptionsList, onScroll = _a.onScroll, footer = _a.footer, swipeable = _a.swipeable, bottomSheetProps = _a.bottomSheetProps, _b = _a.breakpoint, breakpoint = _b === void 0 ? 1024 : _b, restProps = __rest(_a, ["OptionsList", "onScroll", "footer", "swipeable", "bottomSheetProps", "breakpoint"]);
9
+ var OptionsList = _a.OptionsList, onScroll = _a.onScroll, footer = _a.footer, swipeable = _a.swipeable, bottomSheetProps = _a.bottomSheetProps, _b = _a.breakpoint, breakpoint = _b === void 0 ? getComponentBreakpoint() : _b, restProps = __rest(_a, ["OptionsList", "onScroll", "footer", "swipeable", "bottomSheetProps", "breakpoint"]);
9
10
  var view = useMedia([
10
11
  ['mobile', "(max-width: ".concat(breakpoint - 1, "px)")],
11
12
  ['desktop', "(min-width: ".concat(breakpoint, "px)")],
@@ -6,7 +6,7 @@ import { BaseSelect, OptionsList, Optgroup } from '@alfalab/core-components-sele
6
6
  import { Field } from '../field/Component.js';
7
7
  import { Option } from '../option/Component.js';
8
8
 
9
- var styles = {"container":"picker-button__container_9q4if","optionsPopover":"picker-button__optionsPopover_9q4if","sideGap":"picker-button__sideGap_9q4if","option":"picker-button__option_9q4if"};
9
+ var styles = {"container":"picker-button__container_src5f","optionsPopover":"picker-button__optionsPopover_src5f","sideGap":"picker-button__sideGap_src5f","option":"picker-button__option_src5f"};
10
10
  require('./../index.css')
11
11
 
12
12
  var SIDE_POSITIONS = ['right', 'right-start', 'right-end', 'left', 'left-start', 'left-end'];
@@ -4,7 +4,7 @@ import cn from 'classnames';
4
4
  import { Button } from '@alfalab/core-components-button/esm';
5
5
  import { getIcon } from '../utils/index.js';
6
6
 
7
- var styles = {"iconContainer":"picker-button__iconContainer_1o49l","addonsContainer":"picker-button__addonsContainer_1o49l","showControlIcon":"picker-button__showControlIcon_1o49l","open":"picker-button__open_1o49l","linkOpen":"picker-button__linkOpen_1o49l"};
7
+ var styles = {"iconContainer":"picker-button__iconContainer_urh78","addonsContainer":"picker-button__addonsContainer_urh78","showControlIcon":"picker-button__showControlIcon_urh78","open":"picker-button__open_urh78","linkOpen":"picker-button__linkOpen_urh78"};
8
8
  require('./index.css')
9
9
 
10
10
  var SIZE_TO_CLASSNAME_MAP = {
@@ -1,4 +1,4 @@
1
- /* hash: 1akb7 */
1
+ /* hash: z9rnl */
2
2
  :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
3
3
  } /* deprecated */ :root {
4
4
  --color-light-transparent-default-hover: rgba(38, 55, 88, 0.06); /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
@@ -22,15 +22,15 @@
22
22
  } :root {
23
23
  } :root {
24
24
  --arrow-transform: rotate(180deg);
25
- } /* сбрасывает синюю подсветку при нажатии */ .picker-button__iconContainer_1o49l {
25
+ } /* сбрасывает синюю подсветку при нажатии */ .picker-button__iconContainer_urh78 {
26
26
  display: flex;
27
27
  transition: transform 0.15s ease-in-out;
28
- } .picker-button__addonsContainer_1o49l {
28
+ } .picker-button__addonsContainer_urh78 {
29
29
  display: flex
30
- } .picker-button__addonsContainer_1o49l.picker-button__showControlIcon_1o49l {
30
+ } .picker-button__addonsContainer_urh78.picker-button__showControlIcon_urh78 {
31
31
  margin-right: var(--gap-4);
32
- } .picker-button__open_1o49l {
32
+ } .picker-button__open_urh78 {
33
33
  transform: var(--arrow-transform);
34
- } .picker-button__linkOpen_1o49l:not(:hover) {
34
+ } .picker-button__linkOpen_urh78:not(:hover) {
35
35
  background-color: var(--color-light-transparent-default-hover);
36
36
  }
@@ -2,7 +2,7 @@
2
2
  /// <reference types="react-transition-group" />
3
3
  /* eslint-disable jsx-a11y/no-noninteractive-element-interactions */
4
4
  import React from "react";
5
- import { ComponentType, KeyboardEvent, MouseEvent, MutableRefObject, ReactNode, Ref, FC } from "react";
5
+ import { ComponentType, KeyboardEvent, MouseEvent, MutableRefObject, ReactNode, Ref, FC, RefObject } from "react";
6
6
  import { TransitionProps } from "react-transition-group/Transition";
7
7
  import { BackdropProps } from "./index-ebda875c";
8
8
  type PortalProps = {
@@ -190,6 +190,10 @@ type StackProps = {
190
190
  value?: number;
191
191
  };
192
192
  declare const Stack: FC<StackProps>;
193
+ declare const usePortalContainer: () => () => Element | null;
194
+ declare const PORTAL_CONTAINER_ATTRIBUTE = "alfa-portal-container";
195
+ declare const getDefaultPortalContainer: () => Element;
196
+ declare function setRef<T>(ref: RefObject<T> | ((instance: T | null) => void) | null | undefined, value: T | null): void;
193
197
  type SavedStyle = {
194
198
  value: string;
195
199
  key: string;
@@ -211,5 +215,5 @@ declare class GlobalStore {
211
215
  constructor();
212
216
  getModalStore: () => ModalStore;
213
217
  }
214
- export { BaseModalProps, BaseModalContext, BaseModal, isScrolledToTop, isScrolledToBottom, hasScrollbar, restoreContainerStyles, handleContainer, lockScroll, unlockScroll, syncHeight, StackProps, Stack, getModalStore, GlobalStore };
218
+ export { BaseModalProps, BaseModalContext, BaseModal, isScrolledToTop, isScrolledToBottom, hasScrollbar, restoreContainerStyles, handleContainer, lockScroll, unlockScroll, syncHeight, StackProps, Stack, usePortalContainer, PORTAL_CONTAINER_ATTRIBUTE, getDefaultPortalContainer, setRef, getModalStore, GlobalStore };
215
219
  export type { SavedStyle };