@expressms/smartapp-ui 2.9.26 → 2.9.27-alpha.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.
- package/build/main/constants/constants.d.ts +5 -2
- package/build/main/constants/constants.js +3 -0
- package/build/main/constants/constants.js.map +1 -1
- package/build/main/hooks/useModal.d.ts +12 -8
- package/build/main/hooks/useModal.js +79 -15
- package/build/main/hooks/useModal.js.map +1 -1
- package/build/main/styles/styles.scss +1 -1
- package/build/main//321/201omponents/ConfirmationModal/ConfirmationModal.d.ts +1 -1
- package/build/main//321/201omponents/ConfirmationModal/ConfirmationModal.js +6 -4
- package/build/main//321/201omponents/ConfirmationModal/ConfirmationModal.js.map +1 -1
- package/build/main//321/201omponents/ConfirmationModal/types.d.ts +8 -5
- package/build/main//321/201omponents/Modal/Modal.d.ts +1 -1
- package/build/main//321/201omponents/Modal/Modal.js +18 -9
- package/build/main//321/201omponents/Modal/Modal.js.map +1 -1
- package/build/main//321/201omponents/Modal/types.d.ts +18 -2
- package/package.json +5 -2
|
@@ -31,7 +31,8 @@ export declare enum COLORS {
|
|
|
31
31
|
iconContrast = "var(--color-icon-contrast)",
|
|
32
32
|
iconPrimary = "var(--color-icon-primary)",
|
|
33
33
|
iconSecondary = "var(--color-icon-secondary)",
|
|
34
|
-
iconNegative = "var(--color-icon-negative)"
|
|
34
|
+
iconNegative = "var(--color-icon-negative)",
|
|
35
|
+
colorBgBlackoutTransparent = "var(--color-bg-blackout-transparent)"
|
|
35
36
|
}
|
|
36
37
|
export declare const INPUT_TYPE_PASSWORD = "password";
|
|
37
38
|
export declare const INPUT_TYPE_TEXT = "text";
|
|
@@ -166,7 +167,9 @@ export declare enum EVENT_LISTENER_TYPES {
|
|
|
166
167
|
mouseup = "mouseup",
|
|
167
168
|
touchend = "touchend",
|
|
168
169
|
touchcancel = "touchcancel",
|
|
169
|
-
resize = "resize"
|
|
170
|
+
resize = "resize",
|
|
171
|
+
focus = "focus",
|
|
172
|
+
blur = "blur"
|
|
170
173
|
}
|
|
171
174
|
export declare enum POPUP_ON_EVENT_TYPE {
|
|
172
175
|
hover = "hover"
|
|
@@ -33,6 +33,7 @@ export var COLORS;
|
|
|
33
33
|
COLORS["iconPrimary"] = "var(--color-icon-primary)";
|
|
34
34
|
COLORS["iconSecondary"] = "var(--color-icon-secondary)";
|
|
35
35
|
COLORS["iconNegative"] = "var(--color-icon-negative)";
|
|
36
|
+
COLORS["colorBgBlackoutTransparent"] = "var(--color-bg-blackout-transparent)";
|
|
36
37
|
})(COLORS || (COLORS = {}));
|
|
37
38
|
export var INPUT_TYPE_PASSWORD = 'password';
|
|
38
39
|
export var INPUT_TYPE_TEXT = 'text';
|
|
@@ -185,6 +186,8 @@ export var EVENT_LISTENER_TYPES;
|
|
|
185
186
|
EVENT_LISTENER_TYPES["touchend"] = "touchend";
|
|
186
187
|
EVENT_LISTENER_TYPES["touchcancel"] = "touchcancel";
|
|
187
188
|
EVENT_LISTENER_TYPES["resize"] = "resize";
|
|
189
|
+
EVENT_LISTENER_TYPES["focus"] = "focus";
|
|
190
|
+
EVENT_LISTENER_TYPES["blur"] = "blur";
|
|
188
191
|
})(EVENT_LISTENER_TYPES || (EVENT_LISTENER_TYPES = {}));
|
|
189
192
|
export var POPUP_ON_EVENT_TYPE;
|
|
190
193
|
(function (POPUP_ON_EVENT_TYPE) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/constants/constants.ts"],"names":[],"mappings":";AAEA,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/constants/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +1,25 @@
|
|
|
1
1
|
import React, { RefObject } from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import '
|
|
4
|
-
|
|
2
|
+
import { SheetDetent } from 'react-modal-sheet';
|
|
3
|
+
import { TBottomSheetProps, TBottomSheetStyles } from '../сomponents/Modal/types';
|
|
4
|
+
export declare const DEFAULT_BOTTOM_SHEET_DETENT = "content";
|
|
5
|
+
interface IUseModalProps {
|
|
5
6
|
isModalOpen: boolean;
|
|
7
|
+
isClosableOutside: boolean;
|
|
6
8
|
platform?: string;
|
|
7
9
|
isDisabledBottomSheet?: boolean;
|
|
8
10
|
initialIsBottomSheet?: boolean;
|
|
9
11
|
modalRef: RefObject<HTMLDivElement | null>;
|
|
10
|
-
|
|
11
|
-
handleCloseModal: () => void;
|
|
12
|
+
scrollRef?: RefObject<HTMLDivElement | null>;
|
|
12
13
|
popupClassName?: string;
|
|
13
14
|
popupStyles?: React.CSSProperties;
|
|
14
|
-
bottomSheetProps?:
|
|
15
|
-
|
|
15
|
+
bottomSheetProps?: TBottomSheetProps;
|
|
16
|
+
bottomSheetStyles?: TBottomSheetStyles;
|
|
17
|
+
bottomSheetDetent?: SheetDetent;
|
|
18
|
+
handleCloseModal: () => void;
|
|
16
19
|
}
|
|
17
|
-
export declare const useModal: ({ isModalOpen, platform, isDisabledBottomSheet, initialIsBottomSheet, modalRef,
|
|
20
|
+
export declare const useModal: ({ isModalOpen, isClosableOutside, platform, isDisabledBottomSheet, initialIsBottomSheet, modalRef, scrollRef, popupClassName, popupStyles, bottomSheetProps, bottomSheetStyles, bottomSheetDetent, handleCloseModal, }: IUseModalProps) => {
|
|
18
21
|
shouldUseBottomSheet: boolean;
|
|
19
22
|
renderModal: (children: React.ReactNode) => import("react/jsx-runtime").JSX.Element | null;
|
|
23
|
+
offsetScrollY: number;
|
|
20
24
|
};
|
|
21
25
|
export {};
|
|
@@ -9,20 +9,36 @@ var __assign = (this && this.__assign) || function () {
|
|
|
9
9
|
};
|
|
10
10
|
return __assign.apply(this, arguments);
|
|
11
11
|
};
|
|
12
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
|
-
import { useCallback, useLayoutEffect, useState } from 'react';
|
|
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';
|
|
14
15
|
import Popup from 'reactjs-popup';
|
|
15
|
-
import
|
|
16
|
-
import
|
|
17
|
-
import {
|
|
18
|
-
|
|
19
|
-
import 'alex.chus-react-spring-bottom-sheet/dist/style.css';
|
|
16
|
+
import useDetectKeyboardOpen from 'use-detect-keyboard-open';
|
|
17
|
+
import { isAndroidPlatform, isIosPlatform, isMobilePlatform } from '../helpers';
|
|
18
|
+
import { BOTTOM_SHEET, EVENT_LISTENER_TYPES, PLATFORM } from '../constants';
|
|
19
|
+
var OFFSET = 30;
|
|
20
20
|
var MAX_MODAL_MOBILE_HEIGHT = 360;
|
|
21
21
|
var MODAL_ANIMATION = 'modalFadeIn 0.25s ease-in-out forwards';
|
|
22
|
-
var
|
|
22
|
+
export var DEFAULT_BOTTOM_SHEET_DETENT = 'content';
|
|
23
|
+
var generateElementBottomOffset = function (element) {
|
|
24
|
+
var offsetTop = 0;
|
|
25
|
+
var currentElement = element;
|
|
26
|
+
while (currentElement) {
|
|
27
|
+
var currentOffsetTop = currentElement.offsetTop, offsetParent = currentElement.offsetParent;
|
|
28
|
+
offsetTop += currentOffsetTop;
|
|
29
|
+
currentElement = offsetParent;
|
|
30
|
+
}
|
|
31
|
+
return offsetTop + element.offsetHeight;
|
|
32
|
+
};
|
|
23
33
|
export var useModal = function (_a) {
|
|
24
|
-
var isModalOpen = _a.isModalOpen, _b = _a.platform, platform = _b === void 0 ? PLATFORM.web : _b, _c = _a.isDisabledBottomSheet, isDisabledBottomSheet = _c === void 0 ? false : _c, _d = _a.initialIsBottomSheet, initialIsBottomSheet = _d === void 0 ? false : _d, modalRef = _a.modalRef,
|
|
25
|
-
var
|
|
34
|
+
var isModalOpen = _a.isModalOpen, isClosableOutside = _a.isClosableOutside, _b = _a.platform, platform = _b === void 0 ? PLATFORM.web : _b, _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, handleCloseModal = _a.handleCloseModal;
|
|
35
|
+
var isAndroidKeyboardOpen = useDetectKeyboardOpen();
|
|
36
|
+
var _f = useState(initialIsBottomSheet), shouldUseBottomSheet = _f[0], setShouldUseBottomSheet = _f[1];
|
|
37
|
+
var _g = useState(0), offsetScrollY = _g[0], setOffsetScrollY = _g[1];
|
|
38
|
+
var _h = useState(null), focusedElement = _h[0], setFocusedElement = _h[1];
|
|
39
|
+
var _j = useState(false), isKeyboardOpen = _j[0], setIsKeyboardOpen = _j[1];
|
|
40
|
+
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;
|
|
41
|
+
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;
|
|
26
42
|
var updateModalState = useCallback(function () {
|
|
27
43
|
var modalElement = modalRef.current;
|
|
28
44
|
if (!modalElement)
|
|
@@ -45,6 +61,57 @@ export var useModal = function (_a) {
|
|
|
45
61
|
setShouldUseBottomSheet(initialIsBottomSheet);
|
|
46
62
|
};
|
|
47
63
|
}, [isModalOpen, updateModalState, modalRef, initialIsBottomSheet]);
|
|
64
|
+
// Контролируем фокус и блюр на элементах
|
|
65
|
+
useEffect(function () {
|
|
66
|
+
var handleFocus = function (_a) {
|
|
67
|
+
var target = _a.target;
|
|
68
|
+
return setFocusedElement(target);
|
|
69
|
+
};
|
|
70
|
+
var handleBlur = function () { return setFocusedElement(null); };
|
|
71
|
+
if (isMobilePlatform(platform)) {
|
|
72
|
+
document.addEventListener(EVENT_LISTENER_TYPES.focus, handleFocus, true);
|
|
73
|
+
document.addEventListener(EVENT_LISTENER_TYPES.blur, handleBlur, true);
|
|
74
|
+
}
|
|
75
|
+
return function () {
|
|
76
|
+
document.removeEventListener(EVENT_LISTENER_TYPES.focus, handleFocus, true);
|
|
77
|
+
document.removeEventListener(EVENT_LISTENER_TYPES.blur, handleBlur, true);
|
|
78
|
+
};
|
|
79
|
+
}, [platform]);
|
|
80
|
+
// Контролируем открытие клавиатуры на мобильном устройстве в BottomSheet
|
|
81
|
+
useEffect(function () {
|
|
82
|
+
var _a;
|
|
83
|
+
var visualViewport = window.visualViewport, innerHeight = window.innerHeight;
|
|
84
|
+
var updateKeyboardState = function () {
|
|
85
|
+
if (isIosPlatform(platform) && visualViewport) {
|
|
86
|
+
var height = visualViewport.height;
|
|
87
|
+
return setIsKeyboardOpen(height < innerHeight);
|
|
88
|
+
}
|
|
89
|
+
else if (isAndroidPlatform(platform))
|
|
90
|
+
setIsKeyboardOpen(isAndroidKeyboardOpen);
|
|
91
|
+
};
|
|
92
|
+
if (isMobilePlatform(platform)) {
|
|
93
|
+
(_a = window.visualViewport) === null || _a === void 0 ? void 0 : _a.addEventListener(EVENT_LISTENER_TYPES.resize, updateKeyboardState);
|
|
94
|
+
updateKeyboardState();
|
|
95
|
+
}
|
|
96
|
+
return function () {
|
|
97
|
+
var _a;
|
|
98
|
+
(_a = window.visualViewport) === null || _a === void 0 ? void 0 : _a.removeEventListener(EVENT_LISTENER_TYPES.resize, updateKeyboardState);
|
|
99
|
+
};
|
|
100
|
+
}, [platform, isAndroidKeyboardOpen]);
|
|
101
|
+
useEffect(function () {
|
|
102
|
+
// Если useEffect отрабатывает, но клавиатура не открыта, значит нужно скинуть состояние
|
|
103
|
+
if (!isKeyboardOpen)
|
|
104
|
+
return setOffsetScrollY(0);
|
|
105
|
+
var visualViewport = window.visualViewport, innerHeight = window.innerHeight;
|
|
106
|
+
// Находим элемент и высчитываем его нижнюю позицию с помощью функции
|
|
107
|
+
// (функция нужна именная эта, getBoundingClientRect на IOS не работает корректно)
|
|
108
|
+
var bottom = focusedElement ? generateElementBottomOffset(focusedElement) : 0;
|
|
109
|
+
// Находим высоту наблюдаемого контента с учетом клавиатуры, это же значение - нижняя часть элемента
|
|
110
|
+
var visibleHeight = visualViewport ? visualViewport.height : innerHeight;
|
|
111
|
+
// Проверяем, находится ли наш элемент в наблюдаемом контенте, если нет - ставим offsetScrollY 0
|
|
112
|
+
var scrollOffset = bottom + OFFSET > visibleHeight ? bottom - visibleHeight + OFFSET : 0;
|
|
113
|
+
setOffsetScrollY(scrollOffset);
|
|
114
|
+
}, [focusedElement, isKeyboardOpen]);
|
|
48
115
|
var renderModal = function (children) {
|
|
49
116
|
if (!isModalOpen)
|
|
50
117
|
return null;
|
|
@@ -53,13 +120,10 @@ export var useModal = function (_a) {
|
|
|
53
120
|
event.stopPropagation();
|
|
54
121
|
isClosableOutside && handleCloseModal();
|
|
55
122
|
};
|
|
56
|
-
var BottomSheetModal = (
|
|
123
|
+
var BottomSheetModal = (_jsxs(Sheet, __assign({ id: BOTTOM_SHEET, isOpen: isModalOpen, style: __assign({ zIndex: 100 }, sheetStyles), className: "smartapp-bottom-sheet", detent: bottomSheetDetent, onClose: handleCloseModal }, sheetProps, { 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, className: "smartapp-bottom-sheet__backdrop", onClick: handleOutsideClick }, sheetBackdropProps))] })));
|
|
57
124
|
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 })));
|
|
58
125
|
return shouldUseBottomSheet ? BottomSheetModal : Modal;
|
|
59
126
|
};
|
|
60
|
-
return {
|
|
61
|
-
shouldUseBottomSheet: shouldUseBottomSheet,
|
|
62
|
-
renderModal: renderModal,
|
|
63
|
-
};
|
|
127
|
+
return { shouldUseBottomSheet: shouldUseBottomSheet, renderModal: renderModal, offsetScrollY: offsetScrollY };
|
|
64
128
|
};
|
|
65
129
|
//# sourceMappingURL=useModal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useModal.js","sourceRoot":"","sources":["../../../src/hooks/useModal.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAc,EAAa,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"useModal.js","sourceRoot":"","sources":["../../../src/hooks/useModal.tsx"],"names":[],"mappings":"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"}
|