@alfalab/core-components-bottom-sheet 4.1.3 → 4.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/dist/{component-361629fa.d.ts → component-a69ef39f.d.ts} +4 -0
- package/dist/{component-361629fa.js → component-a69ef39f.js} +25 -9
- package/dist/component.js +2 -2
- package/dist/components/backer/Component.js +2 -2
- package/dist/components/backer/index.css +3 -3
- package/dist/components/closer/Component.js +2 -2
- package/dist/components/closer/index.css +3 -3
- package/dist/components/footer/Component.js +1 -1
- package/dist/components/footer/index.css +4 -4
- package/dist/components/header/Component.js +2 -2
- package/dist/components/header/index.css +16 -16
- package/dist/components/swipeable-backdrop/Component.js +1 -1
- package/dist/{esm/component-c99fc8cc.d.ts → cssm/component-42c27971.d.ts} +4 -0
- package/dist/cssm/{component-d1b19e73.js → component-42c27971.js} +22 -6
- package/dist/cssm/component.js +1 -1
- package/dist/cssm/components/header/Component.js +1 -1
- package/dist/cssm/index.d.ts +1 -1
- package/dist/cssm/index.js +1 -1
- package/dist/cssm/index.module.css +3 -0
- package/dist/{cssm/component-d1b19e73.d.ts → esm/component-273ce79d.d.ts} +4 -0
- package/dist/esm/{component-c99fc8cc.js → component-273ce79d.js} +25 -9
- package/dist/esm/component.js +2 -2
- package/dist/esm/components/backer/Component.js +2 -2
- package/dist/esm/components/backer/index.css +3 -3
- package/dist/esm/components/closer/Component.js +2 -2
- package/dist/esm/components/closer/index.css +3 -3
- package/dist/esm/components/footer/Component.js +1 -1
- package/dist/esm/components/footer/index.css +4 -4
- package/dist/esm/components/header/Component.js +2 -2
- package/dist/esm/components/header/index.css +16 -16
- package/dist/esm/components/swipeable-backdrop/Component.js +1 -1
- package/dist/esm/index.css +18 -15
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/{tslib.es6-f3afbc15.d.ts → tslib.es6-702aaccc.d.ts} +0 -0
- package/dist/esm/{tslib.es6-f3afbc15.js → tslib.es6-702aaccc.js} +0 -0
- package/dist/index.css +18 -15
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -2
- package/dist/modern/{component-7c3cd516.d.ts → component-17606fb9.d.ts} +4 -0
- package/dist/modern/{component-7c3cd516.js → component-17606fb9.js} +21 -5
- package/dist/modern/component.js +1 -1
- package/dist/modern/components/backer/Component.js +1 -1
- package/dist/modern/components/backer/index.css +3 -3
- package/dist/modern/components/closer/Component.js +1 -1
- package/dist/modern/components/closer/index.css +3 -3
- package/dist/modern/components/footer/Component.js +1 -1
- package/dist/modern/components/footer/index.css +4 -4
- package/dist/modern/components/header/Component.js +1 -1
- package/dist/modern/components/header/index.css +16 -16
- package/dist/modern/index.css +18 -15
- package/dist/modern/index.d.ts +1 -1
- package/dist/modern/index.js +1 -1
- package/dist/{tslib.es6-51ba014b.d.ts → tslib.es6-cbd7f1a3.d.ts} +0 -0
- package/dist/{tslib.es6-51ba014b.js → tslib.es6-cbd7f1a3.js} +0 -0
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,25 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [4.2.0](https://github.com/core-ds/core-components/compare/@alfalab/core-components-bottom-sheet@4.1.5...@alfalab/core-components-bottom-sheet@4.2.0) (2022-06-16)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* **BottonSheet:** prop for controlling animation on screen size chan… ([#89](https://github.com/core-ds/core-components/issues/89)) ([a69e178](https://github.com/core-ds/core-components/commit/a69e17891d1fd91ba6f35bfc097ae1fc9cbf92df))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## [4.1.5](https://github.com/core-ds/core-components/compare/@alfalab/core-components-bottom-sheet@4.1.4...@alfalab/core-components-bottom-sheet@4.1.5) (2022-06-03)
|
|
18
|
+
|
|
19
|
+
**Note:** Version bump only for package @alfalab/core-components-bottom-sheet
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
6
25
|
## [4.0.2](https://github.com/core-ds/core-components/compare/@alfalab/core-components-bottom-sheet@4.0.1...@alfalab/core-components-bottom-sheet@4.0.2) (2022-03-30)
|
|
7
26
|
|
|
8
27
|
**Note:** Version bump only for package @alfalab/core-components-bottom-sheet
|
|
@@ -174,6 +174,10 @@ type BottomSheetProps = {
|
|
|
174
174
|
* Запретить закрытие шторки кликом на оверлэй
|
|
175
175
|
*/
|
|
176
176
|
disableOverlayClick?: boolean;
|
|
177
|
+
/**
|
|
178
|
+
* Не анимировать шторку при изменении размера вьюпорта
|
|
179
|
+
*/
|
|
180
|
+
ignoreScreenChange?: boolean;
|
|
177
181
|
/**
|
|
178
182
|
* Обработчик закрытия
|
|
179
183
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var tslib_es6 = require('./tslib.es6-
|
|
3
|
+
var tslib_es6 = require('./tslib.es6-cbd7f1a3.js');
|
|
4
4
|
var React = require('react');
|
|
5
5
|
var cn = require('classnames');
|
|
6
6
|
var reactDiv100vh = require('react-div-100vh');
|
|
@@ -17,7 +17,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
17
17
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
18
18
|
var cn__default = /*#__PURE__*/_interopDefaultLegacy(cn);
|
|
19
19
|
|
|
20
|
-
var styles = {"header":"bottom-
|
|
20
|
+
var styles = {"header":"bottom-sheet__header_1jt0k","sticky":"bottom-sheet__sticky_1jt0k","highlighted":"bottom-sheet__highlighted_1jt0k","justifyEnd":"bottom-sheet__justifyEnd_1jt0k","addon":"bottom-sheet__addon_1jt0k","addonFixed":"bottom-sheet__addonFixed_1jt0k","addonLeft":"bottom-sheet__addonLeft_1jt0k","addonRight":"bottom-sheet__addonRight_1jt0k","title":"bottom-sheet__title_1jt0k","titleCenter":"bottom-sheet__titleCenter_1jt0k","titleLeft":"bottom-sheet__titleLeft_1jt0k","trimTitle":"bottom-sheet__trimTitle_1jt0k","titleBigIndentHorizontal":"bottom-sheet__titleBigIndentHorizontal_1jt0k","titleIndentRight":"bottom-sheet__titleIndentRight_1jt0k","titleIndentLeft":"bottom-sheet__titleIndentLeft_1jt0k"};
|
|
21
21
|
require('./components/header/index.css')
|
|
22
22
|
|
|
23
23
|
var Header = function (_a) {
|
|
@@ -64,7 +64,7 @@ var Header = function (_a) {
|
|
|
64
64
|
_e)) }, hasCloser ? React__default['default'].createElement(components_closer_Component.Closer, { className: closerClassName }) : rightAddons))));
|
|
65
65
|
};
|
|
66
66
|
|
|
67
|
-
var styles$1 = {"modal":"bottom-
|
|
67
|
+
var styles$1 = {"modal":"bottom-sheet__modal_7hpwg","component":"bottom-sheet__component_7hpwg","withTransition":"bottom-sheet__withTransition_7hpwg","withZeroTransition":"bottom-sheet__withZeroTransition_7hpwg","scrollableContainer":"bottom-sheet__scrollableContainer_7hpwg","marker":"bottom-sheet__marker_7hpwg","content":"bottom-sheet__content_7hpwg","noHeader":"bottom-sheet__noHeader_7hpwg","noFooter":"bottom-sheet__noFooter_7hpwg","scrollLocked":"bottom-sheet__scrollLocked_7hpwg","appear":"bottom-sheet__appear_7hpwg","enter":"bottom-sheet__enter_7hpwg","appearActive":"bottom-sheet__appearActive_7hpwg","enterActive":"bottom-sheet__enterActive_7hpwg","enterDone":"bottom-sheet__enterDone_7hpwg","appearDone":"bottom-sheet__appearDone_7hpwg","exit":"bottom-sheet__exit_7hpwg","exitActive":"bottom-sheet__exitActive_7hpwg"};
|
|
68
68
|
require('./index.css')
|
|
69
69
|
|
|
70
70
|
var TIMEOUT = 300;
|
|
@@ -77,14 +77,15 @@ var HEADER_OFFSET = 24;
|
|
|
77
77
|
var CLOSE_OFFSET = 0.2;
|
|
78
78
|
var BottomSheet = React.forwardRef(function (_a, ref) {
|
|
79
79
|
var _b, _c, _d;
|
|
80
|
-
var open = _a.open, title = _a.title, actionButton = _a.actionButton, contentClassName = _a.contentClassName, containerClassName = _a.containerClassName, headerClassName = _a.headerClassName, footerClassName = _a.footerClassName, addonClassName = _a.addonClassName, closerClassName = _a.closerClassName, backerClassName = _a.backerClassName, className = _a.className, leftAddons = _a.leftAddons, rightAddons = _a.rightAddons, 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, 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, onClose = _a.onClose, onBack = _a.onBack;
|
|
81
|
-
var
|
|
82
|
-
var
|
|
83
|
-
var
|
|
80
|
+
var open = _a.open, title = _a.title, actionButton = _a.actionButton, contentClassName = _a.contentClassName, containerClassName = _a.containerClassName, headerClassName = _a.headerClassName, footerClassName = _a.footerClassName, addonClassName = _a.addonClassName, closerClassName = _a.closerClassName, backerClassName = _a.backerClassName, className = _a.className, leftAddons = _a.leftAddons, rightAddons = _a.rightAddons, 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, 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, _k = _a.ignoreScreenChange, ignoreScreenChange = _k === void 0 ? false : _k, onClose = _a.onClose, onBack = _a.onBack;
|
|
81
|
+
var _l = React.useState(0), sheetOffset = _l[0], setSheetOffset = _l[1];
|
|
82
|
+
var _m = React.useState(1), backdropOpacity = _m[0], setBackdropOpacity = _m[1];
|
|
83
|
+
var _o = React.useState(false), scrollLocked = _o[0], setScrollLocked = _o[1];
|
|
84
84
|
var sheetHeight = React.useRef(0);
|
|
85
85
|
var scrollableContainer = React.useRef(null);
|
|
86
86
|
var scrollableContainerScrollValue = React.useRef(0);
|
|
87
87
|
var emptyHeader = !hasCloser && !hasBacker && !leftAddons && !rightAddons && !title;
|
|
88
|
+
var _p = React.useState(styles$1.withTransition), transitionClassName = _p[0], setTransitionClassName = _p[1];
|
|
88
89
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
89
90
|
var fullHeight = reactDiv100vh.use100vh();
|
|
90
91
|
var targetHeight = fullHeight - HEADER_OFFSET + "px";
|
|
@@ -148,6 +149,12 @@ var BottomSheet = React.forwardRef(function (_a, ref) {
|
|
|
148
149
|
onClose();
|
|
149
150
|
}
|
|
150
151
|
else {
|
|
152
|
+
/**
|
|
153
|
+
* Установить мгновенную анимацию шторке если она не закрыта при свайпе и установлен проп ignoreScreenChange
|
|
154
|
+
*/
|
|
155
|
+
if (ignoreScreenChange) {
|
|
156
|
+
setTransitionClassName(styles$1.withZeroTransition);
|
|
157
|
+
}
|
|
151
158
|
setSheetOffset(0);
|
|
152
159
|
setBackdropOpacity(1);
|
|
153
160
|
}
|
|
@@ -158,6 +165,12 @@ var BottomSheet = React.forwardRef(function (_a, ref) {
|
|
|
158
165
|
};
|
|
159
166
|
var handleSheetSwiping = function (_a) {
|
|
160
167
|
var deltaY = _a.deltaY, initial = _a.initial;
|
|
168
|
+
/**
|
|
169
|
+
* Вернуть плавную анимацию шторке при свайпе
|
|
170
|
+
*/
|
|
171
|
+
if (transitionClassName === styles$1.withZeroTransition) {
|
|
172
|
+
setTransitionClassName(styles$1.withTransition);
|
|
173
|
+
}
|
|
161
174
|
var offsetY = initial[1];
|
|
162
175
|
if (shouldSkipSwiping(offsetY)) {
|
|
163
176
|
return;
|
|
@@ -204,7 +217,10 @@ var BottomSheet = React.forwardRef(function (_a, ref) {
|
|
|
204
217
|
if (!open) {
|
|
205
218
|
setSheetOffset(0);
|
|
206
219
|
}
|
|
207
|
-
|
|
220
|
+
if (ignoreScreenChange && open) {
|
|
221
|
+
setTransitionClassName(styles$1.withZeroTransition);
|
|
222
|
+
}
|
|
223
|
+
}, [open, ignoreScreenChange]);
|
|
208
224
|
var getSwipeStyles = function () { return ({
|
|
209
225
|
transform: sheetOffset ? "translateY(" + sheetOffset + "px)" : '',
|
|
210
226
|
}); };
|
|
@@ -219,7 +235,7 @@ var BottomSheet = React.forwardRef(function (_a, ref) {
|
|
|
219
235
|
invisible: initialHeight === 'full' ? false : hideOverlay,
|
|
220
236
|
}, disableBackdropClick: hideOverlay ? true : disableOverlayClick, className: styles$1.modal, transitionProps: tslib_es6.__assign(tslib_es6.__assign({ appear: true, timeout: TIMEOUT, classNames: styles$1 }, transitionProps), { onExited: handleExited, onEntered: handleEntered }) },
|
|
221
237
|
React__default['default'].createElement("div", tslib_es6.__assign({ className: cn__default['default'](styles$1.component, className, (_b = {},
|
|
222
|
-
_b[
|
|
238
|
+
_b[transitionClassName] = !sheetOffset,
|
|
223
239
|
_b)), style: tslib_es6.__assign(tslib_es6.__assign({}, getSwipeStyles()), getHeightStyles()) }, sheetSwipeablehandlers),
|
|
224
240
|
React__default['default'].createElement("div", { className: cn__default['default'](styles$1.scrollableContainer, containerClassName, (_c = {},
|
|
225
241
|
_c[styles$1.scrollLocked] = scrollLocked,
|
package/dist/component.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
require('./tslib.es6-
|
|
5
|
+
require('./tslib.es6-cbd7f1a3.js');
|
|
6
6
|
require('react');
|
|
7
7
|
require('classnames');
|
|
8
8
|
require('react-div-100vh');
|
|
@@ -14,7 +14,7 @@ require('@alfalab/icons-glyph/CrossMIcon');
|
|
|
14
14
|
require('./components/closer/Component.js');
|
|
15
15
|
require('@alfalab/icons-glyph/ArrowBackMIcon');
|
|
16
16
|
require('./components/backer/Component.js');
|
|
17
|
-
var components_header_Component = require('./component-
|
|
17
|
+
var components_header_Component = require('./component-a69ef39f.js');
|
|
18
18
|
require('./components/footer/Component.js');
|
|
19
19
|
require('@alfalab/core-components-backdrop');
|
|
20
20
|
require('./components/swipeable-backdrop/Component.js');
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var tslib_es6 = require('../../tslib.es6-
|
|
5
|
+
var tslib_es6 = require('../../tslib.es6-cbd7f1a3.js');
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var cn = require('classnames');
|
|
8
8
|
var coreComponentsIconButton = require('@alfalab/core-components-icon-button');
|
|
@@ -13,7 +13,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
13
13
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
14
14
|
var cn__default = /*#__PURE__*/_interopDefaultLegacy(cn);
|
|
15
15
|
|
|
16
|
-
var styles = {"backer":"bottom-
|
|
16
|
+
var styles = {"backer":"bottom-sheet__backer_lwjli","button":"bottom-sheet__button_lwjli"};
|
|
17
17
|
require('./index.css')
|
|
18
18
|
|
|
19
19
|
var Backer = function (_a) {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
/* hash:
|
|
1
|
+
/* hash: 1hehw */
|
|
2
2
|
:root {
|
|
3
3
|
--bottom-sheet-backer-bg-color: var(--color-light-bg-primary-inverted-alpha-3);
|
|
4
4
|
}
|
|
5
5
|
|
|
6
|
-
.bottom-
|
|
6
|
+
.bottom-sheet__backer_lwjli {
|
|
7
7
|
width: 32px;
|
|
8
8
|
height: 32px;
|
|
9
9
|
display: flex;
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
color: var(--color-light-graphic-primary);
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
.bottom-
|
|
16
|
+
.bottom-sheet__button_lwjli {
|
|
17
17
|
background: var(--bottom-sheet-backer-bg-color);
|
|
18
18
|
-webkit-backdrop-filter: blur(10px);
|
|
19
19
|
backdrop-filter: blur(10px);
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var tslib_es6 = require('../../tslib.es6-
|
|
5
|
+
var tslib_es6 = require('../../tslib.es6-cbd7f1a3.js');
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var cn = require('classnames');
|
|
8
8
|
var coreComponentsBaseModal = require('@alfalab/core-components-base-modal');
|
|
@@ -14,7 +14,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
14
14
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
15
15
|
var cn__default = /*#__PURE__*/_interopDefaultLegacy(cn);
|
|
16
16
|
|
|
17
|
-
var styles = {"closer":"bottom-
|
|
17
|
+
var styles = {"closer":"bottom-sheet__closer_8odtl","button":"bottom-sheet__button_8odtl"};
|
|
18
18
|
require('./index.css')
|
|
19
19
|
|
|
20
20
|
var Closer = function (_a) {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
/* hash:
|
|
1
|
+
/* hash: 1s4pr */
|
|
2
2
|
:root {
|
|
3
3
|
--bottom-sheet-closer-bg-color: var(--color-light-bg-primary-inverted-alpha-3);
|
|
4
4
|
}
|
|
5
5
|
|
|
6
|
-
.bottom-
|
|
6
|
+
.bottom-sheet__closer_8odtl {
|
|
7
7
|
width: 32px;
|
|
8
8
|
height: 32px;
|
|
9
9
|
display: flex;
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
color: var(--color-light-graphic-primary);
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
.bottom-
|
|
16
|
+
.bottom-sheet__button_8odtl {
|
|
17
17
|
background: var(--bottom-sheet-closer-bg-color);
|
|
18
18
|
-webkit-backdrop-filter: blur(10px);
|
|
19
19
|
backdrop-filter: blur(10px);
|
|
@@ -11,7 +11,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
11
11
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
12
12
|
var cn__default = /*#__PURE__*/_interopDefaultLegacy(cn);
|
|
13
13
|
|
|
14
|
-
var styles = {"footer":"bottom-
|
|
14
|
+
var styles = {"footer":"bottom-sheet__footer_tkrq3","sticky":"bottom-sheet__sticky_tkrq3","highlighted":"bottom-sheet__highlighted_tkrq3"};
|
|
15
15
|
require('./index.css')
|
|
16
16
|
|
|
17
17
|
var Footer = function (_a) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* hash:
|
|
1
|
+
/* hash: j8er5 */
|
|
2
2
|
:root {
|
|
3
3
|
--color-light-bg-primary: #fff;
|
|
4
4
|
--color-light-border-primary: #dbdee1;
|
|
@@ -18,15 +18,15 @@
|
|
|
18
18
|
--bottom-sheet-footer-border-top: 1px solid var(--color-light-border-primary);
|
|
19
19
|
--bottom-sheet-footer-background-color: var(--color-light-bg-primary);
|
|
20
20
|
}
|
|
21
|
-
.bottom-
|
|
21
|
+
.bottom-sheet__footer_tkrq3 {
|
|
22
22
|
padding: var(--gap-m) var(--gap-m);
|
|
23
23
|
background-color: var(--color-light-bg-primary);
|
|
24
24
|
}
|
|
25
|
-
.bottom-
|
|
25
|
+
.bottom-sheet__sticky_tkrq3 {
|
|
26
26
|
position: sticky;
|
|
27
27
|
bottom: 0;
|
|
28
28
|
}
|
|
29
|
-
.bottom-
|
|
29
|
+
.bottom-sheet__highlighted_tkrq3 {
|
|
30
30
|
border-top: var(--bottom-sheet-footer-border-top);
|
|
31
31
|
background-color: var(--bottom-sheet-footer-background-color);
|
|
32
32
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
require('../../tslib.es6-
|
|
5
|
+
require('../../tslib.es6-cbd7f1a3.js');
|
|
6
6
|
require('react');
|
|
7
7
|
require('classnames');
|
|
8
8
|
require('react-div-100vh');
|
|
@@ -14,7 +14,7 @@ require('@alfalab/icons-glyph/CrossMIcon');
|
|
|
14
14
|
require('../closer/Component.js');
|
|
15
15
|
require('@alfalab/icons-glyph/ArrowBackMIcon');
|
|
16
16
|
require('../backer/Component.js');
|
|
17
|
-
var components_header_Component = require('../../component-
|
|
17
|
+
var components_header_Component = require('../../component-a69ef39f.js');
|
|
18
18
|
require('../footer/Component.js');
|
|
19
19
|
require('@alfalab/core-components-backdrop');
|
|
20
20
|
require('../swipeable-backdrop/Component.js');
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* hash:
|
|
1
|
+
/* hash: 8bbvn */
|
|
2
2
|
:root {
|
|
3
3
|
--color-light-bg-primary: #fff;
|
|
4
4
|
}
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
--bottom-sheet-title-font-family: var(--font-family-system);
|
|
31
31
|
--bottom-sheet-title-margin-vertical: var(--gap-2xs);
|
|
32
32
|
}
|
|
33
|
-
.bottom-
|
|
33
|
+
.bottom-sheet__header_1jt0k {
|
|
34
34
|
display: flex;
|
|
35
35
|
padding: var(--gap-xs);
|
|
36
36
|
padding-bottom: 0;
|
|
@@ -39,35 +39,35 @@
|
|
|
39
39
|
border-top-left-radius: var(--border-radius-xl);
|
|
40
40
|
z-index: 1;
|
|
41
41
|
}
|
|
42
|
-
.bottom-
|
|
42
|
+
.bottom-sheet__sticky_1jt0k {
|
|
43
43
|
position: sticky;
|
|
44
44
|
top: 0;
|
|
45
45
|
}
|
|
46
|
-
.bottom-
|
|
46
|
+
.bottom-sheet__highlighted_1jt0k {
|
|
47
47
|
border-bottom: var(--bottom-sheet-header-border-bottom);
|
|
48
48
|
}
|
|
49
|
-
.bottom-
|
|
49
|
+
.bottom-sheet__justifyEnd_1jt0k {
|
|
50
50
|
justify-content: flex-end;
|
|
51
51
|
}
|
|
52
|
-
.bottom-
|
|
52
|
+
.bottom-sheet__addon_1jt0k {
|
|
53
53
|
display: flex;
|
|
54
54
|
justify-content: center;
|
|
55
55
|
align-items: center;
|
|
56
56
|
min-width: 48px;
|
|
57
57
|
height: 48px;
|
|
58
58
|
}
|
|
59
|
-
.bottom-
|
|
59
|
+
.bottom-sheet__addonFixed_1jt0k {
|
|
60
60
|
position: fixed;
|
|
61
61
|
}
|
|
62
|
-
.bottom-
|
|
62
|
+
.bottom-sheet__addonLeft_1jt0k {
|
|
63
63
|
left: 0;
|
|
64
64
|
margin-left: var(--gap-xs);
|
|
65
65
|
}
|
|
66
|
-
.bottom-
|
|
66
|
+
.bottom-sheet__addonRight_1jt0k {
|
|
67
67
|
right: 0;
|
|
68
68
|
margin-right: var(--gap-xs);
|
|
69
69
|
}
|
|
70
|
-
.bottom-
|
|
70
|
+
.bottom-sheet__title_1jt0k {
|
|
71
71
|
padding: var(--gap-xs) var(--gap-xs);
|
|
72
72
|
margin: var(--bottom-sheet-title-margin-vertical) 0;
|
|
73
73
|
width: 100%;
|
|
@@ -76,23 +76,23 @@
|
|
|
76
76
|
line-height: var(--bottom-sheet-title-line-height);
|
|
77
77
|
font-family: var(--bottom-sheet-title-font-family);
|
|
78
78
|
}
|
|
79
|
-
.bottom-
|
|
79
|
+
.bottom-sheet__titleCenter_1jt0k {
|
|
80
80
|
text-align: center;
|
|
81
81
|
}
|
|
82
|
-
.bottom-
|
|
82
|
+
.bottom-sheet__titleLeft_1jt0k {
|
|
83
83
|
text-align: left;
|
|
84
84
|
}
|
|
85
|
-
.bottom-
|
|
85
|
+
.bottom-sheet__trimTitle_1jt0k {
|
|
86
86
|
white-space: nowrap;
|
|
87
87
|
overflow: hidden;
|
|
88
88
|
text-overflow: ellipsis;
|
|
89
89
|
}
|
|
90
|
-
.bottom-
|
|
90
|
+
.bottom-sheet__titleBigIndentHorizontal_1jt0k {
|
|
91
91
|
margin: var(--bottom-sheet-title-margin-vertical) var(--gap-4xl);
|
|
92
92
|
}
|
|
93
|
-
.bottom-
|
|
93
|
+
.bottom-sheet__titleIndentRight_1jt0k {
|
|
94
94
|
margin-right: var(--gap-4xl);
|
|
95
95
|
}
|
|
96
|
-
.bottom-
|
|
96
|
+
.bottom-sheet__titleIndentLeft_1jt0k {
|
|
97
97
|
margin-left: var(--gap-4xl);
|
|
98
98
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var tslib_es6 = require('../../tslib.es6-
|
|
5
|
+
var tslib_es6 = require('../../tslib.es6-cbd7f1a3.js');
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var coreComponentsBackdrop = require('@alfalab/core-components-backdrop');
|
|
8
8
|
|
|
@@ -174,6 +174,10 @@ type BottomSheetProps = {
|
|
|
174
174
|
* Запретить закрытие шторки кликом на оверлэй
|
|
175
175
|
*/
|
|
176
176
|
disableOverlayClick?: boolean;
|
|
177
|
+
/**
|
|
178
|
+
* Не анимировать шторку при изменении размера вьюпорта
|
|
179
|
+
*/
|
|
180
|
+
ignoreScreenChange?: boolean;
|
|
177
181
|
/**
|
|
178
182
|
* Обработчик закрытия
|
|
179
183
|
*/
|
|
@@ -75,14 +75,15 @@ var HEADER_OFFSET = 24;
|
|
|
75
75
|
var CLOSE_OFFSET = 0.2;
|
|
76
76
|
var BottomSheet = React.forwardRef(function (_a, ref) {
|
|
77
77
|
var _b, _c, _d;
|
|
78
|
-
var open = _a.open, title = _a.title, actionButton = _a.actionButton, contentClassName = _a.contentClassName, containerClassName = _a.containerClassName, headerClassName = _a.headerClassName, footerClassName = _a.footerClassName, addonClassName = _a.addonClassName, closerClassName = _a.closerClassName, backerClassName = _a.backerClassName, className = _a.className, leftAddons = _a.leftAddons, rightAddons = _a.rightAddons, 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, 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, onClose = _a.onClose, onBack = _a.onBack;
|
|
79
|
-
var
|
|
80
|
-
var
|
|
81
|
-
var
|
|
78
|
+
var open = _a.open, title = _a.title, actionButton = _a.actionButton, contentClassName = _a.contentClassName, containerClassName = _a.containerClassName, headerClassName = _a.headerClassName, footerClassName = _a.footerClassName, addonClassName = _a.addonClassName, closerClassName = _a.closerClassName, backerClassName = _a.backerClassName, className = _a.className, leftAddons = _a.leftAddons, rightAddons = _a.rightAddons, 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, 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, _k = _a.ignoreScreenChange, ignoreScreenChange = _k === void 0 ? false : _k, onClose = _a.onClose, onBack = _a.onBack;
|
|
79
|
+
var _l = React.useState(0), sheetOffset = _l[0], setSheetOffset = _l[1];
|
|
80
|
+
var _m = React.useState(1), backdropOpacity = _m[0], setBackdropOpacity = _m[1];
|
|
81
|
+
var _o = React.useState(false), scrollLocked = _o[0], setScrollLocked = _o[1];
|
|
82
82
|
var sheetHeight = React.useRef(0);
|
|
83
83
|
var scrollableContainer = React.useRef(null);
|
|
84
84
|
var scrollableContainerScrollValue = React.useRef(0);
|
|
85
85
|
var emptyHeader = !hasCloser && !hasBacker && !leftAddons && !rightAddons && !title;
|
|
86
|
+
var _p = React.useState(styles__default$1['default'].withTransition), transitionClassName = _p[0], setTransitionClassName = _p[1];
|
|
86
87
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
87
88
|
var fullHeight = reactDiv100vh.use100vh();
|
|
88
89
|
var targetHeight = fullHeight - HEADER_OFFSET + "px";
|
|
@@ -146,6 +147,12 @@ var BottomSheet = React.forwardRef(function (_a, ref) {
|
|
|
146
147
|
onClose();
|
|
147
148
|
}
|
|
148
149
|
else {
|
|
150
|
+
/**
|
|
151
|
+
* Установить мгновенную анимацию шторке если она не закрыта при свайпе и установлен проп ignoreScreenChange
|
|
152
|
+
*/
|
|
153
|
+
if (ignoreScreenChange) {
|
|
154
|
+
setTransitionClassName(styles__default$1['default'].withZeroTransition);
|
|
155
|
+
}
|
|
149
156
|
setSheetOffset(0);
|
|
150
157
|
setBackdropOpacity(1);
|
|
151
158
|
}
|
|
@@ -156,6 +163,12 @@ var BottomSheet = React.forwardRef(function (_a, ref) {
|
|
|
156
163
|
};
|
|
157
164
|
var handleSheetSwiping = function (_a) {
|
|
158
165
|
var deltaY = _a.deltaY, initial = _a.initial;
|
|
166
|
+
/**
|
|
167
|
+
* Вернуть плавную анимацию шторке при свайпе
|
|
168
|
+
*/
|
|
169
|
+
if (transitionClassName === styles__default$1['default'].withZeroTransition) {
|
|
170
|
+
setTransitionClassName(styles__default$1['default'].withTransition);
|
|
171
|
+
}
|
|
159
172
|
var offsetY = initial[1];
|
|
160
173
|
if (shouldSkipSwiping(offsetY)) {
|
|
161
174
|
return;
|
|
@@ -202,7 +215,10 @@ var BottomSheet = React.forwardRef(function (_a, ref) {
|
|
|
202
215
|
if (!open) {
|
|
203
216
|
setSheetOffset(0);
|
|
204
217
|
}
|
|
205
|
-
|
|
218
|
+
if (ignoreScreenChange && open) {
|
|
219
|
+
setTransitionClassName(styles__default$1['default'].withZeroTransition);
|
|
220
|
+
}
|
|
221
|
+
}, [open, ignoreScreenChange]);
|
|
206
222
|
var getSwipeStyles = function () { return ({
|
|
207
223
|
transform: sheetOffset ? "translateY(" + sheetOffset + "px)" : '',
|
|
208
224
|
}); };
|
|
@@ -217,7 +233,7 @@ var BottomSheet = React.forwardRef(function (_a, ref) {
|
|
|
217
233
|
invisible: initialHeight === 'full' ? false : hideOverlay,
|
|
218
234
|
}, disableBackdropClick: hideOverlay ? true : disableOverlayClick, className: styles__default$1['default'].modal, transitionProps: tslib_es6.__assign(tslib_es6.__assign({ appear: true, timeout: TIMEOUT, classNames: styles__default$1['default'] }, transitionProps), { onExited: handleExited, onEntered: handleEntered }) },
|
|
219
235
|
React__default['default'].createElement("div", tslib_es6.__assign({ className: cn__default['default'](styles__default$1['default'].component, className, (_b = {},
|
|
220
|
-
_b[
|
|
236
|
+
_b[transitionClassName] = !sheetOffset,
|
|
221
237
|
_b)), style: tslib_es6.__assign(tslib_es6.__assign({}, getSwipeStyles()), getHeightStyles()) }, sheetSwipeablehandlers),
|
|
222
238
|
React__default['default'].createElement("div", { className: cn__default['default'](styles__default$1['default'].scrollableContainer, containerClassName, (_c = {},
|
|
223
239
|
_c[styles__default$1['default'].scrollLocked] = scrollLocked,
|
package/dist/cssm/component.js
CHANGED
|
@@ -17,7 +17,7 @@ require('@alfalab/icons-glyph/ArrowBackMIcon');
|
|
|
17
17
|
require('./components/backer/index.module.css');
|
|
18
18
|
require('./components/backer/Component.js');
|
|
19
19
|
require('./components/header/index.module.css');
|
|
20
|
-
var components_header_Component = require('./component-
|
|
20
|
+
var components_header_Component = require('./component-42c27971.js');
|
|
21
21
|
require('./components/footer/index.module.css');
|
|
22
22
|
require('./components/footer/Component.js');
|
|
23
23
|
require('@alfalab/core-components-backdrop/dist/cssm');
|
|
@@ -17,7 +17,7 @@ require('@alfalab/icons-glyph/ArrowBackMIcon');
|
|
|
17
17
|
require('../backer/index.module.css');
|
|
18
18
|
require('../backer/Component.js');
|
|
19
19
|
require('./index.module.css');
|
|
20
|
-
var components_header_Component = require('../../component-
|
|
20
|
+
var components_header_Component = require('../../component-42c27971.js');
|
|
21
21
|
require('../footer/index.module.css');
|
|
22
22
|
require('../footer/Component.js');
|
|
23
23
|
require('@alfalab/core-components-backdrop/dist/cssm');
|
package/dist/cssm/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from "./component-
|
|
1
|
+
export * from "./component-42c27971";
|
package/dist/cssm/index.js
CHANGED
|
@@ -17,7 +17,7 @@ require('@alfalab/icons-glyph/ArrowBackMIcon');
|
|
|
17
17
|
require('./components/backer/index.module.css');
|
|
18
18
|
require('./components/backer/Component.js');
|
|
19
19
|
require('./components/header/index.module.css');
|
|
20
|
-
var components_header_Component = require('./component-
|
|
20
|
+
var components_header_Component = require('./component-42c27971.js');
|
|
21
21
|
require('./components/footer/index.module.css');
|
|
22
22
|
require('./components/footer/Component.js');
|
|
23
23
|
require('@alfalab/core-components-backdrop/dist/cssm');
|
|
@@ -174,6 +174,10 @@ type BottomSheetProps = {
|
|
|
174
174
|
* Запретить закрытие шторки кликом на оверлэй
|
|
175
175
|
*/
|
|
176
176
|
disableOverlayClick?: boolean;
|
|
177
|
+
/**
|
|
178
|
+
* Не анимировать шторку при изменении размера вьюпорта
|
|
179
|
+
*/
|
|
180
|
+
ignoreScreenChange?: boolean;
|
|
177
181
|
/**
|
|
178
182
|
* Обработчик закрытия
|
|
179
183
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _ as __assign } from './tslib.es6-
|
|
1
|
+
import { _ as __assign } from './tslib.es6-702aaccc.js';
|
|
2
2
|
import React, { useContext, useEffect, forwardRef, useState, useRef, useCallback } from 'react';
|
|
3
3
|
import cn from 'classnames';
|
|
4
4
|
import { use100vh } from 'react-div-100vh';
|
|
@@ -10,7 +10,7 @@ import { Backer } from './components/backer/Component.js';
|
|
|
10
10
|
import { Footer } from './components/footer/Component.js';
|
|
11
11
|
import { SwipeableBackdrop } from './components/swipeable-backdrop/Component.js';
|
|
12
12
|
|
|
13
|
-
var styles = {"header":"bottom-
|
|
13
|
+
var styles = {"header":"bottom-sheet__header_1jt0k","sticky":"bottom-sheet__sticky_1jt0k","highlighted":"bottom-sheet__highlighted_1jt0k","justifyEnd":"bottom-sheet__justifyEnd_1jt0k","addon":"bottom-sheet__addon_1jt0k","addonFixed":"bottom-sheet__addonFixed_1jt0k","addonLeft":"bottom-sheet__addonLeft_1jt0k","addonRight":"bottom-sheet__addonRight_1jt0k","title":"bottom-sheet__title_1jt0k","titleCenter":"bottom-sheet__titleCenter_1jt0k","titleLeft":"bottom-sheet__titleLeft_1jt0k","trimTitle":"bottom-sheet__trimTitle_1jt0k","titleBigIndentHorizontal":"bottom-sheet__titleBigIndentHorizontal_1jt0k","titleIndentRight":"bottom-sheet__titleIndentRight_1jt0k","titleIndentLeft":"bottom-sheet__titleIndentLeft_1jt0k"};
|
|
14
14
|
require('./components/header/index.css')
|
|
15
15
|
|
|
16
16
|
var Header = function (_a) {
|
|
@@ -57,7 +57,7 @@ var Header = function (_a) {
|
|
|
57
57
|
_e)) }, hasCloser ? React.createElement(Closer, { className: closerClassName }) : rightAddons))));
|
|
58
58
|
};
|
|
59
59
|
|
|
60
|
-
var styles$1 = {"modal":"bottom-
|
|
60
|
+
var styles$1 = {"modal":"bottom-sheet__modal_7hpwg","component":"bottom-sheet__component_7hpwg","withTransition":"bottom-sheet__withTransition_7hpwg","withZeroTransition":"bottom-sheet__withZeroTransition_7hpwg","scrollableContainer":"bottom-sheet__scrollableContainer_7hpwg","marker":"bottom-sheet__marker_7hpwg","content":"bottom-sheet__content_7hpwg","noHeader":"bottom-sheet__noHeader_7hpwg","noFooter":"bottom-sheet__noFooter_7hpwg","scrollLocked":"bottom-sheet__scrollLocked_7hpwg","appear":"bottom-sheet__appear_7hpwg","enter":"bottom-sheet__enter_7hpwg","appearActive":"bottom-sheet__appearActive_7hpwg","enterActive":"bottom-sheet__enterActive_7hpwg","enterDone":"bottom-sheet__enterDone_7hpwg","appearDone":"bottom-sheet__appearDone_7hpwg","exit":"bottom-sheet__exit_7hpwg","exitActive":"bottom-sheet__exitActive_7hpwg"};
|
|
61
61
|
require('./index.css')
|
|
62
62
|
|
|
63
63
|
var TIMEOUT = 300;
|
|
@@ -70,14 +70,15 @@ var HEADER_OFFSET = 24;
|
|
|
70
70
|
var CLOSE_OFFSET = 0.2;
|
|
71
71
|
var BottomSheet = forwardRef(function (_a, ref) {
|
|
72
72
|
var _b, _c, _d;
|
|
73
|
-
var open = _a.open, title = _a.title, actionButton = _a.actionButton, contentClassName = _a.contentClassName, containerClassName = _a.containerClassName, headerClassName = _a.headerClassName, footerClassName = _a.footerClassName, addonClassName = _a.addonClassName, closerClassName = _a.closerClassName, backerClassName = _a.backerClassName, className = _a.className, leftAddons = _a.leftAddons, rightAddons = _a.rightAddons, 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, 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, onClose = _a.onClose, onBack = _a.onBack;
|
|
74
|
-
var
|
|
75
|
-
var
|
|
76
|
-
var
|
|
73
|
+
var open = _a.open, title = _a.title, actionButton = _a.actionButton, contentClassName = _a.contentClassName, containerClassName = _a.containerClassName, headerClassName = _a.headerClassName, footerClassName = _a.footerClassName, addonClassName = _a.addonClassName, closerClassName = _a.closerClassName, backerClassName = _a.backerClassName, className = _a.className, leftAddons = _a.leftAddons, rightAddons = _a.rightAddons, 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, 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, _k = _a.ignoreScreenChange, ignoreScreenChange = _k === void 0 ? false : _k, onClose = _a.onClose, onBack = _a.onBack;
|
|
74
|
+
var _l = useState(0), sheetOffset = _l[0], setSheetOffset = _l[1];
|
|
75
|
+
var _m = useState(1), backdropOpacity = _m[0], setBackdropOpacity = _m[1];
|
|
76
|
+
var _o = useState(false), scrollLocked = _o[0], setScrollLocked = _o[1];
|
|
77
77
|
var sheetHeight = useRef(0);
|
|
78
78
|
var scrollableContainer = useRef(null);
|
|
79
79
|
var scrollableContainerScrollValue = useRef(0);
|
|
80
80
|
var emptyHeader = !hasCloser && !hasBacker && !leftAddons && !rightAddons && !title;
|
|
81
|
+
var _p = useState(styles$1.withTransition), transitionClassName = _p[0], setTransitionClassName = _p[1];
|
|
81
82
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
82
83
|
var fullHeight = use100vh();
|
|
83
84
|
var targetHeight = fullHeight - HEADER_OFFSET + "px";
|
|
@@ -141,6 +142,12 @@ var BottomSheet = forwardRef(function (_a, ref) {
|
|
|
141
142
|
onClose();
|
|
142
143
|
}
|
|
143
144
|
else {
|
|
145
|
+
/**
|
|
146
|
+
* Установить мгновенную анимацию шторке если она не закрыта при свайпе и установлен проп ignoreScreenChange
|
|
147
|
+
*/
|
|
148
|
+
if (ignoreScreenChange) {
|
|
149
|
+
setTransitionClassName(styles$1.withZeroTransition);
|
|
150
|
+
}
|
|
144
151
|
setSheetOffset(0);
|
|
145
152
|
setBackdropOpacity(1);
|
|
146
153
|
}
|
|
@@ -151,6 +158,12 @@ var BottomSheet = forwardRef(function (_a, ref) {
|
|
|
151
158
|
};
|
|
152
159
|
var handleSheetSwiping = function (_a) {
|
|
153
160
|
var deltaY = _a.deltaY, initial = _a.initial;
|
|
161
|
+
/**
|
|
162
|
+
* Вернуть плавную анимацию шторке при свайпе
|
|
163
|
+
*/
|
|
164
|
+
if (transitionClassName === styles$1.withZeroTransition) {
|
|
165
|
+
setTransitionClassName(styles$1.withTransition);
|
|
166
|
+
}
|
|
154
167
|
var offsetY = initial[1];
|
|
155
168
|
if (shouldSkipSwiping(offsetY)) {
|
|
156
169
|
return;
|
|
@@ -197,7 +210,10 @@ var BottomSheet = forwardRef(function (_a, ref) {
|
|
|
197
210
|
if (!open) {
|
|
198
211
|
setSheetOffset(0);
|
|
199
212
|
}
|
|
200
|
-
|
|
213
|
+
if (ignoreScreenChange && open) {
|
|
214
|
+
setTransitionClassName(styles$1.withZeroTransition);
|
|
215
|
+
}
|
|
216
|
+
}, [open, ignoreScreenChange]);
|
|
201
217
|
var getSwipeStyles = function () { return ({
|
|
202
218
|
transform: sheetOffset ? "translateY(" + sheetOffset + "px)" : '',
|
|
203
219
|
}); };
|
|
@@ -212,7 +228,7 @@ var BottomSheet = forwardRef(function (_a, ref) {
|
|
|
212
228
|
invisible: initialHeight === 'full' ? false : hideOverlay,
|
|
213
229
|
}, disableBackdropClick: hideOverlay ? true : disableOverlayClick, className: styles$1.modal, transitionProps: __assign(__assign({ appear: true, timeout: TIMEOUT, classNames: styles$1 }, transitionProps), { onExited: handleExited, onEntered: handleEntered }) },
|
|
214
230
|
React.createElement("div", __assign({ className: cn(styles$1.component, className, (_b = {},
|
|
215
|
-
_b[
|
|
231
|
+
_b[transitionClassName] = !sheetOffset,
|
|
216
232
|
_b)), style: __assign(__assign({}, getSwipeStyles()), getHeightStyles()) }, sheetSwipeablehandlers),
|
|
217
233
|
React.createElement("div", { className: cn(styles$1.scrollableContainer, containerClassName, (_c = {},
|
|
218
234
|
_c[styles$1.scrollLocked] = scrollLocked,
|