@alfalab/core-components-bottom-sheet 5.2.2 → 5.3.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 (60) hide show
  1. package/{component-a31768c8.d.ts → component-7f6ec6ba.d.ts} +5 -1
  2. package/{component-a31768c8.js → component-7f6ec6ba.js} +16 -14
  3. package/component.js +3 -2
  4. package/components/backer/Component.js +4 -4
  5. package/components/backer/index.css +3 -3
  6. package/components/closer/Component.js +4 -4
  7. package/components/closer/index.css +3 -3
  8. package/components/footer/Component.js +1 -1
  9. package/components/footer/index.css +4 -4
  10. package/components/header/Component.js +3 -2
  11. package/components/header/index.css +17 -17
  12. package/components/swipeable-backdrop/Component.js +4 -4
  13. package/{esm/component-13675fe5.d.ts → cssm/component-8a02e7db.d.ts} +5 -1
  14. package/cssm/{component-082df5fd.js → component-8a02e7db.js} +14 -12
  15. package/cssm/component.js +3 -2
  16. package/cssm/components/backer/Component.js +3 -3
  17. package/cssm/components/closer/Component.js +3 -3
  18. package/cssm/components/header/Component.js +3 -2
  19. package/cssm/components/swipeable-backdrop/Component.js +4 -4
  20. package/cssm/index.d.ts +1 -1
  21. package/cssm/index.js +3 -2
  22. package/{cssm/component-082df5fd.d.ts → esm/component-9a8081cd.d.ts} +5 -1
  23. package/esm/{component-13675fe5.js → component-9a8081cd.js} +9 -8
  24. package/esm/component.js +3 -2
  25. package/esm/components/backer/Component.js +2 -2
  26. package/esm/components/backer/index.css +3 -3
  27. package/esm/components/closer/Component.js +2 -2
  28. package/esm/components/closer/index.css +3 -3
  29. package/esm/components/footer/Component.js +1 -1
  30. package/esm/components/footer/index.css +4 -4
  31. package/esm/components/header/Component.js +3 -2
  32. package/esm/components/header/index.css +17 -17
  33. package/esm/components/swipeable-backdrop/Component.js +1 -1
  34. package/esm/index.css +15 -15
  35. package/esm/index.d.ts +1 -1
  36. package/esm/index.js +3 -2
  37. package/index.css +15 -15
  38. package/index.d.ts +1 -1
  39. package/index.js +3 -2
  40. package/modern/{component-dbd4ab19.d.ts → component-6012913e.d.ts} +5 -1
  41. package/modern/{component-dbd4ab19.js → component-6012913e.js} +5 -4
  42. package/modern/component.js +2 -1
  43. package/modern/components/backer/Component.js +1 -1
  44. package/modern/components/backer/index.css +3 -3
  45. package/modern/components/closer/Component.js +1 -1
  46. package/modern/components/closer/index.css +3 -3
  47. package/modern/components/footer/Component.js +1 -1
  48. package/modern/components/footer/index.css +4 -4
  49. package/modern/components/header/Component.js +2 -1
  50. package/modern/components/header/index.css +17 -17
  51. package/modern/index.css +15 -15
  52. package/modern/index.d.ts +1 -1
  53. package/modern/index.js +2 -1
  54. package/package.json +8 -6
  55. package/cssm/tslib.es6-bbd6cd2a.d.ts +0 -36
  56. package/cssm/tslib.es6-bbd6cd2a.js +0 -42
  57. package/esm/tslib.es6-c1a8448e.d.ts +0 -36
  58. package/esm/tslib.es6-c1a8448e.js +0 -40
  59. package/tslib.es6-f62bcae9.d.ts +0 -36
  60. package/tslib.es6-f62bcae9.js +0 -42
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react-transition-group" />
2
2
  /// <reference types="react" />
3
3
  import React from "react";
4
- import { FC, ReactNode, HTMLAttributes } from "react";
4
+ import { FC, ReactNode, HTMLAttributes, RefObject } from "react";
5
5
  import { BottomSheetTitleAlign } from "./index";
6
6
  import { TransitionProps } from 'react-transition-group/Transition';
7
7
  import { BaseModalProps } from "@alfalab/core-components-base-modal";
@@ -220,6 +220,10 @@ type BottomSheetProps = {
220
220
  * Свойства для Бэкдропа
221
221
  */
222
222
  backdropProps?: BaseModalProps['backdropProps'];
223
+ /**
224
+ * Реф на контейнер, в котором происходит скролл
225
+ */
226
+ scrollableContainerRef?: RefObject<HTMLElement>;
223
227
  /**
224
228
  * Обработчик закрытия
225
229
  */
@@ -1,8 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('./tslib.es6-f62bcae9.js');
3
+ var tslib = require('tslib');
4
4
  var React = require('react');
5
5
  var reactDiv100vh = require('react-div-100vh');
6
+ var mergeRefs = require('react-merge-refs');
6
7
  var reactSwipeable = require('react-swipeable');
7
8
  var cn = require('classnames');
8
9
  var coreComponentsBaseModal = require('@alfalab/core-components-base-modal');
@@ -15,6 +16,7 @@ var components_closer_Component = require('./components/closer/Component.js');
15
16
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
16
17
 
17
18
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
19
+ var mergeRefs__default = /*#__PURE__*/_interopDefaultCompat(mergeRefs);
18
20
  var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
19
21
 
20
22
  var getDataTestId = function (dataTestId, element) {
@@ -22,7 +24,7 @@ var getDataTestId = function (dataTestId, element) {
22
24
  return dataTestId ? "".concat(dataTestId).concat(elementPart) : undefined;
23
25
  };
24
26
 
25
- var styles$1 = {"headerWrapper":"bottom-sheet__headerWrapper_1uguw","header":"bottom-sheet__header_1uguw","sticky":"bottom-sheet__sticky_1uguw","highlighted":"bottom-sheet__highlighted_1uguw","justifyEnd":"bottom-sheet__justifyEnd_1uguw","addon":"bottom-sheet__addon_1uguw","addonFixed":"bottom-sheet__addonFixed_1uguw","addonLeft":"bottom-sheet__addonLeft_1uguw","addonRight":"bottom-sheet__addonRight_1uguw","title":"bottom-sheet__title_1uguw","titleCenter":"bottom-sheet__titleCenter_1uguw","titleLeft":"bottom-sheet__titleLeft_1uguw","trimTitle":"bottom-sheet__trimTitle_1uguw","titleBigIndentHorizontal":"bottom-sheet__titleBigIndentHorizontal_1uguw","titleIndentRight":"bottom-sheet__titleIndentRight_1uguw","titleIndentLeft":"bottom-sheet__titleIndentLeft_1uguw"};
27
+ var styles$1 = {"headerWrapper":"bottom-sheet__headerWrapper_1veed","header":"bottom-sheet__header_1veed","sticky":"bottom-sheet__sticky_1veed","highlighted":"bottom-sheet__highlighted_1veed","justifyEnd":"bottom-sheet__justifyEnd_1veed","addon":"bottom-sheet__addon_1veed","addonFixed":"bottom-sheet__addonFixed_1veed","addonLeft":"bottom-sheet__addonLeft_1veed","addonRight":"bottom-sheet__addonRight_1veed","title":"bottom-sheet__title_1veed","titleCenter":"bottom-sheet__titleCenter_1veed","titleLeft":"bottom-sheet__titleLeft_1veed","trimTitle":"bottom-sheet__trimTitle_1veed","titleBigIndentHorizontal":"bottom-sheet__titleBigIndentHorizontal_1veed","titleIndentRight":"bottom-sheet__titleIndentRight_1veed","titleIndentLeft":"bottom-sheet__titleIndentLeft_1veed"};
26
28
  require('./components/header/index.css')
27
29
 
28
30
  var Header = function (_a) {
@@ -72,7 +74,7 @@ var Header = function (_a) {
72
74
  bottomAddons));
73
75
  };
74
76
 
75
- var styles = {"modal":"bottom-sheet__modal_ug9q1","component":"bottom-sheet__component_ug9q1","withTransition":"bottom-sheet__withTransition_ug9q1","scrollableContainer":"bottom-sheet__scrollableContainer_ug9q1","marker":"bottom-sheet__marker_ug9q1","content":"bottom-sheet__content_ug9q1","noHeader":"bottom-sheet__noHeader_ug9q1","noFooter":"bottom-sheet__noFooter_ug9q1","scrollLocked":"bottom-sheet__scrollLocked_ug9q1","appear":"bottom-sheet__appear_ug9q1","enter":"bottom-sheet__enter_ug9q1","appearActive":"bottom-sheet__appearActive_ug9q1","enterActive":"bottom-sheet__enterActive_ug9q1","enterDone":"bottom-sheet__enterDone_ug9q1","appearDone":"bottom-sheet__appearDone_ug9q1","exit":"bottom-sheet__exit_ug9q1","exitActive":"bottom-sheet__exitActive_ug9q1"};
77
+ var styles = {"modal":"bottom-sheet__modal_h361e","component":"bottom-sheet__component_h361e","withTransition":"bottom-sheet__withTransition_h361e","scrollableContainer":"bottom-sheet__scrollableContainer_h361e","marker":"bottom-sheet__marker_h361e","content":"bottom-sheet__content_h361e","noHeader":"bottom-sheet__noHeader_h361e","noFooter":"bottom-sheet__noFooter_h361e","scrollLocked":"bottom-sheet__scrollLocked_h361e","appear":"bottom-sheet__appear_h361e","enter":"bottom-sheet__enter_h361e","appearActive":"bottom-sheet__appearActive_h361e","enterActive":"bottom-sheet__enterActive_h361e","enterDone":"bottom-sheet__enterDone_h361e","appearDone":"bottom-sheet__appearDone_h361e","exit":"bottom-sheet__exit_h361e","exitActive":"bottom-sheet__exitActive_h361e"};
76
78
  require('./index.css')
77
79
 
78
80
  var TIMEOUT = 300;
@@ -85,10 +87,10 @@ var HEADER_OFFSET = 24;
85
87
  var CLOSE_OFFSET = 0.2;
86
88
  var BottomSheet = React.forwardRef(function (_a, ref) {
87
89
  var _b, _c, _d;
88
- var open = _a.open, title = _a.title, container = _a.container, actionButton = _a.actionButton, contentClassName = _a.contentClassName, containerClassName = _a.containerClassName, containerProps = _a.containerProps, headerClassName = _a.headerClassName, footerClassName = _a.footerClassName, addonClassName = _a.addonClassName, closerClassName = _a.closerClassName, backerClassName = _a.backerClassName, modalClassName = _a.modalClassName, modalWrapperClassName = _a.modalWrapperClassName, className = _a.className, leftAddons = _a.leftAddons, rightAddons = _a.rightAddons, bottomAddons = _a.bottomAddons, hasCloser = _a.hasCloser, hasBacker = _a.hasBacker, _e = _a.titleAlign, titleAlign = _e === void 0 ? 'left' : _e, trimTitle = _a.trimTitle, stickyHeader = _a.stickyHeader, _f = _a.stickyFooter, stickyFooter = _f === void 0 ? true : _f, _g = _a.initialHeight, initialHeight = _g === void 0 ? 'default' : _g, hideOverlay = _a.hideOverlay, hideHeader = _a.hideHeader, disableOverlayClick = _a.disableOverlayClick, disableBlockingScroll = _a.disableBlockingScroll, children = _a.children, zIndex = _a.zIndex, _h = _a.transitionProps, transitionProps = _h === void 0 ? {} : _h, dataTestId = _a.dataTestId, _j = _a.swipeable, swipeable = _j === void 0 ? true : _j, backdropProps = _a.backdropProps, onClose = _a.onClose, onBack = _a.onBack;
89
- var _k = React.useState(0), sheetOffset = _k[0], setSheetOffset = _k[1];
90
- var _l = React.useState(1), backdropOpacity = _l[0], setBackdropOpacity = _l[1];
91
- var _m = React.useState(false), scrollLocked = _m[0], setScrollLocked = _m[1];
90
+ var open = _a.open, title = _a.title, container = _a.container, actionButton = _a.actionButton, contentClassName = _a.contentClassName, containerClassName = _a.containerClassName, containerProps = _a.containerProps, headerClassName = _a.headerClassName, footerClassName = _a.footerClassName, addonClassName = _a.addonClassName, closerClassName = _a.closerClassName, backerClassName = _a.backerClassName, modalClassName = _a.modalClassName, modalWrapperClassName = _a.modalWrapperClassName, className = _a.className, leftAddons = _a.leftAddons, rightAddons = _a.rightAddons, bottomAddons = _a.bottomAddons, hasCloser = _a.hasCloser, hasBacker = _a.hasBacker, _e = _a.titleAlign, titleAlign = _e === void 0 ? 'left' : _e, trimTitle = _a.trimTitle, stickyHeader = _a.stickyHeader, _f = _a.stickyFooter, stickyFooter = _f === void 0 ? true : _f, _g = _a.initialHeight, initialHeight = _g === void 0 ? 'default' : _g, hideOverlay = _a.hideOverlay, hideHeader = _a.hideHeader, disableOverlayClick = _a.disableOverlayClick, disableBlockingScroll = _a.disableBlockingScroll, children = _a.children, zIndex = _a.zIndex, _h = _a.transitionProps, transitionProps = _h === void 0 ? {} : _h, dataTestId = _a.dataTestId, _j = _a.swipeable, swipeable = _j === void 0 ? true : _j, backdropProps = _a.backdropProps, _k = _a.scrollableContainerRef, scrollableContainerRef = _k === void 0 ? function () { return null; } : _k, onClose = _a.onClose, onBack = _a.onBack;
91
+ var _l = React.useState(0), sheetOffset = _l[0], setSheetOffset = _l[1];
92
+ var _m = React.useState(1), backdropOpacity = _m[0], setBackdropOpacity = _m[1];
93
+ var _o = React.useState(false), scrollLocked = _o[0], setScrollLocked = _o[1];
92
94
  var sheetHeight = React.useRef(0);
93
95
  var scrollableContainer = React.useRef(null);
94
96
  var scrollableContainerScrollValue = React.useRef(0);
@@ -222,16 +224,16 @@ var BottomSheet = React.forwardRef(function (_a, ref) {
222
224
  height: initialHeight === 'full' ? targetHeight : 'unset',
223
225
  maxHeight: targetHeight,
224
226
  }); };
225
- return (React__default.default.createElement(coreComponentsBaseModal.BaseModal, { open: open, ref: ref, container: container, dataTestId: dataTestId, zIndex: zIndex, onClose: onClose, scrollHandler: scrollableContainer, Backdrop: components_swipeableBackdrop_Component.SwipeableBackdrop, backdropProps: tslib_es6.__assign(tslib_es6.__assign({}, backdropProps), { opacity: backdropOpacity, handlers: swipeable ? backdropSwipeablehandlers : false, opacityTimeout: TIMEOUT, invisible: initialHeight === 'full' ? false : hideOverlay }), disableBackdropClick: hideOverlay ? true : disableOverlayClick, className: cn__default.default(styles.modal, modalClassName), wrapperClassName: modalWrapperClassName, disableBlockingScroll: disableBlockingScroll, transitionProps: tslib_es6.__assign(tslib_es6.__assign({ appear: true, timeout: TIMEOUT, classNames: styles }, transitionProps), { onExited: handleExited, onEntered: handleEntered }) },
226
- React__default.default.createElement("div", { style: tslib_es6.__assign({}, getHeightStyles()) },
227
- React__default.default.createElement("div", tslib_es6.__assign({ className: cn__default.default(styles.component, className, (_b = {},
227
+ return (React__default.default.createElement(coreComponentsBaseModal.BaseModal, { open: open, ref: ref, container: container, dataTestId: dataTestId, zIndex: zIndex, onClose: onClose, scrollHandler: scrollableContainer, Backdrop: components_swipeableBackdrop_Component.SwipeableBackdrop, backdropProps: tslib.__assign(tslib.__assign({}, backdropProps), { opacity: backdropOpacity, handlers: swipeable ? backdropSwipeablehandlers : false, opacityTimeout: TIMEOUT, invisible: initialHeight === 'full' ? false : hideOverlay }), disableBackdropClick: hideOverlay ? true : disableOverlayClick, className: cn__default.default(styles.modal, modalClassName), wrapperClassName: modalWrapperClassName, disableBlockingScroll: disableBlockingScroll, transitionProps: tslib.__assign(tslib.__assign({ appear: true, timeout: TIMEOUT, classNames: styles }, transitionProps), { onExited: handleExited, onEntered: handleEntered }) },
228
+ React__default.default.createElement("div", { style: tslib.__assign({}, getHeightStyles()) },
229
+ React__default.default.createElement("div", tslib.__assign({ className: cn__default.default(styles.component, className, (_b = {},
228
230
  _b[styles.withTransition] = !sheetOffset,
229
- _b)), style: tslib_es6.__assign(tslib_es6.__assign({}, getSwipeStyles()), getHeightStyles()) }, sheetSwipeablehandlers),
230
- React__default.default.createElement("div", tslib_es6.__assign({}, containerProps, { className: cn__default.default(styles.scrollableContainer, containerProps === null || containerProps === void 0 ? void 0 : containerProps.className, containerClassName, (_c = {},
231
+ _b)), style: tslib.__assign(tslib.__assign({}, getSwipeStyles()), getHeightStyles()) }, sheetSwipeablehandlers),
232
+ React__default.default.createElement("div", tslib.__assign({}, containerProps, { className: cn__default.default(styles.scrollableContainer, containerProps === null || containerProps === void 0 ? void 0 : containerProps.className, containerClassName, (_c = {},
231
233
  _c[styles.scrollLocked] = scrollLocked,
232
- _c)), ref: scrollableContainer }),
234
+ _c)), ref: mergeRefs__default.default([scrollableContainer, scrollableContainerRef]) }),
233
235
  swipeable && React__default.default.createElement("div", { className: cn__default.default(styles.marker) }),
234
- !hideHeader && !emptyHeader && React__default.default.createElement(Header, tslib_es6.__assign({}, headerProps)),
236
+ !hideHeader && !emptyHeader && React__default.default.createElement(Header, tslib.__assign({}, headerProps)),
235
237
  React__default.default.createElement("div", { className: cn__default.default(styles.content, contentClassName, (_d = {},
236
238
  _d[styles.noHeader] = hideHeader || emptyHeader,
237
239
  _d[styles.noFooter] = !actionButton,
package/component.js CHANGED
@@ -1,12 +1,13 @@
1
1
  'use strict';
2
2
 
3
- require('./tslib.es6-f62bcae9.js');
3
+ require('tslib');
4
4
  require('react');
5
5
  require('react-div-100vh');
6
+ require('react-merge-refs');
6
7
  require('react-swipeable');
7
8
  require('classnames');
8
9
  require('@alfalab/core-components-base-modal');
9
- var components_header_Component = require('./component-a31768c8.js');
10
+ var components_header_Component = require('./component-7f6ec6ba.js');
10
11
  require('./components/footer/Component.js');
11
12
  require('./components/swipeable-backdrop/Component.js');
12
13
  require('@alfalab/core-components-typography');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('../../tslib.es6-f62bcae9.js');
3
+ var tslib = require('tslib');
4
4
  var React = require('react');
5
5
  var cn = require('classnames');
6
6
  var coreComponentsIconButton = require('@alfalab/core-components-icon-button');
@@ -11,13 +11,13 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
11
11
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
12
12
  var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
13
13
 
14
- var styles = {"backer":"bottom-sheet__backer_57ab6","button":"bottom-sheet__button_57ab6"};
14
+ var styles = {"backer":"bottom-sheet__backer_i62n2","button":"bottom-sheet__button_i62n2"};
15
15
  require('./index.css')
16
16
 
17
17
  var Backer = function (_a) {
18
- var className = _a.className, _b = _a.size, size = _b === void 0 ? 'xs' : _b, _c = _a.icon, icon = _c === void 0 ? ArrowBackMIcon.ArrowBackMIcon : _c, dataTestId = _a.dataTestId, onClick = _a.onClick, restProps = tslib_es6.__rest(_a, ["className", "size", "icon", "dataTestId", "onClick"]);
18
+ var className = _a.className, _b = _a.size, size = _b === void 0 ? 'xs' : _b, _c = _a.icon, icon = _c === void 0 ? ArrowBackMIcon.ArrowBackMIcon : _c, dataTestId = _a.dataTestId, onClick = _a.onClick, restProps = tslib.__rest(_a, ["className", "size", "icon", "dataTestId", "onClick"]);
19
19
  return (React__default.default.createElement("div", { className: cn__default.default(styles.backer, className) },
20
- React__default.default.createElement(coreComponentsIconButton.IconButton, tslib_es6.__assign({ size: size, className: styles.button, "aria-label": '\u043D\u0430\u0437\u0430\u0434', onClick: onClick, icon: icon, dataTestId: dataTestId }, restProps))));
20
+ React__default.default.createElement(coreComponentsIconButton.IconButton, tslib.__assign({ size: size, className: styles.button, "aria-label": '\u043D\u0430\u0437\u0430\u0434', onClick: onClick, icon: icon, dataTestId: dataTestId }, restProps))));
21
21
  };
22
22
 
23
23
  exports.Backer = Backer;
@@ -1,4 +1,4 @@
1
- /* hash: 1xbzm */
1
+ /* hash: fo1vj */
2
2
  :root {
3
3
  } /* deprecated */ :root {
4
4
  --color-light-graphic-primary: #0b1f35;
@@ -18,7 +18,7 @@
18
18
  } :root {
19
19
  } :root {
20
20
  --bottom-sheet-backer-bg-color: var(--color-light-bg-primary-inverted-alpha-3);
21
- } .bottom-sheet__backer_57ab6 {
21
+ } .bottom-sheet__backer_i62n2 {
22
22
  width: 32px;
23
23
  height: 32px;
24
24
  display: flex;
@@ -26,7 +26,7 @@
26
26
  align-items: center;
27
27
  cursor: pointer;
28
28
  color: var(--color-light-graphic-primary);
29
- } .bottom-sheet__button_57ab6 {
29
+ } .bottom-sheet__button_i62n2 {
30
30
  background: var(--bottom-sheet-backer-bg-color);
31
31
  -webkit-backdrop-filter: blur(10px);
32
32
  backdrop-filter: blur(10px);
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('../../tslib.es6-f62bcae9.js');
3
+ var tslib = require('tslib');
4
4
  var React = require('react');
5
5
  var cn = require('classnames');
6
6
  var coreComponentsBaseModal = require('@alfalab/core-components-base-modal');
@@ -12,17 +12,17 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
12
12
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
13
13
  var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
14
14
 
15
- var styles = {"closer":"bottom-sheet__closer_1fi8d","button":"bottom-sheet__button_1fi8d"};
15
+ var styles = {"closer":"bottom-sheet__closer_1254o","button":"bottom-sheet__button_1254o"};
16
16
  require('./index.css')
17
17
 
18
18
  var Closer = function (_a) {
19
- var className = _a.className, _b = _a.size, size = _b === void 0 ? 'xs' : _b, _c = _a.icon, icon = _c === void 0 ? CrossMIcon.CrossMIcon : _c, dataTestId = _a.dataTestId, restProps = tslib_es6.__rest(_a, ["className", "size", "icon", "dataTestId"]);
19
+ var className = _a.className, _b = _a.size, size = _b === void 0 ? 'xs' : _b, _c = _a.icon, icon = _c === void 0 ? CrossMIcon.CrossMIcon : _c, dataTestId = _a.dataTestId, restProps = tslib.__rest(_a, ["className", "size", "icon", "dataTestId"]);
20
20
  var onClose = React.useContext(coreComponentsBaseModal.BaseModalContext).onClose;
21
21
  var handleClick = React.useCallback(function (event) {
22
22
  onClose(event, 'closerClick');
23
23
  }, [onClose]);
24
24
  return (React__default.default.createElement("div", { className: cn__default.default(styles.closer, className) },
25
- React__default.default.createElement(coreComponentsIconButton.IconButton, tslib_es6.__assign({ size: size, className: styles.button, "aria-label": '\u0437\u0430\u043A\u0440\u044B\u0442\u044C', onClick: handleClick, icon: icon, dataTestId: dataTestId }, restProps))));
25
+ React__default.default.createElement(coreComponentsIconButton.IconButton, tslib.__assign({ size: size, className: styles.button, "aria-label": '\u0437\u0430\u043A\u0440\u044B\u0442\u044C', onClick: handleClick, icon: icon, dataTestId: dataTestId }, restProps))));
26
26
  };
27
27
 
28
28
  exports.Closer = Closer;
@@ -1,4 +1,4 @@
1
- /* hash: 13z6q */
1
+ /* hash: 1cmjx */
2
2
  :root {
3
3
  } /* deprecated */ :root {
4
4
  --color-light-graphic-primary: #0b1f35;
@@ -18,7 +18,7 @@
18
18
  } :root {
19
19
  } :root {
20
20
  --bottom-sheet-closer-bg-color: var(--color-light-bg-primary-inverted-alpha-3);
21
- } .bottom-sheet__closer_1fi8d {
21
+ } .bottom-sheet__closer_1254o {
22
22
  width: 32px;
23
23
  height: 32px;
24
24
  display: flex;
@@ -26,7 +26,7 @@
26
26
  align-items: center;
27
27
  cursor: pointer;
28
28
  color: var(--color-light-graphic-primary);
29
- } .bottom-sheet__button_1fi8d {
29
+ } .bottom-sheet__button_1254o {
30
30
  background: var(--bottom-sheet-closer-bg-color);
31
31
  -webkit-backdrop-filter: blur(10px);
32
32
  backdrop-filter: blur(10px);
@@ -9,7 +9,7 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
9
9
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
10
10
  var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
11
11
 
12
- var styles = {"footer":"bottom-sheet__footer_1mm05","sticky":"bottom-sheet__sticky_1mm05","highlighted":"bottom-sheet__highlighted_1mm05"};
12
+ var styles = {"footer":"bottom-sheet__footer_i273y","sticky":"bottom-sheet__sticky_i273y","highlighted":"bottom-sheet__highlighted_i273y"};
13
13
  require('./index.css')
14
14
 
15
15
  var Footer = function (_a) {
@@ -1,4 +1,4 @@
1
- /* hash: twuoo */
1
+ /* hash: cjoe0 */
2
2
  :root {
3
3
  } /* deprecated */ :root {
4
4
  --color-light-bg-primary: #fff;
@@ -20,13 +20,13 @@
20
20
  } :root {
21
21
  --bottom-sheet-footer-border-top: 1px solid var(--color-light-border-primary);
22
22
  --bottom-sheet-footer-background-color: var(--color-light-bg-primary);
23
- } .bottom-sheet__footer_1mm05 {
23
+ } .bottom-sheet__footer_i273y {
24
24
  padding: var(--gap-m) var(--gap-m);
25
25
  background-color: var(--color-light-bg-primary);
26
- } .bottom-sheet__sticky_1mm05 {
26
+ } .bottom-sheet__sticky_i273y {
27
27
  position: sticky;
28
28
  bottom: 0;
29
- } .bottom-sheet__highlighted_1mm05 {
29
+ } .bottom-sheet__highlighted_i273y {
30
30
  border-top: var(--bottom-sheet-footer-border-top);
31
31
  background-color: var(--bottom-sheet-footer-background-color);
32
32
  }
@@ -4,11 +4,12 @@ require('react');
4
4
  require('classnames');
5
5
  require('@alfalab/core-components-base-modal');
6
6
  require('@alfalab/core-components-typography');
7
- var components_header_Component = require('../../component-a31768c8.js');
7
+ var components_header_Component = require('../../component-7f6ec6ba.js');
8
8
  require('../backer/Component.js');
9
9
  require('../closer/Component.js');
10
- require('../../tslib.es6-f62bcae9.js');
10
+ require('tslib');
11
11
  require('react-div-100vh');
12
+ require('react-merge-refs');
12
13
  require('react-swipeable');
13
14
  require('../footer/Component.js');
14
15
  require('../swipeable-backdrop/Component.js');
@@ -1,4 +1,4 @@
1
- /* hash: 1a5po */
1
+ /* hash: ssjdh */
2
2
  :root {
3
3
  } /* deprecated */ :root {
4
4
  --color-light-bg-primary: #fff;
@@ -28,37 +28,37 @@
28
28
  --bottom-sheet-title-line-height: 24px;
29
29
  --bottom-sheet-title-font-family: var(--font-family-system);
30
30
  --bottom-sheet-title-margin-vertical: var(--gap-2xs);
31
- } .bottom-sheet__headerWrapper_1uguw {
31
+ } .bottom-sheet__headerWrapper_1veed {
32
32
  padding: var(--gap-xs);
33
33
  padding-bottom: 0;
34
34
  background-color: var(--color-light-bg-primary);
35
35
  border-top-right-radius: var(--border-radius-xl);
36
36
  border-top-left-radius: var(--border-radius-xl);
37
37
  z-index: 1;
38
- } .bottom-sheet__header_1uguw {
38
+ } .bottom-sheet__header_1veed {
39
39
  display: flex;
40
- } .bottom-sheet__sticky_1uguw {
40
+ } .bottom-sheet__sticky_1veed {
41
41
  position: sticky;
42
42
  top: 0;
43
- } .bottom-sheet__highlighted_1uguw {
43
+ } .bottom-sheet__highlighted_1veed {
44
44
  border-bottom: var(--bottom-sheet-header-border-bottom);
45
- } .bottom-sheet__justifyEnd_1uguw {
45
+ } .bottom-sheet__justifyEnd_1veed {
46
46
  justify-content: flex-end;
47
- } .bottom-sheet__addon_1uguw {
47
+ } .bottom-sheet__addon_1veed {
48
48
  display: flex;
49
49
  justify-content: center;
50
50
  align-items: center;
51
51
  min-width: 48px;
52
52
  height: 48px;
53
- } .bottom-sheet__addonFixed_1uguw {
53
+ } .bottom-sheet__addonFixed_1veed {
54
54
  position: fixed;
55
- } .bottom-sheet__addonLeft_1uguw {
55
+ } .bottom-sheet__addonLeft_1veed {
56
56
  left: 0;
57
57
  margin-left: var(--gap-xs);
58
- } .bottom-sheet__addonRight_1uguw {
58
+ } .bottom-sheet__addonRight_1veed {
59
59
  right: 0;
60
60
  margin-right: var(--gap-xs);
61
- } .bottom-sheet__title_1uguw {
61
+ } .bottom-sheet__title_1veed {
62
62
  padding: var(--gap-xs) var(--gap-xs);
63
63
  margin: var(--bottom-sheet-title-margin-vertical) 0;
64
64
  width: 100%;
@@ -66,18 +66,18 @@
66
66
  font-weight: var(--bottom-sheet-title-font-weight);
67
67
  line-height: var(--bottom-sheet-title-line-height);
68
68
  font-family: var(--bottom-sheet-title-font-family);
69
- } .bottom-sheet__titleCenter_1uguw {
69
+ } .bottom-sheet__titleCenter_1veed {
70
70
  text-align: center;
71
- } .bottom-sheet__titleLeft_1uguw {
71
+ } .bottom-sheet__titleLeft_1veed {
72
72
  text-align: left;
73
- } .bottom-sheet__trimTitle_1uguw {
73
+ } .bottom-sheet__trimTitle_1veed {
74
74
  white-space: nowrap;
75
75
  overflow: hidden;
76
76
  text-overflow: ellipsis;
77
- } .bottom-sheet__titleBigIndentHorizontal_1uguw {
77
+ } .bottom-sheet__titleBigIndentHorizontal_1veed {
78
78
  margin: var(--bottom-sheet-title-margin-vertical) var(--gap-4xl);
79
- } .bottom-sheet__titleIndentRight_1uguw {
79
+ } .bottom-sheet__titleIndentRight_1veed {
80
80
  margin-right: var(--gap-4xl);
81
- } .bottom-sheet__titleIndentLeft_1uguw {
81
+ } .bottom-sheet__titleIndentLeft_1veed {
82
82
  margin-left: var(--gap-4xl);
83
83
  }
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('../../tslib.es6-f62bcae9.js');
3
+ var tslib = require('tslib');
4
4
  var React = require('react');
5
5
  var coreComponentsBackdrop = require('@alfalab/core-components-backdrop');
6
6
 
@@ -9,9 +9,9 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
9
9
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
10
10
 
11
11
  var SwipeableBackdrop = function (_a) {
12
- var opacity = _a.opacity, handlers = _a.handlers, opacityTimeout = _a.opacityTimeout, style = _a.style, backdropProps = tslib_es6.__rest(_a, ["opacity", "handlers", "opacityTimeout", "style"]);
13
- return (React__default.default.createElement("div", tslib_es6.__assign({}, handlers, { style: tslib_es6.__assign({ opacity: opacity, transition: opacity === 1 ? "opacity ".concat(opacityTimeout, "ms ease-in-out") : '', position: 'relative' }, style) }),
14
- React__default.default.createElement(coreComponentsBackdrop.Backdrop, tslib_es6.__assign({}, backdropProps))));
12
+ var opacity = _a.opacity, handlers = _a.handlers, opacityTimeout = _a.opacityTimeout, style = _a.style, backdropProps = tslib.__rest(_a, ["opacity", "handlers", "opacityTimeout", "style"]);
13
+ return (React__default.default.createElement("div", tslib.__assign({}, handlers, { style: tslib.__assign({ opacity: opacity, transition: opacity === 1 ? "opacity ".concat(opacityTimeout, "ms ease-in-out") : '', position: 'relative' }, style) }),
14
+ React__default.default.createElement(coreComponentsBackdrop.Backdrop, tslib.__assign({}, backdropProps))));
15
15
  };
16
16
 
17
17
  exports.SwipeableBackdrop = SwipeableBackdrop;
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react-transition-group" />
2
2
  /// <reference types="react" />
3
3
  import React from "react";
4
- import { FC, ReactNode, HTMLAttributes } from "react";
4
+ import { FC, ReactNode, HTMLAttributes, RefObject } from "react";
5
5
  import { BottomSheetTitleAlign } from "./index";
6
6
  import { TransitionProps } from 'react-transition-group/Transition';
7
7
  import { BaseModalProps } from "@alfalab/core-components-base-modal";
@@ -220,6 +220,10 @@ type BottomSheetProps = {
220
220
  * Свойства для Бэкдропа
221
221
  */
222
222
  backdropProps?: BaseModalProps['backdropProps'];
223
+ /**
224
+ * Реф на контейнер, в котором происходит скролл
225
+ */
226
+ scrollableContainerRef?: RefObject<HTMLElement>;
223
227
  /**
224
228
  * Обработчик закрытия
225
229
  */
@@ -1,8 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('./tslib.es6-bbd6cd2a.js');
3
+ var tslib = require('tslib');
4
4
  var React = require('react');
5
5
  var reactDiv100vh = require('react-div-100vh');
6
+ var mergeRefs = require('react-merge-refs');
6
7
  var reactSwipeable = require('react-swipeable');
7
8
  var cn = require('classnames');
8
9
  var coreComponentsBaseModal = require('@alfalab/core-components-base-modal/cssm');
@@ -17,6 +18,7 @@ var styles = require('./components/header/index.module.css');
17
18
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
18
19
 
19
20
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
21
+ var mergeRefs__default = /*#__PURE__*/_interopDefaultCompat(mergeRefs);
20
22
  var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
21
23
  var styles__default$1 = /*#__PURE__*/_interopDefaultCompat(styles$1);
22
24
  var styles__default = /*#__PURE__*/_interopDefaultCompat(styles);
@@ -83,10 +85,10 @@ var HEADER_OFFSET = 24;
83
85
  var CLOSE_OFFSET = 0.2;
84
86
  var BottomSheet = React.forwardRef(function (_a, ref) {
85
87
  var _b, _c, _d;
86
- var open = _a.open, title = _a.title, container = _a.container, actionButton = _a.actionButton, contentClassName = _a.contentClassName, containerClassName = _a.containerClassName, containerProps = _a.containerProps, headerClassName = _a.headerClassName, footerClassName = _a.footerClassName, addonClassName = _a.addonClassName, closerClassName = _a.closerClassName, backerClassName = _a.backerClassName, modalClassName = _a.modalClassName, modalWrapperClassName = _a.modalWrapperClassName, className = _a.className, leftAddons = _a.leftAddons, rightAddons = _a.rightAddons, bottomAddons = _a.bottomAddons, hasCloser = _a.hasCloser, hasBacker = _a.hasBacker, _e = _a.titleAlign, titleAlign = _e === void 0 ? 'left' : _e, trimTitle = _a.trimTitle, stickyHeader = _a.stickyHeader, _f = _a.stickyFooter, stickyFooter = _f === void 0 ? true : _f, _g = _a.initialHeight, initialHeight = _g === void 0 ? 'default' : _g, hideOverlay = _a.hideOverlay, hideHeader = _a.hideHeader, disableOverlayClick = _a.disableOverlayClick, disableBlockingScroll = _a.disableBlockingScroll, children = _a.children, zIndex = _a.zIndex, _h = _a.transitionProps, transitionProps = _h === void 0 ? {} : _h, dataTestId = _a.dataTestId, _j = _a.swipeable, swipeable = _j === void 0 ? true : _j, backdropProps = _a.backdropProps, onClose = _a.onClose, onBack = _a.onBack;
87
- var _k = React.useState(0), sheetOffset = _k[0], setSheetOffset = _k[1];
88
- var _l = React.useState(1), backdropOpacity = _l[0], setBackdropOpacity = _l[1];
89
- var _m = React.useState(false), scrollLocked = _m[0], setScrollLocked = _m[1];
88
+ var open = _a.open, title = _a.title, container = _a.container, actionButton = _a.actionButton, contentClassName = _a.contentClassName, containerClassName = _a.containerClassName, containerProps = _a.containerProps, headerClassName = _a.headerClassName, footerClassName = _a.footerClassName, addonClassName = _a.addonClassName, closerClassName = _a.closerClassName, backerClassName = _a.backerClassName, modalClassName = _a.modalClassName, modalWrapperClassName = _a.modalWrapperClassName, className = _a.className, leftAddons = _a.leftAddons, rightAddons = _a.rightAddons, bottomAddons = _a.bottomAddons, hasCloser = _a.hasCloser, hasBacker = _a.hasBacker, _e = _a.titleAlign, titleAlign = _e === void 0 ? 'left' : _e, trimTitle = _a.trimTitle, stickyHeader = _a.stickyHeader, _f = _a.stickyFooter, stickyFooter = _f === void 0 ? true : _f, _g = _a.initialHeight, initialHeight = _g === void 0 ? 'default' : _g, hideOverlay = _a.hideOverlay, hideHeader = _a.hideHeader, disableOverlayClick = _a.disableOverlayClick, disableBlockingScroll = _a.disableBlockingScroll, children = _a.children, zIndex = _a.zIndex, _h = _a.transitionProps, transitionProps = _h === void 0 ? {} : _h, dataTestId = _a.dataTestId, _j = _a.swipeable, swipeable = _j === void 0 ? true : _j, backdropProps = _a.backdropProps, _k = _a.scrollableContainerRef, scrollableContainerRef = _k === void 0 ? function () { return null; } : _k, onClose = _a.onClose, onBack = _a.onBack;
89
+ var _l = React.useState(0), sheetOffset = _l[0], setSheetOffset = _l[1];
90
+ var _m = React.useState(1), backdropOpacity = _m[0], setBackdropOpacity = _m[1];
91
+ var _o = React.useState(false), scrollLocked = _o[0], setScrollLocked = _o[1];
90
92
  var sheetHeight = React.useRef(0);
91
93
  var scrollableContainer = React.useRef(null);
92
94
  var scrollableContainerScrollValue = React.useRef(0);
@@ -220,16 +222,16 @@ var BottomSheet = React.forwardRef(function (_a, ref) {
220
222
  height: initialHeight === 'full' ? targetHeight : 'unset',
221
223
  maxHeight: targetHeight,
222
224
  }); };
223
- return (React__default.default.createElement(coreComponentsBaseModal.BaseModal, { open: open, ref: ref, container: container, dataTestId: dataTestId, zIndex: zIndex, onClose: onClose, scrollHandler: scrollableContainer, Backdrop: components_swipeableBackdrop_Component.SwipeableBackdrop, backdropProps: tslib_es6.__assign(tslib_es6.__assign({}, backdropProps), { opacity: backdropOpacity, handlers: swipeable ? backdropSwipeablehandlers : false, opacityTimeout: TIMEOUT, invisible: initialHeight === 'full' ? false : hideOverlay }), disableBackdropClick: hideOverlay ? true : disableOverlayClick, className: cn__default.default(styles__default$1.default.modal, modalClassName), wrapperClassName: modalWrapperClassName, disableBlockingScroll: disableBlockingScroll, transitionProps: tslib_es6.__assign(tslib_es6.__assign({ appear: true, timeout: TIMEOUT, classNames: styles__default$1.default }, transitionProps), { onExited: handleExited, onEntered: handleEntered }) },
224
- React__default.default.createElement("div", { style: tslib_es6.__assign({}, getHeightStyles()) },
225
- React__default.default.createElement("div", tslib_es6.__assign({ className: cn__default.default(styles__default$1.default.component, className, (_b = {},
225
+ return (React__default.default.createElement(coreComponentsBaseModal.BaseModal, { open: open, ref: ref, container: container, dataTestId: dataTestId, zIndex: zIndex, onClose: onClose, scrollHandler: scrollableContainer, Backdrop: components_swipeableBackdrop_Component.SwipeableBackdrop, backdropProps: tslib.__assign(tslib.__assign({}, backdropProps), { opacity: backdropOpacity, handlers: swipeable ? backdropSwipeablehandlers : false, opacityTimeout: TIMEOUT, invisible: initialHeight === 'full' ? false : hideOverlay }), disableBackdropClick: hideOverlay ? true : disableOverlayClick, className: cn__default.default(styles__default$1.default.modal, modalClassName), wrapperClassName: modalWrapperClassName, disableBlockingScroll: disableBlockingScroll, transitionProps: tslib.__assign(tslib.__assign({ appear: true, timeout: TIMEOUT, classNames: styles__default$1.default }, transitionProps), { onExited: handleExited, onEntered: handleEntered }) },
226
+ React__default.default.createElement("div", { style: tslib.__assign({}, getHeightStyles()) },
227
+ React__default.default.createElement("div", tslib.__assign({ className: cn__default.default(styles__default$1.default.component, className, (_b = {},
226
228
  _b[styles__default$1.default.withTransition] = !sheetOffset,
227
- _b)), style: tslib_es6.__assign(tslib_es6.__assign({}, getSwipeStyles()), getHeightStyles()) }, sheetSwipeablehandlers),
228
- React__default.default.createElement("div", tslib_es6.__assign({}, containerProps, { className: cn__default.default(styles__default$1.default.scrollableContainer, containerProps === null || containerProps === void 0 ? void 0 : containerProps.className, containerClassName, (_c = {},
229
+ _b)), style: tslib.__assign(tslib.__assign({}, getSwipeStyles()), getHeightStyles()) }, sheetSwipeablehandlers),
230
+ React__default.default.createElement("div", tslib.__assign({}, containerProps, { className: cn__default.default(styles__default$1.default.scrollableContainer, containerProps === null || containerProps === void 0 ? void 0 : containerProps.className, containerClassName, (_c = {},
229
231
  _c[styles__default$1.default.scrollLocked] = scrollLocked,
230
- _c)), ref: scrollableContainer }),
232
+ _c)), ref: mergeRefs__default.default([scrollableContainer, scrollableContainerRef]) }),
231
233
  swipeable && React__default.default.createElement("div", { className: cn__default.default(styles__default$1.default.marker) }),
232
- !hideHeader && !emptyHeader && React__default.default.createElement(Header, tslib_es6.__assign({}, headerProps)),
234
+ !hideHeader && !emptyHeader && React__default.default.createElement(Header, tslib.__assign({}, headerProps)),
233
235
  React__default.default.createElement("div", { className: cn__default.default(styles__default$1.default.content, contentClassName, (_d = {},
234
236
  _d[styles__default$1.default.noHeader] = hideHeader || emptyHeader,
235
237
  _d[styles__default$1.default.noFooter] = !actionButton,
package/cssm/component.js CHANGED
@@ -1,12 +1,13 @@
1
1
  'use strict';
2
2
 
3
- require('./tslib.es6-bbd6cd2a.js');
3
+ require('tslib');
4
4
  require('react');
5
5
  require('react-div-100vh');
6
+ require('react-merge-refs');
6
7
  require('react-swipeable');
7
8
  require('classnames');
8
9
  require('@alfalab/core-components-base-modal/cssm');
9
- var components_header_Component = require('./component-082df5fd.js');
10
+ var components_header_Component = require('./component-8a02e7db.js');
10
11
  require('./components/footer/Component.js');
11
12
  require('./components/swipeable-backdrop/Component.js');
12
13
  require('./index.module.css');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('../../tslib.es6-bbd6cd2a.js');
3
+ var tslib = require('tslib');
4
4
  var React = require('react');
5
5
  var cn = require('classnames');
6
6
  var coreComponentsIconButton = require('@alfalab/core-components-icon-button/cssm');
@@ -14,9 +14,9 @@ var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
14
14
  var styles__default = /*#__PURE__*/_interopDefaultCompat(styles);
15
15
 
16
16
  var Backer = function (_a) {
17
- var className = _a.className, _b = _a.size, size = _b === void 0 ? 'xs' : _b, _c = _a.icon, icon = _c === void 0 ? ArrowBackMIcon.ArrowBackMIcon : _c, dataTestId = _a.dataTestId, onClick = _a.onClick, restProps = tslib_es6.__rest(_a, ["className", "size", "icon", "dataTestId", "onClick"]);
17
+ var className = _a.className, _b = _a.size, size = _b === void 0 ? 'xs' : _b, _c = _a.icon, icon = _c === void 0 ? ArrowBackMIcon.ArrowBackMIcon : _c, dataTestId = _a.dataTestId, onClick = _a.onClick, restProps = tslib.__rest(_a, ["className", "size", "icon", "dataTestId", "onClick"]);
18
18
  return (React__default.default.createElement("div", { className: cn__default.default(styles__default.default.backer, className) },
19
- React__default.default.createElement(coreComponentsIconButton.IconButton, tslib_es6.__assign({ size: size, className: styles__default.default.button, "aria-label": '\u043D\u0430\u0437\u0430\u0434', onClick: onClick, icon: icon, dataTestId: dataTestId }, restProps))));
19
+ React__default.default.createElement(coreComponentsIconButton.IconButton, tslib.__assign({ size: size, className: styles__default.default.button, "aria-label": '\u043D\u0430\u0437\u0430\u0434', onClick: onClick, icon: icon, dataTestId: dataTestId }, restProps))));
20
20
  };
21
21
 
22
22
  exports.Backer = Backer;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('../../tslib.es6-bbd6cd2a.js');
3
+ var tslib = require('tslib');
4
4
  var React = require('react');
5
5
  var cn = require('classnames');
6
6
  var coreComponentsBaseModal = require('@alfalab/core-components-base-modal/cssm');
@@ -15,13 +15,13 @@ var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
15
15
  var styles__default = /*#__PURE__*/_interopDefaultCompat(styles);
16
16
 
17
17
  var Closer = function (_a) {
18
- var className = _a.className, _b = _a.size, size = _b === void 0 ? 'xs' : _b, _c = _a.icon, icon = _c === void 0 ? CrossMIcon.CrossMIcon : _c, dataTestId = _a.dataTestId, restProps = tslib_es6.__rest(_a, ["className", "size", "icon", "dataTestId"]);
18
+ var className = _a.className, _b = _a.size, size = _b === void 0 ? 'xs' : _b, _c = _a.icon, icon = _c === void 0 ? CrossMIcon.CrossMIcon : _c, dataTestId = _a.dataTestId, restProps = tslib.__rest(_a, ["className", "size", "icon", "dataTestId"]);
19
19
  var onClose = React.useContext(coreComponentsBaseModal.BaseModalContext).onClose;
20
20
  var handleClick = React.useCallback(function (event) {
21
21
  onClose(event, 'closerClick');
22
22
  }, [onClose]);
23
23
  return (React__default.default.createElement("div", { className: cn__default.default(styles__default.default.closer, className) },
24
- React__default.default.createElement(coreComponentsIconButton.IconButton, tslib_es6.__assign({ size: size, className: styles__default.default.button, "aria-label": '\u0437\u0430\u043A\u0440\u044B\u0442\u044C', onClick: handleClick, icon: icon, dataTestId: dataTestId }, restProps))));
24
+ React__default.default.createElement(coreComponentsIconButton.IconButton, tslib.__assign({ size: size, className: styles__default.default.button, "aria-label": '\u0437\u0430\u043A\u0440\u044B\u0442\u044C', onClick: handleClick, icon: icon, dataTestId: dataTestId }, restProps))));
25
25
  };
26
26
 
27
27
  exports.Closer = Closer;
@@ -4,12 +4,13 @@ require('react');
4
4
  require('classnames');
5
5
  require('@alfalab/core-components-base-modal/cssm');
6
6
  require('@alfalab/core-components-typography/cssm');
7
- var components_header_Component = require('../../component-082df5fd.js');
7
+ var components_header_Component = require('../../component-8a02e7db.js');
8
8
  require('../backer/Component.js');
9
9
  require('../closer/Component.js');
10
10
  require('./index.module.css');
11
- require('../../tslib.es6-bbd6cd2a.js');
11
+ require('tslib');
12
12
  require('react-div-100vh');
13
+ require('react-merge-refs');
13
14
  require('react-swipeable');
14
15
  require('../footer/Component.js');
15
16
  require('../footer/index.module.css');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('../../tslib.es6-bbd6cd2a.js');
3
+ var tslib = require('tslib');
4
4
  var React = require('react');
5
5
  var coreComponentsBackdrop = require('@alfalab/core-components-backdrop/cssm');
6
6
 
@@ -9,9 +9,9 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
9
9
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
10
10
 
11
11
  var SwipeableBackdrop = function (_a) {
12
- var opacity = _a.opacity, handlers = _a.handlers, opacityTimeout = _a.opacityTimeout, style = _a.style, backdropProps = tslib_es6.__rest(_a, ["opacity", "handlers", "opacityTimeout", "style"]);
13
- return (React__default.default.createElement("div", tslib_es6.__assign({}, handlers, { style: tslib_es6.__assign({ opacity: opacity, transition: opacity === 1 ? "opacity ".concat(opacityTimeout, "ms ease-in-out") : '', position: 'relative' }, style) }),
14
- React__default.default.createElement(coreComponentsBackdrop.Backdrop, tslib_es6.__assign({}, backdropProps))));
12
+ var opacity = _a.opacity, handlers = _a.handlers, opacityTimeout = _a.opacityTimeout, style = _a.style, backdropProps = tslib.__rest(_a, ["opacity", "handlers", "opacityTimeout", "style"]);
13
+ return (React__default.default.createElement("div", tslib.__assign({}, handlers, { style: tslib.__assign({ opacity: opacity, transition: opacity === 1 ? "opacity ".concat(opacityTimeout, "ms ease-in-out") : '', position: 'relative' }, style) }),
14
+ React__default.default.createElement(coreComponentsBackdrop.Backdrop, tslib.__assign({}, backdropProps))));
15
15
  };
16
16
 
17
17
  exports.SwipeableBackdrop = SwipeableBackdrop;
package/cssm/index.d.ts CHANGED
@@ -1 +1 @@
1
- export * from "./component-082df5fd";
1
+ export * from "./component-8a02e7db";
package/cssm/index.js CHANGED
@@ -1,9 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var components_header_Component = require('./component-082df5fd.js');
4
- require('./tslib.es6-bbd6cd2a.js');
3
+ var components_header_Component = require('./component-8a02e7db.js');
4
+ require('tslib');
5
5
  require('react');
6
6
  require('react-div-100vh');
7
+ require('react-merge-refs');
7
8
  require('react-swipeable');
8
9
  require('classnames');
9
10
  require('@alfalab/core-components-base-modal/cssm');
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react-transition-group" />
2
2
  /// <reference types="react" />
3
3
  import React from "react";
4
- import { FC, ReactNode, HTMLAttributes } from "react";
4
+ import { FC, ReactNode, HTMLAttributes, RefObject } from "react";
5
5
  import { BottomSheetTitleAlign } from "./index";
6
6
  import { TransitionProps } from 'react-transition-group/Transition';
7
7
  import { BaseModalProps } from "@alfalab/core-components-base-modal";
@@ -220,6 +220,10 @@ type BottomSheetProps = {
220
220
  * Свойства для Бэкдропа
221
221
  */
222
222
  backdropProps?: BaseModalProps['backdropProps'];
223
+ /**
224
+ * Реф на контейнер, в котором происходит скролл
225
+ */
226
+ scrollableContainerRef?: RefObject<HTMLElement>;
223
227
  /**
224
228
  * Обработчик закрытия
225
229
  */