@expressms/smartapp-ui 3.0.0-alpha.85 → 3.0.0-alpha.87

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.
@@ -23,5 +23,6 @@ export declare const useModal: ({ platform, isModalOpen, isClosableOutside, isDi
23
23
  shouldUseBottomSheet: boolean;
24
24
  renderModal: (children: React.ReactNode) => import("react/jsx-runtime").JSX.Element | null;
25
25
  offsetScrollY: number;
26
+ bottomKeyboardPadding: number;
26
27
  };
27
28
  export {};
@@ -10,44 +10,35 @@ var __assign = (this && this.__assign) || function () {
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
12
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
- import { useCallback, useEffect, useLayoutEffect, useState } from 'react';
14
- import { Sheet } from 'react-modal-sheet';
13
+ import { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';
14
+ import { Sheet, useVirtualKeyboard } from 'react-modal-sheet';
15
15
  import Popup from 'reactjs-popup';
16
16
  import useDetectKeyboardOpen from 'use-detect-keyboard-open';
17
17
  import { DEFAULT_BOTTOM_SHEET_SCROLL_MOBILE_CONFIG } from '../сomponents/Modal/Modal';
18
- import { clickOutsideTheModal, isAndroidPlatform, isIosPlatform, isMobilePlatform } from '../helpers';
18
+ import { clickOutsideTheModal, isAndroidPlatform, isMobilePlatform } from '../helpers';
19
19
  import { BOTTOM_SHEET, BOTTOM_SHEET_SCROLL_POSITION, EVENT_LISTENER_TYPES, PLATFORM } from '../constants';
20
20
  var OFFSET = 30;
21
21
  var MAX_MODAL_MOBILE_HEIGHT = 360;
22
22
  var MODAL_ANIMATION = 'modalFadeIn 0.25s ease-in-out forwards';
23
+ var KEYBOARD_OPEN_THRESHOLD = 100;
24
+ var DEFAULT_ANDROID_KEYBOARD_HEIGHT = 260;
23
25
  export var DEFAULT_BOTTOM_SHEET_DETENT = 'content';
24
26
  // Проблемы с типизацией в либе.
25
27
  var DRAG_THRESHOLD = {
26
28
  dragVelocityThreshold: 2000,
27
29
  tweenConfig: { ease: 'easeInOut', duration: 0.35 },
28
30
  };
29
- var generateElementBottomOffset = function (_a) {
30
- var element = _a.element, scrollTo = _a.scrollTo;
31
- var offsetTop = 0;
32
- var currentElement = element;
33
- while (currentElement) {
34
- var currentOffsetTop = currentElement.offsetTop, offsetParent = currentElement.offsetParent;
35
- offsetTop += currentOffsetTop;
36
- currentElement = offsetParent;
37
- }
38
- var elementOffsetHeight = element.offsetHeight;
39
- return scrollTo === BOTTOM_SHEET_SCROLL_POSITION.top ? offsetTop : offsetTop + elementOffsetHeight;
40
- };
41
31
  var generateOffsetY = function (_a) {
42
- var focusedElement = _a.focusedElement, extraPaddingFocusedElement = _a.extraPaddingFocusedElement, scrollTo = _a.scrollTo;
43
- // Находим элемент и высчитываем его нижнюю позицию с помощью функции
44
- // (функция нужна именная эта, getBoundingClientRect на IOS не работает корректно).
45
- var elementPosition = generateElementBottomOffset({ element: focusedElement, scrollTo: scrollTo }) + extraPaddingFocusedElement;
46
- var visualViewport = window.visualViewport, innerHeight = window.innerHeight;
47
- // Находим высоту наблюдаемого контента с учетом клавиатуры, это же значение - нижняя часть элемента.
48
- var visibleHeight = (visualViewport === null || visualViewport === void 0 ? void 0 : visualViewport.height) || innerHeight;
49
- // Проверяем, находится ли наш элемент в наблюдаемом контенте, если нет - ставим offsetScrollY 0
50
- return elementPosition + OFFSET > visibleHeight ? elementPosition - visibleHeight + OFFSET : 0;
32
+ var focusedElement = _a.focusedElement, visualViewport = _a.visualViewport, extraPaddingFocusedElement = _a.extraPaddingFocusedElement, scrollTo = _a.scrollTo;
33
+ var _b = focusedElement.getBoundingClientRect(), top = _b.top, bottom = _b.bottom;
34
+ var viewportTop = (visualViewport === null || visualViewport === void 0 ? void 0 : visualViewport.offsetTop) || 0;
35
+ var viewportBottom = viewportTop + ((visualViewport === null || visualViewport === void 0 ? void 0 : visualViewport.height) || window.innerHeight);
36
+ if (scrollTo === BOTTOM_SHEET_SCROLL_POSITION.top) {
37
+ var targetTop = viewportTop + OFFSET + extraPaddingFocusedElement;
38
+ return top < targetTop ? top - targetTop : 0;
39
+ }
40
+ var targetBottom = viewportBottom - OFFSET - extraPaddingFocusedElement;
41
+ return bottom > targetBottom ? bottom - targetBottom : 0;
51
42
  };
52
43
  export var useModal = function (_a) {
53
44
  var _b = _a.platform, platform = _b === void 0 ? PLATFORM.web : _b, isModalOpen = _a.isModalOpen, isClosableOutside = _a.isClosableOutside, _c = _a.isDisabledBottomSheet, isDisabledBottomSheet = _c === void 0 ? false : _c, _d = _a.initialIsBottomSheet, initialIsBottomSheet = _d === void 0 ? false : _d, modalRef = _a.modalRef, scrollRef = _a.scrollRef, popupClassName = _a.popupClassName, popupStyles = _a.popupStyles, bottomSheetProps = _a.bottomSheetProps, bottomSheetStyles = _a.bottomSheetStyles, _e = _a.bottomSheetDetent, bottomSheetDetent = _e === void 0 ? DEFAULT_BOTTOM_SHEET_DETENT : _e, handleClickOutside = _a.handleClickOutside, handleCloseModal = _a.handleCloseModal, bottomSheetScrollMobileConfig = _a.bottomSheetScrollMobileConfig;
@@ -55,11 +46,57 @@ export var useModal = function (_a) {
55
46
  var _f = useState(initialIsBottomSheet), shouldUseBottomSheet = _f[0], setShouldUseBottomSheet = _f[1];
56
47
  var _g = useState(0), offsetScrollY = _g[0], setOffsetScrollY = _g[1];
57
48
  var _h = useState(null), focusedElement = _h[0], setFocusedElement = _h[1];
58
- var _j = useState(false), isKeyboardOpen = _j[0], setIsKeyboardOpen = _j[1];
49
+ var _j = useState(0), androidKeyboardHeight = _j[0], setAndroidKeyboardHeight = _j[1];
50
+ var lastKnownAndroidKeyboardHeightRef = useRef(0);
59
51
  var _k = bottomSheetProps || {}, _l = _k.sheetProps, sheetProps = _l === void 0 ? {} : _l, _m = _k.sheetBackdropProps, sheetBackdropProps = _m === void 0 ? {} : _m, _o = _k.sheetContentProps, sheetContentProps = _o === void 0 ? {} : _o, _p = _k.sheetContainerProps, sheetContainerProps = _p === void 0 ? {} : _p;
60
52
  var _q = bottomSheetStyles || {}, _r = _q.sheetStyles, sheetStyles = _r === void 0 ? {} : _r, _s = _q.sheetBackdropStyles, sheetBackdropStyles = _s === void 0 ? {} : _s, _t = _q.sheetContentStyles, sheetContentStyles = _t === void 0 ? {} : _t, _u = _q.sheetContainerStyles, sheetContainerStyles = _u === void 0 ? {} : _u;
61
53
  var _v = bottomSheetScrollMobileConfig || DEFAULT_BOTTOM_SHEET_SCROLL_MOBILE_CONFIG, scrollTo = _v.scrollTo, shouldDoScrollToFocusedElement = _v.shouldDoScrollToFocusedElement, _w = _v.extraPaddingFocusedElement, extraPaddingFocusedElement = _w === void 0 ? 0 : _w;
62
- var correctSheetProps = __assign(__assign(__assign({}, DRAG_THRESHOLD), sheetProps), { disableDrag: isKeyboardOpen || Boolean(sheetProps.disableDrag) });
54
+ var isMobileBottomSheet = isModalOpen && shouldUseBottomSheet && isMobilePlatform(platform) && shouldDoScrollToFocusedElement;
55
+ var isAndroid = isAndroidPlatform(platform);
56
+ var _x = useVirtualKeyboard({
57
+ isEnabled: isMobileBottomSheet,
58
+ containerRef: modalRef,
59
+ visualViewportThreshold: KEYBOARD_OPEN_THRESHOLD,
60
+ }), isKeyboardOpen = _x.isKeyboardOpen, keyboardHeight = _x.keyboardHeight;
61
+ useEffect(function () {
62
+ var _a, _b;
63
+ if (!isMobileBottomSheet || !isAndroid) {
64
+ setAndroidKeyboardHeight(0);
65
+ lastKnownAndroidKeyboardHeightRef.current = 0;
66
+ return;
67
+ }
68
+ var updateAndroidKeyboardHeight = function () {
69
+ var visualViewport = window.visualViewport, innerHeight = window.innerHeight;
70
+ var measuredKeyboardHeight = Math.max(innerHeight - ((visualViewport === null || visualViewport === void 0 ? void 0 : visualViewport.height) || innerHeight), 0);
71
+ if (measuredKeyboardHeight > 0)
72
+ lastKnownAndroidKeyboardHeightRef.current = measuredKeyboardHeight;
73
+ if (!isAndroidKeyboardOpen)
74
+ return setAndroidKeyboardHeight(0);
75
+ setAndroidKeyboardHeight(measuredKeyboardHeight || lastKnownAndroidKeyboardHeightRef.current || DEFAULT_ANDROID_KEYBOARD_HEIGHT);
76
+ };
77
+ (_a = window.visualViewport) === null || _a === void 0 ? void 0 : _a.addEventListener(EVENT_LISTENER_TYPES.resize, updateAndroidKeyboardHeight);
78
+ (_b = window.visualViewport) === null || _b === void 0 ? void 0 : _b.addEventListener('scroll', updateAndroidKeyboardHeight);
79
+ window.addEventListener(EVENT_LISTENER_TYPES.resize, updateAndroidKeyboardHeight);
80
+ updateAndroidKeyboardHeight();
81
+ return function () {
82
+ var _a, _b;
83
+ (_a = window.visualViewport) === null || _a === void 0 ? void 0 : _a.removeEventListener(EVENT_LISTENER_TYPES.resize, updateAndroidKeyboardHeight);
84
+ (_b = window.visualViewport) === null || _b === void 0 ? void 0 : _b.removeEventListener('scroll', updateAndroidKeyboardHeight);
85
+ window.removeEventListener(EVENT_LISTENER_TYPES.resize, updateAndroidKeyboardHeight);
86
+ };
87
+ }, [isAndroid, isMobileBottomSheet, isAndroidKeyboardOpen]);
88
+ var isKeyboardActuallyOpen = isAndroid ? isAndroidKeyboardOpen || isKeyboardOpen : isKeyboardOpen;
89
+ var keyboardHeightActual = isAndroid ? Math.max(keyboardHeight, androidKeyboardHeight) : keyboardHeight;
90
+ var correctSheetProps = __assign(__assign(__assign(__assign({}, DRAG_THRESHOLD), { avoidKeyboard: false }), sheetProps), { disableDrag: isKeyboardActuallyOpen || Boolean(sheetProps.disableDrag) });
91
+ var correctSheetContentProps = useMemo(function () {
92
+ var _a, _b;
93
+ var disableDragProp = sheetContentProps.disableDrag;
94
+ var disableDrag = function (state) {
95
+ var disableDragByProp = typeof disableDragProp === 'function' ? disableDragProp(state) : Boolean(disableDragProp);
96
+ return isKeyboardActuallyOpen || disableDragByProp;
97
+ };
98
+ return __assign(__assign({}, sheetContentProps), { disableDrag: disableDrag, scrollStyle: __assign(__assign({}, sheetContentProps.scrollStyle), { paddingBottom: (_b = (_a = sheetContentProps.scrollStyle) === null || _a === void 0 ? void 0 : _a.paddingBottom) !== null && _b !== void 0 ? _b : 'var(--keyboard-inset-height, 0px)' }) });
99
+ }, [isKeyboardActuallyOpen, sheetContentProps]);
63
100
  var updateModalState = useCallback(function () {
64
101
  var modalElement = modalRef.current;
65
102
  if (!modalElement)
@@ -85,47 +122,71 @@ export var useModal = function (_a) {
85
122
  // Контролируем фокус и блюр на элементах.
86
123
  useEffect(function () {
87
124
  var handleFocus = function (_a) {
125
+ var _b;
88
126
  var target = _a.target;
89
- return setFocusedElement(target);
127
+ if (!(target instanceof HTMLElement))
128
+ return;
129
+ if (!((_b = modalRef.current) === null || _b === void 0 ? void 0 : _b.contains(target)))
130
+ return;
131
+ setFocusedElement(target);
132
+ };
133
+ var handleBlur = function () {
134
+ requestAnimationFrame(function () {
135
+ var _a;
136
+ var activeElement = document.activeElement;
137
+ if (activeElement && ((_a = modalRef.current) === null || _a === void 0 ? void 0 : _a.contains(activeElement)))
138
+ setFocusedElement(activeElement);
139
+ else
140
+ setFocusedElement(null);
141
+ });
90
142
  };
91
- var handleBlur = function () { return setFocusedElement(null); };
92
- if (isMobilePlatform(platform) && shouldDoScrollToFocusedElement) {
93
- document.addEventListener(EVENT_LISTENER_TYPES.focus, handleFocus, true);
94
- document.addEventListener(EVENT_LISTENER_TYPES.blur, handleBlur, true);
143
+ if (isMobileBottomSheet) {
144
+ document.addEventListener('focusin', handleFocus);
145
+ document.addEventListener('focusout', handleBlur);
95
146
  }
96
147
  return function () {
97
- document.removeEventListener(EVENT_LISTENER_TYPES.focus, handleFocus, true);
98
- document.removeEventListener(EVENT_LISTENER_TYPES.blur, handleBlur, true);
148
+ document.removeEventListener('focusin', handleFocus);
149
+ document.removeEventListener('focusout', handleBlur);
99
150
  };
100
- }, [platform, shouldDoScrollToFocusedElement]);
101
- // Контролируем открытие клавиатуры на мобильном устройстве в bottomSheet.
102
- useEffect(function () {
151
+ }, [isMobileBottomSheet, modalRef]);
152
+ var recalculateScrollOffset = useCallback(function () {
103
153
  var _a;
104
- var visualViewport = window.visualViewport, innerHeight = window.innerHeight;
105
- var checkKeyboardState = function () {
106
- if (isIosPlatform(platform) && visualViewport) {
107
- var isOpen = visualViewport.height < innerHeight;
108
- return setIsKeyboardOpen(isOpen);
109
- }
110
- else if (isAndroidPlatform(platform))
111
- setIsKeyboardOpen(isAndroidKeyboardOpen);
112
- };
113
- if (isMobilePlatform(platform) && shouldDoScrollToFocusedElement) {
114
- (_a = window.visualViewport) === null || _a === void 0 ? void 0 : _a.addEventListener(EVENT_LISTENER_TYPES.resize, checkKeyboardState);
115
- checkKeyboardState();
116
- }
154
+ var visualViewport = window.visualViewport;
155
+ if (!isMobileBottomSheet || !isKeyboardActuallyOpen || !focusedElement)
156
+ return setOffsetScrollY(0);
157
+ if (!((_a = modalRef.current) === null || _a === void 0 ? void 0 : _a.contains(focusedElement)))
158
+ return setOffsetScrollY(0);
159
+ var scrollOffset = generateOffsetY({
160
+ focusedElement: focusedElement,
161
+ visualViewport: visualViewport,
162
+ scrollTo: scrollTo,
163
+ extraPaddingFocusedElement: extraPaddingFocusedElement,
164
+ });
165
+ setOffsetScrollY(scrollOffset);
166
+ }, [isMobileBottomSheet, isKeyboardActuallyOpen, focusedElement, modalRef, scrollTo, extraPaddingFocusedElement]);
167
+ useEffect(function () {
168
+ recalculateScrollOffset();
169
+ }, [recalculateScrollOffset]);
170
+ useEffect(function () {
171
+ var visualViewport = window.visualViewport;
172
+ if (!isMobileBottomSheet || !isKeyboardActuallyOpen || !visualViewport)
173
+ return;
174
+ visualViewport.addEventListener(EVENT_LISTENER_TYPES.resize, recalculateScrollOffset);
175
+ visualViewport.addEventListener('scroll', recalculateScrollOffset);
117
176
  return function () {
118
- var _a;
119
- (_a = window.visualViewport) === null || _a === void 0 ? void 0 : _a.removeEventListener(EVENT_LISTENER_TYPES.resize, checkKeyboardState);
177
+ visualViewport.removeEventListener(EVENT_LISTENER_TYPES.resize, recalculateScrollOffset);
178
+ visualViewport.removeEventListener('scroll', recalculateScrollOffset);
120
179
  };
121
- }, [platform, isAndroidKeyboardOpen, shouldDoScrollToFocusedElement]);
180
+ }, [isMobileBottomSheet, isKeyboardActuallyOpen, recalculateScrollOffset]);
122
181
  useEffect(function () {
123
- // Если useEffect отрабатывает, но клавиатура не открыта, значит нужно скинуть состояние.
124
- if (!isKeyboardOpen)
125
- return setOffsetScrollY(0);
126
- var scrollOffset = focusedElement ? generateOffsetY({ focusedElement: focusedElement, scrollTo: scrollTo, extraPaddingFocusedElement: extraPaddingFocusedElement }) : 0;
127
- setOffsetScrollY(scrollOffset);
128
- }, [focusedElement, isKeyboardOpen, scrollTo, extraPaddingFocusedElement]);
182
+ if (!isMobileBottomSheet || !isKeyboardActuallyOpen || !focusedElement || !window.ResizeObserver)
183
+ return;
184
+ var resizeObserver = new ResizeObserver(function () { return recalculateScrollOffset(); });
185
+ resizeObserver.observe(focusedElement);
186
+ return function () { return resizeObserver.disconnect(); };
187
+ }, [focusedElement, isKeyboardActuallyOpen, isMobileBottomSheet, recalculateScrollOffset]);
188
+ //eslint-disable-next-line
189
+ console.log(keyboardHeight, 'keyboardHeight');
129
190
  var renderModal = function (children) {
130
191
  if (!isModalOpen)
131
192
  return null;
@@ -135,10 +196,15 @@ export var useModal = function (_a) {
135
196
  isClosableOutside && clickOutsideTheModal(handleCloseModal, handleClickOutside);
136
197
  };
137
198
  //DRAG_THRESHOLD
138
- var BottomSheetModal = (_jsxs(Sheet, __assign({ style: __assign(__assign({}, sheetStyles), { zIndex: 100 }), id: BOTTOM_SHEET, className: "smartapp-bottom-sheet", detent: bottomSheetDetent, onClose: handleCloseModal, isOpen: isModalOpen }, correctSheetProps, { children: [_jsx(Sheet.Container, __assign({ style: sheetContainerStyles, className: "smartapp-bottom-sheet__container" }, sheetContainerProps, { children: _jsx(Sheet.Content, __assign({ style: sheetContentStyles, scrollRef: scrollRef }, sheetContentProps, { children: children })) })), _jsx(Sheet.Backdrop, __assign({ style: sheetBackdropStyles, onClick: handleOutsideClick, className: "smartapp-bottom-sheet__backdrop" }, sheetBackdropProps))] })));
199
+ var BottomSheetModal = (_jsxs(Sheet, __assign({ style: __assign(__assign({}, sheetStyles), { zIndex: 100 }), id: BOTTOM_SHEET, className: "smartapp-bottom-sheet", detent: bottomSheetDetent, onClose: handleCloseModal, isOpen: isModalOpen }, correctSheetProps, { children: [_jsx(Sheet.Container, __assign({ style: sheetContainerStyles, className: "smartapp-bottom-sheet__container" }, sheetContainerProps, { children: _jsx(Sheet.Content, __assign({ style: sheetContentStyles, scrollRef: scrollRef }, correctSheetContentProps, { children: children })) })), _jsx(Sheet.Backdrop, __assign({ style: sheetBackdropStyles, onClick: handleOutsideClick, className: "smartapp-bottom-sheet__backdrop" }, sheetBackdropProps))] })));
139
200
  var Modal = (_jsx(Popup, __assign({ className: popupClassName, overlayStyle: __assign(__assign({}, popupStyles), { opacity: 0, animation: MODAL_ANIMATION }), closeOnDocumentClick: isClosableOutside, modal: true, open: isModalOpen, closeOnEscape: isClosableOutside, onClose: handleCloseModal }, { children: children })));
140
201
  return shouldUseBottomSheet ? BottomSheetModal : Modal;
141
202
  };
142
- return { shouldUseBottomSheet: shouldUseBottomSheet, renderModal: renderModal, offsetScrollY: offsetScrollY };
203
+ return {
204
+ shouldUseBottomSheet: shouldUseBottomSheet,
205
+ renderModal: renderModal,
206
+ offsetScrollY: offsetScrollY,
207
+ bottomKeyboardPadding: isKeyboardActuallyOpen ? keyboardHeightActual : 0,
208
+ };
143
209
  };
144
210
  //# sourceMappingURL=useModal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useModal.js","sourceRoot":"","sources":["../../../src/hooks/useModal.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useModal.js","sourceRoot":"","sources":["../../../src/hooks/useModal.tsx"],"names":[],"mappings":"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"}