@tamagui/sheet 2.1.0 → 2.2.0-1781071309197
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/.turbo/turbo-build.log +1 -1
- package/dist/cjs/SheetImplementationCustom.cjs +41 -64
- package/dist/cjs/SheetImplementationCustom.native.js +56 -69
- package/dist/cjs/SheetImplementationCustom.native.js.map +1 -1
- package/dist/cjs/SheetScrollView.cjs +57 -5
- package/dist/cjs/SheetScrollView.native.js +60 -5
- package/dist/cjs/SheetScrollView.native.js.map +1 -1
- package/dist/cjs/createSheet.cjs +5 -2
- package/dist/cjs/createSheet.native.js +5 -2
- package/dist/cjs/createSheet.native.js.map +1 -1
- package/dist/cjs/keyboardAvoidance.cjs +52 -1
- package/dist/cjs/keyboardAvoidance.native.js +54 -1
- package/dist/cjs/keyboardAvoidance.native.js.map +1 -1
- package/dist/cjs/nativeSheet.cjs +0 -1
- package/dist/cjs/nativeSheet.native.js +0 -1
- package/dist/cjs/nativeSheet.native.js.map +1 -1
- package/dist/cjs/useGestureHandlerPan.cjs +25 -10
- package/dist/cjs/useGestureHandlerPan.native.js +27 -10
- package/dist/cjs/useGestureHandlerPan.native.js.map +1 -1
- package/dist/cjs/useKeyboardControllerSheet.cjs +10 -4
- package/dist/cjs/useSafeAreaInsets.cjs +44 -0
- package/dist/cjs/useSafeAreaInsets.native.js +48 -0
- package/dist/cjs/useSafeAreaInsets.native.js.map +1 -0
- package/dist/cjs/useSheetProviderProps.native.js.map +1 -1
- package/dist/cjs/useSheetScrollViewGestures.cjs +12 -2
- package/dist/cjs/useSheetScrollViewGestures.native.js +4 -0
- package/dist/cjs/useSheetScrollViewGestures.native.js.map +1 -1
- package/dist/cjs/webViewport.cjs +26 -1
- package/dist/cjs/webViewport.native.js +28 -1
- package/dist/cjs/webViewport.native.js.map +1 -1
- package/dist/esm/SheetImplementationCustom.mjs +48 -73
- package/dist/esm/SheetImplementationCustom.mjs.map +1 -1
- package/dist/esm/SheetImplementationCustom.native.js +70 -89
- package/dist/esm/SheetImplementationCustom.native.js.map +1 -1
- package/dist/esm/SheetScrollView.mjs +58 -6
- package/dist/esm/SheetScrollView.mjs.map +1 -1
- package/dist/esm/SheetScrollView.native.js +61 -6
- package/dist/esm/SheetScrollView.native.js.map +1 -1
- package/dist/esm/createSheet.mjs +7 -5
- package/dist/esm/createSheet.mjs.map +1 -1
- package/dist/esm/createSheet.native.js +17 -14
- package/dist/esm/createSheet.native.js.map +1 -1
- package/dist/esm/keyboardAvoidance.mjs +50 -1
- package/dist/esm/keyboardAvoidance.mjs.map +1 -1
- package/dist/esm/keyboardAvoidance.native.js +52 -1
- package/dist/esm/keyboardAvoidance.native.js.map +1 -1
- package/dist/esm/nativeSheet.mjs +0 -1
- package/dist/esm/nativeSheet.mjs.map +1 -1
- package/dist/esm/nativeSheet.native.js +0 -1
- package/dist/esm/nativeSheet.native.js.map +1 -1
- package/dist/esm/useGestureHandlerPan.mjs +25 -10
- package/dist/esm/useGestureHandlerPan.mjs.map +1 -1
- package/dist/esm/useGestureHandlerPan.native.js +27 -10
- package/dist/esm/useGestureHandlerPan.native.js.map +1 -1
- package/dist/esm/useKeyboardControllerSheet.mjs +11 -5
- package/dist/esm/useKeyboardControllerSheet.mjs.map +1 -1
- package/dist/esm/useSafeAreaInsets.mjs +7 -0
- package/dist/esm/useSafeAreaInsets.mjs.map +1 -0
- package/dist/esm/useSafeAreaInsets.native.js +8 -0
- package/dist/esm/useSafeAreaInsets.native.js.map +1 -0
- package/dist/esm/useSheetProviderProps.mjs.map +1 -1
- package/dist/esm/useSheetProviderProps.native.js.map +1 -1
- package/dist/esm/useSheetScrollViewGestures.mjs +12 -2
- package/dist/esm/useSheetScrollViewGestures.mjs.map +1 -1
- package/dist/esm/useSheetScrollViewGestures.native.js +4 -0
- package/dist/esm/useSheetScrollViewGestures.native.js.map +1 -1
- package/dist/esm/webViewport.mjs +23 -2
- package/dist/esm/webViewport.mjs.map +1 -1
- package/dist/esm/webViewport.native.js +25 -2
- package/dist/esm/webViewport.native.js.map +1 -1
- package/dist/jsx/SheetImplementationCustom.mjs +48 -73
- package/dist/jsx/SheetImplementationCustom.mjs.map +1 -1
- package/dist/jsx/SheetImplementationCustom.native.js +56 -69
- package/dist/jsx/SheetImplementationCustom.native.js.map +1 -1
- package/dist/jsx/SheetScrollView.mjs +58 -6
- package/dist/jsx/SheetScrollView.mjs.map +1 -1
- package/dist/jsx/SheetScrollView.native.js +60 -5
- package/dist/jsx/SheetScrollView.native.js.map +1 -1
- package/dist/jsx/createSheet.mjs +7 -5
- package/dist/jsx/createSheet.mjs.map +1 -1
- package/dist/jsx/createSheet.native.js +5 -2
- package/dist/jsx/createSheet.native.js.map +1 -1
- package/dist/jsx/keyboardAvoidance.mjs +50 -1
- package/dist/jsx/keyboardAvoidance.mjs.map +1 -1
- package/dist/jsx/keyboardAvoidance.native.js +54 -1
- package/dist/jsx/keyboardAvoidance.native.js.map +1 -1
- package/dist/jsx/nativeSheet.mjs +0 -1
- package/dist/jsx/nativeSheet.mjs.map +1 -1
- package/dist/jsx/nativeSheet.native.js +0 -1
- package/dist/jsx/nativeSheet.native.js.map +1 -1
- package/dist/jsx/useGestureHandlerPan.mjs +25 -10
- package/dist/jsx/useGestureHandlerPan.mjs.map +1 -1
- package/dist/jsx/useGestureHandlerPan.native.js +27 -10
- package/dist/jsx/useGestureHandlerPan.native.js.map +1 -1
- package/dist/jsx/useKeyboardControllerSheet.mjs +11 -5
- package/dist/jsx/useKeyboardControllerSheet.mjs.map +1 -1
- package/dist/jsx/useSafeAreaInsets.mjs +7 -0
- package/dist/jsx/useSafeAreaInsets.mjs.map +1 -0
- package/dist/jsx/useSafeAreaInsets.native.js +48 -0
- package/dist/jsx/useSafeAreaInsets.native.js.map +1 -0
- package/dist/jsx/useSheetProviderProps.mjs.map +1 -1
- package/dist/jsx/useSheetProviderProps.native.js.map +1 -1
- package/dist/jsx/useSheetScrollViewGestures.mjs +12 -2
- package/dist/jsx/useSheetScrollViewGestures.mjs.map +1 -1
- package/dist/jsx/useSheetScrollViewGestures.native.js +4 -0
- package/dist/jsx/useSheetScrollViewGestures.native.js.map +1 -1
- package/dist/jsx/webViewport.mjs +23 -2
- package/dist/jsx/webViewport.mjs.map +1 -1
- package/dist/jsx/webViewport.native.js +28 -1
- package/dist/jsx/webViewport.native.js.map +1 -1
- package/package.json +24 -25
- package/src/SheetImplementationCustom.tsx +147 -212
- package/src/SheetScrollView.tsx +81 -21
- package/src/createSheet.tsx +18 -6
- package/src/keyboardAvoidance.ts +91 -0
- package/src/nativeSheet.tsx +0 -1
- package/src/useGestureHandlerPan.tsx +29 -12
- package/src/useKeyboardControllerSheet.ts +35 -14
- package/src/useSafeAreaInsets.native.ts +29 -0
- package/src/useSafeAreaInsets.ts +19 -0
- package/src/useSheetProviderProps.tsx +4 -10
- package/src/useSheetScrollViewGestures.native.ts +4 -0
- package/src/useSheetScrollViewGestures.ts +19 -8
- package/src/webViewport.ts +56 -8
- package/test/keyboardAvoidance.test.ts +218 -2
- package/types/SheetContext.d.ts +0 -1
- package/types/SheetContext.d.ts.map +1 -1
- package/types/SheetImplementationCustom.d.ts.map +1 -1
- package/types/SheetScrollView.d.ts.map +1 -1
- package/types/createSheet.d.ts +12 -12
- package/types/createSheet.d.ts.map +1 -1
- package/types/keyboardAvoidance.d.ts +18 -0
- package/types/keyboardAvoidance.d.ts.map +1 -1
- package/types/nativeSheet.d.ts.map +1 -1
- package/types/useGestureHandlerPan.d.ts +4 -1
- package/types/useGestureHandlerPan.d.ts.map +1 -1
- package/types/useKeyboardControllerSheet.d.ts +5 -5
- package/types/useKeyboardControllerSheet.d.ts.map +1 -1
- package/types/useSafeAreaInsets.d.ts +10 -0
- package/types/useSafeAreaInsets.d.ts.map +1 -0
- package/types/useSafeAreaInsets.native.d.ts +20 -0
- package/types/useSafeAreaInsets.native.d.ts.map +1 -0
- package/types/useSheetProviderProps.d.ts +0 -1
- package/types/useSheetProviderProps.d.ts.map +1 -1
- package/types/useSheetScrollViewGestures.d.ts.map +1 -1
- package/types/useSheetScrollViewGestures.native.d.ts.map +1 -1
- package/types/webViewport.d.ts +13 -7
- package/types/webViewport.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["composeRefs","isWeb","View","ScrollView","useControllableState","React","useEffect","useRef","useState","useGestureSheetContext","getGestureHandlerState","isGestureHandlerEnabled","useSheetContext","useSheetScrollViewGestures","
|
|
1
|
+
{"version":3,"names":["composeRefs","isWeb","View","ScrollView","useControllableState","React","useEffect","useRef","useState","useGestureSheetContext","getGestureHandlerState","isGestureHandlerEnabled","useSheetContext","useSheetScrollViewGestures","getStableLayoutViewportHeight","getWebKeyboardBottomInset","getWebKeyboardResizeHeight","isEditableElement","MIN_KEYBOARD_HEIGHT","jsx","jsxs","SHEET_SCROLL_VIEW_NAME","SheetScrollView","forwardRef","__scopeSheet","children","onScroll","scrollEnabled","scrollEnabledProp","props","ref","context","gestureContext","scrollBridge","setHasScrollView","hasFit","screenSize","keyboardOccludedHeight","Math","max","isKeyboardVisible","prop","defaultProp","scrollRef","hasScrollableContent","setHasScrollableContent","parentHeight","contentHeight","frozenFrameHeight","keyboardStableFrameHeight","fitSizingStyle","flex","height","maxHeight","keyboardFrozenOverride","panGestureRef","RNGHScrollView","useRNGHScrollView","currentScrollOffset","lockedScrollY","focusedInputScrollFrame","setScrollEnabled","next","lockTo","lockY","current","scrollLockY","scrollTo","x","y","animated","forceScrollTo","scrollFocusedInputClearOfKeyboard","useCallback","node","getScrollableNode","active","document","activeElement","contains","keyboardHeight","activeRect","getBoundingClientRect","nodeRect","margin","keyboardTop","visibleTop","top","visibleBottom","min","bottom","nextScrollTop","scrollTop","ceil","maxScrollTop","scrollHeight","clientHeight","scrollStartY","scheduleFocusedInputScroll","cancelAnimationFrame","requestAnimationFrame","window","addEventListener","visualViewport","removeEventListener","updateScrollable","recordFitHeight","gestureProps","contentWrapper","onLayout","e","floor","nativeEvent","layout","width","RNGHComponent","style","scrollEventThrottle","simultaneousHandlers","contentOffset","contentContainerStyle","minHeight","bounces","keyboardShouldPersistTaps","keyboardDismissMode","className"],"sources":["../../src/SheetScrollView.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -8,7 +8,7 @@ import { useGestureSheetContext } from "./GestureSheetContext.native.js";
|
|
|
8
8
|
import { getGestureHandlerState, isGestureHandlerEnabled } from "./gestureState.native.js";
|
|
9
9
|
import { useSheetContext } from "./SheetContext.native.js";
|
|
10
10
|
import { useSheetScrollViewGestures } from "./useSheetScrollViewGestures.native.js";
|
|
11
|
-
import {
|
|
11
|
+
import { getStableLayoutViewportHeight, getWebKeyboardBottomInset, getWebKeyboardResizeHeight, isEditableElement, MIN_KEYBOARD_HEIGHT } from "./webViewport.native.js";
|
|
12
12
|
var SHEET_SCROLL_VIEW_NAME = "SheetScrollView";
|
|
13
13
|
var SheetScrollView = /* @__PURE__ */React.forwardRef(function (param, ref) {
|
|
14
14
|
var {
|
|
@@ -27,7 +27,7 @@ var SheetScrollView = /* @__PURE__ */React.forwardRef(function (param, ref) {
|
|
|
27
27
|
screenSize
|
|
28
28
|
} = context;
|
|
29
29
|
var keyboardOccludedHeight = Math.max(0, context.keyboardOccludedHeight || 0);
|
|
30
|
-
var isKeyboardVisible = context.isKeyboardVisible === true || isWeb &&
|
|
30
|
+
var isKeyboardVisible = context.isKeyboardVisible === true || isWeb && getWebKeyboardResizeHeight() >= MIN_KEYBOARD_HEIGHT;
|
|
31
31
|
var [scrollEnabled] = useControllableState({
|
|
32
32
|
prop: scrollEnabledProp,
|
|
33
33
|
defaultProp: true
|
|
@@ -44,10 +44,7 @@ var SheetScrollView = /* @__PURE__ */React.forwardRef(function (param, ref) {
|
|
|
44
44
|
} : {
|
|
45
45
|
flex: 1
|
|
46
46
|
};
|
|
47
|
-
var
|
|
48
|
-
var keyboardFrozenOverride = hasFit && isKeyboardVisible && frozenFrameHeight > 0 ? isKeyboardSeeding ? {
|
|
49
|
-
maxHeight: frozenFrameHeight
|
|
50
|
-
} : {
|
|
47
|
+
var keyboardFrozenOverride = hasFit && isKeyboardVisible && frozenFrameHeight > 0 ? {
|
|
51
48
|
height: frozenFrameHeight,
|
|
52
49
|
maxHeight: frozenFrameHeight
|
|
53
50
|
} : null;
|
|
@@ -58,6 +55,7 @@ var SheetScrollView = /* @__PURE__ */React.forwardRef(function (param, ref) {
|
|
|
58
55
|
var useRNGHScrollView = isGestureHandlerEnabled() && RNGHScrollView && panGestureRef;
|
|
59
56
|
var currentScrollOffset = useRef(0);
|
|
60
57
|
var lockedScrollY = useRef(0);
|
|
58
|
+
var focusedInputScrollFrame = useRef(0);
|
|
61
59
|
var setScrollEnabled = function (next, lockTo) {
|
|
62
60
|
if (!next) {
|
|
63
61
|
var _scrollRef_current_scrollTo, _scrollRef_current;
|
|
@@ -82,6 +80,59 @@ var SheetScrollView = /* @__PURE__ */React.forwardRef(function (param, ref) {
|
|
|
82
80
|
animated: false
|
|
83
81
|
});
|
|
84
82
|
};
|
|
83
|
+
var scrollFocusedInputClearOfKeyboard = React.useCallback(function () {
|
|
84
|
+
var _scrollRef_current;
|
|
85
|
+
if (!isWeb || !hasFit || !isKeyboardVisible || keyboardOccludedHeight <= 0) {
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
var node = (_scrollRef_current = scrollRef.current) === null || _scrollRef_current === void 0 ? void 0 : _scrollRef_current.getScrollableNode();
|
|
89
|
+
var active = document.activeElement;
|
|
90
|
+
if (!node || !active || !isEditableElement(active) || !node.contains(active)) {
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
var keyboardHeight = Math.max(keyboardOccludedHeight, getWebKeyboardBottomInset());
|
|
94
|
+
if (keyboardHeight <= 0) return;
|
|
95
|
+
var activeRect = active.getBoundingClientRect();
|
|
96
|
+
var nodeRect = node.getBoundingClientRect();
|
|
97
|
+
var margin = 12;
|
|
98
|
+
var keyboardTop = getStableLayoutViewportHeight() - keyboardHeight;
|
|
99
|
+
var visibleTop = nodeRect.top + margin;
|
|
100
|
+
var visibleBottom = Math.min(nodeRect.bottom, keyboardTop) - margin;
|
|
101
|
+
var nextScrollTop = node.scrollTop;
|
|
102
|
+
if (activeRect.bottom > visibleBottom) {
|
|
103
|
+
nextScrollTop += Math.ceil(activeRect.bottom - visibleBottom);
|
|
104
|
+
} else if (activeRect.top < visibleTop) {
|
|
105
|
+
nextScrollTop -= Math.ceil(visibleTop - activeRect.top);
|
|
106
|
+
}
|
|
107
|
+
var maxScrollTop = Math.max(0, node.scrollHeight - node.clientHeight);
|
|
108
|
+
nextScrollTop = Math.max(0, Math.min(maxScrollTop, nextScrollTop));
|
|
109
|
+
if (nextScrollTop === node.scrollTop) return;
|
|
110
|
+
node.scrollTop = nextScrollTop;
|
|
111
|
+
currentScrollOffset.current = nextScrollTop;
|
|
112
|
+
scrollBridge.y = nextScrollTop;
|
|
113
|
+
if (nextScrollTop > 0) scrollBridge.scrollStartY = -1;
|
|
114
|
+
}, [hasFit, isKeyboardVisible, keyboardOccludedHeight, scrollBridge]);
|
|
115
|
+
var scheduleFocusedInputScroll = React.useCallback(function () {
|
|
116
|
+
if (!isWeb || !hasFit) return;
|
|
117
|
+
cancelAnimationFrame(focusedInputScrollFrame.current);
|
|
118
|
+
focusedInputScrollFrame.current = requestAnimationFrame(function () {
|
|
119
|
+
scrollFocusedInputClearOfKeyboard();
|
|
120
|
+
focusedInputScrollFrame.current = requestAnimationFrame(scrollFocusedInputClearOfKeyboard);
|
|
121
|
+
});
|
|
122
|
+
}, [hasFit, scrollFocusedInputClearOfKeyboard]);
|
|
123
|
+
useEffect(function () {
|
|
124
|
+
var _window_visualViewport;
|
|
125
|
+
if (!isWeb || !hasFit) return;
|
|
126
|
+
scheduleFocusedInputScroll();
|
|
127
|
+
window.addEventListener("focusin", scheduleFocusedInputScroll);
|
|
128
|
+
(_window_visualViewport = window.visualViewport) === null || _window_visualViewport === void 0 ? void 0 : _window_visualViewport.addEventListener("resize", scheduleFocusedInputScroll);
|
|
129
|
+
return function () {
|
|
130
|
+
var _window_visualViewport2;
|
|
131
|
+
cancelAnimationFrame(focusedInputScrollFrame.current);
|
|
132
|
+
window.removeEventListener("focusin", scheduleFocusedInputScroll);
|
|
133
|
+
(_window_visualViewport2 = window.visualViewport) === null || _window_visualViewport2 === void 0 ? void 0 : _window_visualViewport2.removeEventListener("resize", scheduleFocusedInputScroll);
|
|
134
|
+
};
|
|
135
|
+
}, [hasFit, scheduleFocusedInputScroll]);
|
|
85
136
|
useEffect(function () {
|
|
86
137
|
setHasScrollView(true);
|
|
87
138
|
if (isGestureHandlerEnabled()) {
|
|
@@ -118,6 +169,9 @@ var SheetScrollView = /* @__PURE__ */React.forwardRef(function (param, ref) {
|
|
|
118
169
|
if (height !== contentHeight.current) {
|
|
119
170
|
contentHeight.current = height;
|
|
120
171
|
updateScrollable();
|
|
172
|
+
if (keyboardOccludedHeight > 0) {
|
|
173
|
+
scheduleFocusedInputScroll();
|
|
174
|
+
}
|
|
121
175
|
}
|
|
122
176
|
},
|
|
123
177
|
children: [children, keyboardOccludedHeight > 0 && /* @__PURE__ */_jsx(View, {
|
|
@@ -194,6 +248,7 @@ var SheetScrollView = /* @__PURE__ */React.forwardRef(function (param, ref) {
|
|
|
194
248
|
var {
|
|
195
249
|
y
|
|
196
250
|
} = e.nativeEvent.contentOffset;
|
|
251
|
+
currentScrollOffset.current = y;
|
|
197
252
|
scrollBridge.y = y;
|
|
198
253
|
if (y > 0) scrollBridge.scrollStartY = -1;
|
|
199
254
|
onScroll === null || onScroll === void 0 ? void 0 : onScroll(e);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["jsx","_jsx","jsxs","_jsxs","composeRefs","isWeb","View","ScrollView","useControllableState","React","useEffect","useRef","useState","useGestureSheetContext","getGestureHandlerState","isGestureHandlerEnabled","useSheetContext","useSheetScrollViewGestures","
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","jsxs","_jsxs","composeRefs","isWeb","View","ScrollView","useControllableState","React","useEffect","useRef","useState","useGestureSheetContext","getGestureHandlerState","isGestureHandlerEnabled","useSheetContext","useSheetScrollViewGestures","getStableLayoutViewportHeight","getWebKeyboardBottomInset","getWebKeyboardResizeHeight","isEditableElement","MIN_KEYBOARD_HEIGHT","SHEET_SCROLL_VIEW_NAME","SheetScrollView","forwardRef","param","ref","__scopeSheet","children","onScroll","scrollEnabled","scrollEnabledProp","props","context","gestureContext","scrollBridge","setHasScrollView","hasFit","screenSize","keyboardOccludedHeight","Math","max","isKeyboardVisible","prop","defaultProp","scrollRef","hasScrollableContent","setHasScrollableContent","parentHeight","contentHeight","frozenFrameHeight","keyboardStableFrameHeight","fitSizingStyle","flex","height","maxHeight","keyboardFrozenOverride","panGestureRef","RNGHScrollView","useRNGHScrollView","currentScrollOffset","lockedScrollY","focusedInputScrollFrame","setScrollEnabled","next","lockTo","_scrollRef_current_scrollTo","_scrollRef_current","lockY","current","scrollLockY","scrollTo","call","x","y","animated","forceScrollTo","scrollFocusedInputClearOfKeyboard","useCallback","node","getScrollableNode","active","document","activeElement","contains","keyboardHeight","activeRect","getBoundingClientRect","nodeRect","margin","keyboardTop","visibleTop","top","visibleBottom","min","bottom","nextScrollTop","scrollTop","ceil","maxScrollTop","scrollHeight","clientHeight","scrollStartY","scheduleFocusedInputScroll","cancelAnimationFrame","requestAnimationFrame","_window_visualViewport","window","addEventListener","visualViewport","_window_visualViewport2","removeEventListener","updateScrollable","recordFitHeight","gestureProps","contentWrapper","onLayout","e","floor","nativeEvent","layout","width","RNGHComponent","style","scrollEventThrottle","simultaneousHandlers","contentOffset","contentContainerStyle","minHeight","bounces","keyboardShouldPersistTaps","keyboardDismissMode","className"],"sources":["../../src/SheetScrollView.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/esm/createSheet.mjs
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { useComposedRefs } from "@tamagui/compose-refs";
|
|
2
|
-
import { useIsomorphicLayoutEffect } from "@tamagui/constants";
|
|
2
|
+
import { isWeb, useIsomorphicLayoutEffect } from "@tamagui/constants";
|
|
3
3
|
import { View } from "@tamagui/core";
|
|
4
4
|
import { composeEventHandlers, withStaticProperties } from "@tamagui/helpers";
|
|
5
5
|
import { resolveViewZIndex } from "@tamagui/portal";
|
|
6
6
|
import { RemoveScroll } from "@tamagui/remove-scroll";
|
|
7
7
|
import { useDidFinishSSR } from "@tamagui/use-did-finish-ssr";
|
|
8
8
|
import { StackZIndexContext } from "@tamagui/z-index-stack";
|
|
9
|
-
import { forwardRef,
|
|
9
|
+
import { forwardRef, useEffect, useMemo, useRef } from "react";
|
|
10
10
|
import { Platform } from "react-native-web";
|
|
11
11
|
import { SHEET_HANDLE_NAME, SHEET_NAME, SHEET_OVERLAY_NAME } from "./constants.mjs";
|
|
12
|
-
import { getNativeSheet } from "./nativeSheet.mjs";
|
|
13
12
|
import { useSheetContext } from "./SheetContext.mjs";
|
|
14
13
|
import { SheetImplementationCustom } from "./SheetImplementationCustom.mjs";
|
|
15
14
|
import { SheetScrollView } from "./SheetScrollView.mjs";
|
|
16
15
|
import { useSheetController } from "./useSheetController.mjs";
|
|
17
16
|
import { useSheetOffscreenSize } from "./useSheetOffscreenSize.mjs";
|
|
17
|
+
import { getMaxViewportHeight } from "./webViewport.mjs";
|
|
18
18
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
19
19
|
function createSheet({
|
|
20
20
|
Handle,
|
|
@@ -121,13 +121,15 @@ function createSheet({
|
|
|
121
121
|
}), !disableHideBottomOverflow && /* @__PURE__ */jsx(Frame, {
|
|
122
122
|
...props,
|
|
123
123
|
componentName: "SheetCover",
|
|
124
|
+
"data-sheet-cover": "",
|
|
124
125
|
children: null,
|
|
125
126
|
testID: void 0,
|
|
126
127
|
id: void 0,
|
|
127
128
|
position: "absolute",
|
|
128
|
-
|
|
129
|
+
top: "100%",
|
|
129
130
|
zIndex: -1,
|
|
130
|
-
height: context.frameSize,
|
|
131
|
+
height: isWeb ? Math.max(context.frameSize, getMaxViewportHeight()) : context.frameSize,
|
|
132
|
+
maxHeight: isWeb ? "none" : void 0,
|
|
131
133
|
left: 0,
|
|
132
134
|
right: 0,
|
|
133
135
|
borderWidth: 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useComposedRefs","useIsomorphicLayoutEffect","View","composeEventHandlers","withStaticProperties","resolveViewZIndex","RemoveScroll","useDidFinishSSR","StackZIndexContext","forwardRef","useMemo","useEffect","useRef","Platform","SHEET_HANDLE_NAME","SHEET_NAME","SHEET_OVERLAY_NAME","getNativeSheet","useSheetContext","SheetImplementationCustom","SheetScrollView","useSheetController","useSheetOffscreenSize","Fragment","jsx","jsxs","createSheet","Handle","Frame","Overlay","SheetHandle","styleable","__scopeSheet","props","forwardedRef","context","composedRef","handleRef","wasDraggingRef","scrollBridge","onParentDragging","isDragging","current","onlyShowFrame","ref","onPressIn","onPress","max","snapPoints","length","dismissOnSnapToBottom","nextPos","position","setPosition","open","SheetOverlay","propsIn","element","dismissOnOverlayPress","setOpen","opacity","onOverlayComponent","SheetFrame","adjustPaddingForOffscreenContent","disableHideBottomOverflow","children","hasFit","disableRemoveScroll","frameSize","contentRef","composedContentRef","offscreenSize","stableFrameSize","sheetContents","shouldUseFixedHeight","flex","flexBasis","height","pointerEvents","zIndex","width","enabled","componentName","testID","id","bottom","left","right","borderWidth","borderRadius","shadowOpacity","Sheet","Sheet2","hydrated","isShowingNonSheet","SheetImplementation","native","OS","components","ScrollView","Controlled"],"sources":["../../src/createSheet.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useComposedRefs","isWeb","useIsomorphicLayoutEffect","View","composeEventHandlers","withStaticProperties","resolveViewZIndex","RemoveScroll","useDidFinishSSR","StackZIndexContext","forwardRef","useEffect","useMemo","useRef","Platform","SHEET_HANDLE_NAME","SHEET_NAME","SHEET_OVERLAY_NAME","useSheetContext","SheetImplementationCustom","SheetScrollView","useSheetController","useSheetOffscreenSize","getMaxViewportHeight","Fragment","jsx","jsxs","createSheet","Handle","Frame","Overlay","SheetHandle","styleable","__scopeSheet","props","forwardedRef","context","composedRef","handleRef","wasDraggingRef","scrollBridge","onParentDragging","isDragging","current","onlyShowFrame","ref","onPressIn","onPress","max","snapPoints","length","dismissOnSnapToBottom","nextPos","position","setPosition","open","SheetOverlay","propsIn","element","dismissOnOverlayPress","setOpen","opacity","onOverlayComponent","SheetFrame","adjustPaddingForOffscreenContent","disableHideBottomOverflow","children","hasFit","disableRemoveScroll","frameSize","contentRef","composedContentRef","offscreenSize","stableFrameSize","sheetContents","shouldUseFixedHeight","flex","flexBasis","height","pointerEvents","zIndex","width","enabled","componentName","testID","id","top","Math","maxHeight","left","right","borderWidth","borderRadius","shadowOpacity","Sheet","Sheet2","hydrated","isShowingNonSheet","SheetImplementation","native","OS","components","ScrollView","Controlled"],"sources":["createSheet.mjs"],"sourcesContent":["import { useComposedRefs } from \"@tamagui/compose-refs\";\nimport { isWeb, useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { View } from \"@tamagui/core\";\nimport { composeEventHandlers, withStaticProperties } from \"@tamagui/helpers\";\nimport { resolveViewZIndex } from \"@tamagui/portal\";\nimport { RemoveScroll } from \"@tamagui/remove-scroll\";\nimport { useDidFinishSSR } from \"@tamagui/use-did-finish-ssr\";\nimport { StackZIndexContext } from \"@tamagui/z-index-stack\";\nimport { forwardRef, useEffect, useMemo, useRef } from \"react\";\nimport { Platform } from \"react-native-web\";\nimport { SHEET_HANDLE_NAME, SHEET_NAME, SHEET_OVERLAY_NAME } from \"./constants\";\nimport { useSheetContext } from \"./SheetContext\";\nimport { SheetImplementationCustom } from \"./SheetImplementationCustom\";\nimport { SheetScrollView } from \"./SheetScrollView\";\nimport { useSheetController } from \"./useSheetController\";\nimport { useSheetOffscreenSize } from \"./useSheetOffscreenSize\";\nimport { getMaxViewportHeight } from \"./webViewport\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\n\nfunction createSheet({ Handle, Frame, Overlay }) {\n\tconst SheetHandle = Handle.styleable(({ __scopeSheet, ...props }, forwardedRef) => {\n\t\tconst context = useSheetContext(SHEET_HANDLE_NAME, __scopeSheet);\n\t\tconst composedRef = useComposedRefs(context.handleRef, forwardedRef);\n\t\tconst wasDraggingRef = useRef(false);\n\t\tuseEffect(() => {\n\t\t\tif (!context.scrollBridge) return;\n\t\t\treturn context.scrollBridge.onParentDragging((isDragging) => {\n\t\t\t\tif (isDragging) wasDraggingRef.current = true;\n\t\t\t});\n\t\t}, [context.scrollBridge]);\n\t\tif (context.onlyShowFrame) return null;\n\t\treturn /* @__PURE__ */ jsx(Handle, {\n\t\t\tref: composedRef,\n\t\t\tonPressIn: () => {\n\t\t\t\twasDraggingRef.current = false;\n\t\t\t},\n\t\t\tonPress: () => {\n\t\t\t\tif (wasDraggingRef.current) {\n\t\t\t\t\twasDraggingRef.current = false;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst max = context.snapPoints.length + (context.dismissOnSnapToBottom ? -1 : 0);\n\t\t\t\tconst nextPos = (context.position + 1) % max;\n\t\t\t\tcontext.setPosition(nextPos);\n\t\t\t},\n\t\t\topen: context.open,\n\t\t\t...props\n\t\t});\n\t});\n\tconst SheetOverlay = Overlay.styleable((propsIn, ref) => {\n\t\tconst { __scopeSheet, ...props } = propsIn;\n\t\tconst context = useSheetContext(SHEET_OVERLAY_NAME, __scopeSheet);\n\t\tconst element = useMemo(() => {\n\t\t\treturn /* @__PURE__ */ jsx(Overlay, {\n\t\t\t\t...props,\n\t\t\t\tonPress: composeEventHandlers(props.onPress, context.dismissOnOverlayPress ? () => {\n\t\t\t\t\tcontext.setOpen(false);\n\t\t\t\t} : void 0)\n\t\t\t});\n\t\t}, [\n\t\t\tprops.onPress,\n\t\t\tprops.opacity,\n\t\t\tcontext.dismissOnOverlayPress\n\t\t]);\n\t\tuseIsomorphicLayoutEffect(() => {\n\t\t\tcontext.onOverlayComponent?.(element);\n\t\t}, [element]);\n\t\tif (context.onlyShowFrame) return null;\n\t\treturn null;\n\t});\n\tconst SheetFrame = Frame.styleable(({ __scopeSheet, adjustPaddingForOffscreenContent, disableHideBottomOverflow, children, ...props }, forwardedRef) => {\n\t\tconst context = useSheetContext(SHEET_NAME, __scopeSheet);\n\t\tconst { hasFit, disableRemoveScroll, frameSize, contentRef, open } = context;\n\t\tconst composedContentRef = useComposedRefs(forwardedRef, contentRef);\n\t\tconst offscreenSize = useSheetOffscreenSize(context);\n\t\tconst stableFrameSize = useRef(frameSize);\n\t\tuseEffect(() => {\n\t\t\tif (open && frameSize) stableFrameSize.current = frameSize;\n\t\t}, [open, frameSize]);\n\t\tconst sheetContents = useMemo(() => {\n\t\t\tconst shouldUseFixedHeight = hasFit && !open && stableFrameSize.current;\n\t\t\treturn /* @__PURE__ */ jsxs(Frame, {\n\t\t\t\tref: composedContentRef,\n\t\t\t\tflex: hasFit && open ? 0 : 1,\n\t\t\t\tflexBasis: hasFit ? \"auto\" : void 0,\n\t\t\t\theight: shouldUseFixedHeight ? stableFrameSize.current : hasFit ? void 0 : frameSize,\n\t\t\t\tpointerEvents: open ? \"auto\" : \"none\",\n\t\t\t\t\"data-state\": open ? \"open\" : \"closed\",\n\t\t\t\t...props,\n\t\t\t\tchildren: [/* @__PURE__ */ jsx(StackZIndexContext, {\n\t\t\t\t\tzIndex: resolveViewZIndex(props.zIndex),\n\t\t\t\t\tchildren\n\t\t\t\t}), adjustPaddingForOffscreenContent && /* @__PURE__ */ jsx(View, {\n\t\t\t\t\t\"data-sheet-offscreen-pad\": true,\n\t\t\t\t\theight: offscreenSize,\n\t\t\t\t\twidth: \"100%\"\n\t\t\t\t})]\n\t\t\t});\n\t\t}, [\n\t\t\topen,\n\t\t\tprops,\n\t\t\tframeSize,\n\t\t\toffscreenSize,\n\t\t\tadjustPaddingForOffscreenContent,\n\t\t\thasFit\n\t\t]);\n\t\treturn /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(RemoveScroll, {\n\t\t\tenabled: !disableRemoveScroll && context.open,\n\t\t\tchildren: sheetContents\n\t\t}), !disableHideBottomOverflow && /* @__PURE__ */ jsx(Frame, {\n\t\t\t...props,\n\t\t\tcomponentName: \"SheetCover\",\n\t\t\t\"data-sheet-cover\": \"\",\n\t\t\tchildren: null,\n\t\t\ttestID: void 0,\n\t\t\tid: void 0,\n\t\t\tposition: \"absolute\",\n\t\t\ttop: \"100%\",\n\t\t\tzIndex: -1,\n\t\t\theight: isWeb ? Math.max(context.frameSize, getMaxViewportHeight()) : context.frameSize,\n\t\t\tmaxHeight: isWeb ? \"none\" : void 0,\n\t\t\tleft: 0,\n\t\t\tright: 0,\n\t\t\tborderWidth: 0,\n\t\t\tborderRadius: 0,\n\t\t\tshadowOpacity: 0\n\t\t})] });\n\t});\n\tconst Sheet = forwardRef(function Sheet2(props, ref) {\n\t\tconst hydrated = useDidFinishSSR();\n\t\tconst { isShowingNonSheet } = useSheetController();\n\t\tlet SheetImplementation = SheetImplementationCustom;\n\t\tif (props.native && Platform.OS === \"ios\") {}\n\t\tif (isShowingNonSheet || !hydrated) return null;\n\t\treturn /* @__PURE__ */ jsx(SheetImplementation, {\n\t\t\tref,\n\t\t\t...props\n\t\t});\n\t});\n\tconst components = {\n\t\tFrame: SheetFrame,\n\t\tOverlay: SheetOverlay,\n\t\tHandle: SheetHandle,\n\t\tScrollView: SheetScrollView\n\t};\n\tconst Controlled = withStaticProperties(Sheet, components);\n\treturn withStaticProperties(Sheet, {\n\t\t...components,\n\t\tControlled\n\t});\n}\n\nexport { createSheet };"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { jsx
|
|
1
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useComposedRefs } from "@tamagui/compose-refs";
|
|
3
|
-
import { useIsomorphicLayoutEffect } from "@tamagui/constants";
|
|
3
|
+
import { isWeb, useIsomorphicLayoutEffect } from "@tamagui/constants";
|
|
4
4
|
import { View } from "@tamagui/core";
|
|
5
5
|
import { composeEventHandlers, withStaticProperties } from "@tamagui/helpers";
|
|
6
6
|
import { resolveViewZIndex } from "@tamagui/portal";
|
|
7
7
|
import { RemoveScroll } from "@tamagui/remove-scroll";
|
|
8
8
|
import { useDidFinishSSR } from "@tamagui/use-did-finish-ssr";
|
|
9
9
|
import { StackZIndexContext } from "@tamagui/z-index-stack";
|
|
10
|
-
import { forwardRef,
|
|
10
|
+
import { forwardRef, useEffect, useMemo, useRef } from "react";
|
|
11
11
|
import { Platform } from "react-native";
|
|
12
12
|
import { SHEET_HANDLE_NAME, SHEET_NAME, SHEET_OVERLAY_NAME } from "./constants.native.js";
|
|
13
13
|
import { getNativeSheet } from "./nativeSheet.native.js";
|
|
@@ -16,6 +16,7 @@ import { SheetImplementationCustom } from "./SheetImplementationCustom.native.js
|
|
|
16
16
|
import { SheetScrollView } from "./SheetScrollView.native.js";
|
|
17
17
|
import { useSheetController } from "./useSheetController.native.js";
|
|
18
18
|
import { useSheetOffscreenSize } from "./useSheetOffscreenSize.native.js";
|
|
19
|
+
import { getMaxViewportHeight } from "./webViewport.native.js";
|
|
19
20
|
function createSheet(param) {
|
|
20
21
|
var {
|
|
21
22
|
Handle,
|
|
@@ -37,7 +38,7 @@ function createSheet(param) {
|
|
|
37
38
|
});
|
|
38
39
|
}, [context.scrollBridge]);
|
|
39
40
|
if (context.onlyShowFrame) return null;
|
|
40
|
-
return /* @__PURE__ */
|
|
41
|
+
return /* @__PURE__ */jsx(Handle, {
|
|
41
42
|
ref: composedRef,
|
|
42
43
|
onPressIn: function () {
|
|
43
44
|
wasDraggingRef.current = false;
|
|
@@ -62,7 +63,7 @@ function createSheet(param) {
|
|
|
62
63
|
} = propsIn;
|
|
63
64
|
var context = useSheetContext(SHEET_OVERLAY_NAME, __scopeSheet);
|
|
64
65
|
var element = useMemo(function () {
|
|
65
|
-
return /* @__PURE__ */
|
|
66
|
+
return /* @__PURE__ */jsx(Overlay, {
|
|
66
67
|
...props,
|
|
67
68
|
onPress: composeEventHandlers(props.onPress, context.dismissOnOverlayPress ? function () {
|
|
68
69
|
context.setOpen(false);
|
|
@@ -100,7 +101,7 @@ function createSheet(param) {
|
|
|
100
101
|
}, [open, frameSize]);
|
|
101
102
|
var sheetContents = useMemo(function () {
|
|
102
103
|
var shouldUseFixedHeight = hasFit && !open && stableFrameSize.current;
|
|
103
|
-
return /* @__PURE__ */
|
|
104
|
+
return /* @__PURE__ */jsxs(Frame, {
|
|
104
105
|
ref: composedContentRef,
|
|
105
106
|
flex: hasFit && open ? 0 : 1,
|
|
106
107
|
flexBasis: hasFit ? "auto" : void 0,
|
|
@@ -108,30 +109,32 @@ function createSheet(param) {
|
|
|
108
109
|
pointerEvents: open ? "auto" : "none",
|
|
109
110
|
"data-state": open ? "open" : "closed",
|
|
110
111
|
...props,
|
|
111
|
-
children: [/* @__PURE__ */
|
|
112
|
+
children: [/* @__PURE__ */jsx(StackZIndexContext, {
|
|
112
113
|
zIndex: resolveViewZIndex(props.zIndex),
|
|
113
114
|
children
|
|
114
|
-
}), adjustPaddingForOffscreenContent && /* @__PURE__ */
|
|
115
|
+
}), adjustPaddingForOffscreenContent && /* @__PURE__ */jsx(View, {
|
|
115
116
|
"data-sheet-offscreen-pad": true,
|
|
116
117
|
height: offscreenSize,
|
|
117
118
|
width: "100%"
|
|
118
119
|
})]
|
|
119
120
|
});
|
|
120
121
|
}, [open, props, frameSize, offscreenSize, adjustPaddingForOffscreenContent, hasFit]);
|
|
121
|
-
return /* @__PURE__ */
|
|
122
|
-
children: [/* @__PURE__ */
|
|
122
|
+
return /* @__PURE__ */jsxs(Fragment, {
|
|
123
|
+
children: [/* @__PURE__ */jsx(RemoveScroll, {
|
|
123
124
|
enabled: !disableRemoveScroll && context.open,
|
|
124
125
|
children: sheetContents
|
|
125
|
-
}), !disableHideBottomOverflow && /* @__PURE__ */
|
|
126
|
+
}), !disableHideBottomOverflow && /* @__PURE__ */jsx(Frame, {
|
|
126
127
|
...props,
|
|
127
128
|
componentName: "SheetCover",
|
|
129
|
+
"data-sheet-cover": "",
|
|
128
130
|
children: null,
|
|
129
131
|
testID: void 0,
|
|
130
132
|
id: void 0,
|
|
131
133
|
position: "absolute",
|
|
132
|
-
|
|
134
|
+
top: "100%",
|
|
133
135
|
zIndex: -1,
|
|
134
|
-
height: context.frameSize,
|
|
136
|
+
height: isWeb ? Math.max(context.frameSize, getMaxViewportHeight()) : context.frameSize,
|
|
137
|
+
maxHeight: isWeb ? "none" : void 0,
|
|
135
138
|
left: 0,
|
|
136
139
|
right: 0,
|
|
137
140
|
borderWidth: 0,
|
|
@@ -151,7 +154,7 @@ function createSheet(param) {
|
|
|
151
154
|
if (impl) SheetImplementation = impl;
|
|
152
155
|
}
|
|
153
156
|
if (isShowingNonSheet || !hydrated) return null;
|
|
154
|
-
return /* @__PURE__ */
|
|
157
|
+
return /* @__PURE__ */jsx(SheetImplementation, {
|
|
155
158
|
ref,
|
|
156
159
|
...props
|
|
157
160
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","useComposedRefs","useIsomorphicLayoutEffect","View","composeEventHandlers","withStaticProperties","resolveViewZIndex","RemoveScroll","useDidFinishSSR","StackZIndexContext","forwardRef","useMemo","useEffect","useRef","Platform","SHEET_HANDLE_NAME","SHEET_NAME","SHEET_OVERLAY_NAME","getNativeSheet","useSheetContext","SheetImplementationCustom","SheetScrollView","useSheetController","useSheetOffscreenSize","createSheet","param","Handle","Frame","Overlay","SheetHandle","styleable","param2","forwardedRef","__scopeSheet","props","context","composedRef","handleRef","wasDraggingRef","scrollBridge","onParentDragging","isDragging","current","onlyShowFrame","ref","onPressIn","onPress","max","snapPoints","length","dismissOnSnapToBottom","nextPos","position","setPosition","open","SheetOverlay","propsIn","element","dismissOnOverlayPress","setOpen","opacity","_context_onOverlayComponent","onOverlayComponent","call","SheetFrame","adjustPaddingForOffscreenContent","disableHideBottomOverflow","children","hasFit","disableRemoveScroll","frameSize","contentRef","composedContentRef","offscreenSize","stableFrameSize","sheetContents","shouldUseFixedHeight","flex","flexBasis","height","pointerEvents","zIndex","width","enabled","componentName","testID","id","bottom","left","right","borderWidth","borderRadius","shadowOpacity","Sheet","Sheet2","hydrated","isShowingNonSheet","SheetImplementation","native","OS","impl","components","ScrollView","Controlled"],"sources":["../../src/createSheet.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Fragment","jsx","jsxs","useComposedRefs","isWeb","useIsomorphicLayoutEffect","View","composeEventHandlers","withStaticProperties","resolveViewZIndex","RemoveScroll","useDidFinishSSR","StackZIndexContext","forwardRef","useEffect","useMemo","useRef","Platform","SHEET_HANDLE_NAME","SHEET_NAME","SHEET_OVERLAY_NAME","getNativeSheet","useSheetContext","SheetImplementationCustom","SheetScrollView","useSheetController","useSheetOffscreenSize","getMaxViewportHeight","createSheet","param","Handle","Frame","Overlay","SheetHandle","styleable","param2","forwardedRef","__scopeSheet","props","context","composedRef","handleRef","wasDraggingRef","scrollBridge","onParentDragging","isDragging","current","onlyShowFrame","ref","onPressIn","onPress","max","snapPoints","length","dismissOnSnapToBottom","nextPos","position","setPosition","open","SheetOverlay","propsIn","element","dismissOnOverlayPress","setOpen","opacity","_context_onOverlayComponent","onOverlayComponent","call","SheetFrame","adjustPaddingForOffscreenContent","disableHideBottomOverflow","children","hasFit","disableRemoveScroll","frameSize","contentRef","composedContentRef","offscreenSize","stableFrameSize","sheetContents","shouldUseFixedHeight","flex","flexBasis","height","pointerEvents","zIndex","width","enabled","componentName","testID","id","top","Math","maxHeight","left","right","borderWidth","borderRadius","shadowOpacity","Sheet","Sheet2","hydrated","isShowingNonSheet","SheetImplementation","native","OS","impl","components","ScrollView","Controlled"],"sources":["createSheet.native.js"],"sourcesContent":["import { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nimport { useComposedRefs } from \"@tamagui/compose-refs\";\nimport { isWeb, useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { View } from \"@tamagui/core\";\nimport { composeEventHandlers, withStaticProperties } from \"@tamagui/helpers\";\nimport { resolveViewZIndex } from \"@tamagui/portal\";\nimport { RemoveScroll } from \"@tamagui/remove-scroll\";\nimport { useDidFinishSSR } from \"@tamagui/use-did-finish-ssr\";\nimport { StackZIndexContext } from \"@tamagui/z-index-stack\";\nimport { forwardRef, useEffect, useMemo, useRef } from \"react\";\nimport { Platform } from \"react-native\";\nimport { SHEET_HANDLE_NAME, SHEET_NAME, SHEET_OVERLAY_NAME } from \"./constants\";\nimport { getNativeSheet } from \"./nativeSheet\";\nimport { useSheetContext } from \"./SheetContext\";\nimport { SheetImplementationCustom } from \"./SheetImplementationCustom\";\nimport { SheetScrollView } from \"./SheetScrollView\";\nimport { useSheetController } from \"./useSheetController\";\nimport { useSheetOffscreenSize } from \"./useSheetOffscreenSize\";\nimport { getMaxViewportHeight } from \"./webViewport\";\n\nfunction createSheet(param) {\n\tvar { Handle, Frame, Overlay } = param;\n\tvar SheetHandle = Handle.styleable(function(param2, forwardedRef) {\n\t\tvar { __scopeSheet, ...props } = param2;\n\t\tvar context = useSheetContext(SHEET_HANDLE_NAME, __scopeSheet);\n\t\tvar composedRef = useComposedRefs(context.handleRef, forwardedRef);\n\t\tvar wasDraggingRef = useRef(false);\n\t\tuseEffect(function() {\n\t\t\tif (!context.scrollBridge) return;\n\t\t\treturn context.scrollBridge.onParentDragging(function(isDragging) {\n\t\t\t\tif (isDragging) wasDraggingRef.current = true;\n\t\t\t});\n\t\t}, [context.scrollBridge]);\n\t\tif (context.onlyShowFrame) return null;\n\t\treturn /* @__PURE__ */ jsx(Handle, {\n\t\t\tref: composedRef,\n\t\t\tonPressIn: function() {\n\t\t\t\twasDraggingRef.current = false;\n\t\t\t},\n\t\t\tonPress: function() {\n\t\t\t\tif (wasDraggingRef.current) {\n\t\t\t\t\twasDraggingRef.current = false;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tvar max = context.snapPoints.length + (context.dismissOnSnapToBottom ? -1 : 0);\n\t\t\t\tvar nextPos = (context.position + 1) % max;\n\t\t\t\tcontext.setPosition(nextPos);\n\t\t\t},\n\t\t\topen: context.open,\n\t\t\t...props\n\t\t});\n\t});\n\tvar SheetOverlay = Overlay.styleable(function(propsIn, ref) {\n\t\tvar { __scopeSheet, ...props } = propsIn;\n\t\tvar context = useSheetContext(SHEET_OVERLAY_NAME, __scopeSheet);\n\t\tvar element = useMemo(function() {\n\t\t\treturn /* @__PURE__ */ jsx(Overlay, {\n\t\t\t\t...props,\n\t\t\t\tonPress: composeEventHandlers(props.onPress, context.dismissOnOverlayPress ? function() {\n\t\t\t\t\tcontext.setOpen(false);\n\t\t\t\t} : void 0)\n\t\t\t});\n\t\t}, [\n\t\t\tprops.onPress,\n\t\t\tprops.opacity,\n\t\t\tcontext.dismissOnOverlayPress\n\t\t]);\n\t\tuseIsomorphicLayoutEffect(function() {\n\t\t\tvar _context_onOverlayComponent;\n\t\t\t(_context_onOverlayComponent = context.onOverlayComponent) === null || _context_onOverlayComponent === void 0 || _context_onOverlayComponent.call(context, element);\n\t\t}, [element]);\n\t\tif (context.onlyShowFrame) return null;\n\t\treturn null;\n\t});\n\tvar SheetFrame = Frame.styleable(function(param2, forwardedRef) {\n\t\tvar { __scopeSheet, adjustPaddingForOffscreenContent, disableHideBottomOverflow, children, ...props } = param2;\n\t\tvar context = useSheetContext(SHEET_NAME, __scopeSheet);\n\t\tvar { hasFit, disableRemoveScroll, frameSize, contentRef, open } = context;\n\t\tvar composedContentRef = useComposedRefs(forwardedRef, contentRef);\n\t\tvar offscreenSize = useSheetOffscreenSize(context);\n\t\tvar stableFrameSize = useRef(frameSize);\n\t\tuseEffect(function() {\n\t\t\tif (open && frameSize) stableFrameSize.current = frameSize;\n\t\t}, [open, frameSize]);\n\t\tvar sheetContents = useMemo(function() {\n\t\t\tvar shouldUseFixedHeight = hasFit && !open && stableFrameSize.current;\n\t\t\treturn /* @__PURE__ */ jsxs(Frame, {\n\t\t\t\tref: composedContentRef,\n\t\t\t\tflex: hasFit && open ? 0 : 1,\n\t\t\t\tflexBasis: hasFit ? \"auto\" : void 0,\n\t\t\t\theight: shouldUseFixedHeight ? stableFrameSize.current : hasFit ? void 0 : frameSize,\n\t\t\t\tpointerEvents: open ? \"auto\" : \"none\",\n\t\t\t\t\"data-state\": open ? \"open\" : \"closed\",\n\t\t\t\t...props,\n\t\t\t\tchildren: [/* @__PURE__ */ jsx(StackZIndexContext, {\n\t\t\t\t\tzIndex: resolveViewZIndex(props.zIndex),\n\t\t\t\t\tchildren\n\t\t\t\t}), adjustPaddingForOffscreenContent && /* @__PURE__ */ jsx(View, {\n\t\t\t\t\t\"data-sheet-offscreen-pad\": true,\n\t\t\t\t\theight: offscreenSize,\n\t\t\t\t\twidth: \"100%\"\n\t\t\t\t})]\n\t\t\t});\n\t\t}, [\n\t\t\topen,\n\t\t\tprops,\n\t\t\tframeSize,\n\t\t\toffscreenSize,\n\t\t\tadjustPaddingForOffscreenContent,\n\t\t\thasFit\n\t\t]);\n\t\treturn /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(RemoveScroll, {\n\t\t\tenabled: !disableRemoveScroll && context.open,\n\t\t\tchildren: sheetContents\n\t\t}), !disableHideBottomOverflow && /* @__PURE__ */ jsx(Frame, {\n\t\t\t...props,\n\t\t\tcomponentName: \"SheetCover\",\n\t\t\t\"data-sheet-cover\": \"\",\n\t\t\tchildren: null,\n\t\t\ttestID: void 0,\n\t\t\tid: void 0,\n\t\t\tposition: \"absolute\",\n\t\t\ttop: \"100%\",\n\t\t\tzIndex: -1,\n\t\t\theight: isWeb ? Math.max(context.frameSize, getMaxViewportHeight()) : context.frameSize,\n\t\t\tmaxHeight: isWeb ? \"none\" : void 0,\n\t\t\tleft: 0,\n\t\t\tright: 0,\n\t\t\tborderWidth: 0,\n\t\t\tborderRadius: 0,\n\t\t\tshadowOpacity: 0\n\t\t})] });\n\t});\n\tvar Sheet = /* @__PURE__ */ forwardRef(function Sheet2(props, ref) {\n\t\tvar hydrated = useDidFinishSSR();\n\t\tvar { isShowingNonSheet } = useSheetController();\n\t\tvar SheetImplementation = SheetImplementationCustom;\n\t\tif (props.native && Platform.OS === \"ios\") {\n\t\t\tvar impl = getNativeSheet(\"ios\");\n\t\t\tif (impl) SheetImplementation = impl;\n\t\t}\n\t\tif (isShowingNonSheet || !hydrated) return null;\n\t\treturn /* @__PURE__ */ jsx(SheetImplementation, {\n\t\t\tref,\n\t\t\t...props\n\t\t});\n\t});\n\tvar components = {\n\t\tFrame: SheetFrame,\n\t\tOverlay: SheetOverlay,\n\t\tHandle: SheetHandle,\n\t\tScrollView: SheetScrollView\n\t};\n\tvar Controlled = withStaticProperties(Sheet, components);\n\treturn withStaticProperties(Sheet, {\n\t\t...components,\n\t\tControlled\n\t});\n}\n\nexport { createSheet };"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,3 +1,52 @@
|
|
|
1
|
+
function getKeyboardAdjustedSheetY({
|
|
2
|
+
sheetY,
|
|
3
|
+
screenSize,
|
|
4
|
+
isKeyboardVisible,
|
|
5
|
+
keyboardHeight,
|
|
6
|
+
shouldTranslate,
|
|
7
|
+
safeAreaTop
|
|
8
|
+
}) {
|
|
9
|
+
if (!shouldTranslate || !isKeyboardVisible || keyboardHeight <= 0 || screenSize <= 0 || sheetY >= screenSize) {
|
|
10
|
+
return sheetY;
|
|
11
|
+
}
|
|
12
|
+
return Math.max(safeAreaTop, sheetY - keyboardHeight);
|
|
13
|
+
}
|
|
14
|
+
function getSheetReleasePosition({
|
|
15
|
+
positions,
|
|
16
|
+
projectedEnd,
|
|
17
|
+
currentPosition,
|
|
18
|
+
frameSize,
|
|
19
|
+
dismissOnSnapToBottom,
|
|
20
|
+
snapPointsMode,
|
|
21
|
+
isKeyboardVisible,
|
|
22
|
+
isWeb
|
|
23
|
+
}) {
|
|
24
|
+
let closestPoint = 0;
|
|
25
|
+
let dist = Number.POSITIVE_INFINITY;
|
|
26
|
+
for (let i = 0; i < positions.length; i++) {
|
|
27
|
+
const position = positions[i];
|
|
28
|
+
const curDist = Math.abs(projectedEnd - position);
|
|
29
|
+
if (curDist < dist) {
|
|
30
|
+
dist = curDist;
|
|
31
|
+
closestPoint = i;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
const dismissPoint = positions.length - 1;
|
|
35
|
+
const isKeyboardFitDismiss = isWeb && dismissOnSnapToBottom && isKeyboardVisible && snapPointsMode === "fit" && positions.length === 2 && closestPoint === dismissPoint;
|
|
36
|
+
if (!isKeyboardFitDismiss) {
|
|
37
|
+
return closestPoint;
|
|
38
|
+
}
|
|
39
|
+
const openPosition = positions[0];
|
|
40
|
+
const dismissPosition = positions[dismissPoint];
|
|
41
|
+
const dismissDistance = dismissPosition - openPosition;
|
|
42
|
+
if (dismissDistance <= 0 || frameSize <= 0) {
|
|
43
|
+
return closestPoint;
|
|
44
|
+
}
|
|
45
|
+
const draggedDistance = Math.max(0, currentPosition - openPosition);
|
|
46
|
+
const thresholdBase = Math.min(frameSize, dismissDistance);
|
|
47
|
+
const dismissThreshold = Math.max(120, thresholdBase * 0.35);
|
|
48
|
+
return draggedDistance >= dismissThreshold ? closestPoint : 0;
|
|
49
|
+
}
|
|
1
50
|
function getKeyboardOccludedHeight({
|
|
2
51
|
frameSize,
|
|
3
52
|
isKeyboardVisible,
|
|
@@ -13,5 +62,5 @@ function getKeyboardOccludedHeight({
|
|
|
13
62
|
const occludedHeight = Math.ceil(sheetBottom - keyboardTop);
|
|
14
63
|
return Math.min(frameSize, Math.max(0, occludedHeight));
|
|
15
64
|
}
|
|
16
|
-
export { getKeyboardOccludedHeight };
|
|
65
|
+
export { getKeyboardAdjustedSheetY, getKeyboardOccludedHeight, getSheetReleasePosition };
|
|
17
66
|
//# sourceMappingURL=keyboardAvoidance.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["getKeyboardAdjustedSheetY","sheetY","screenSize","isKeyboardVisible","keyboardHeight","shouldTranslate","safeAreaTop","Math","max","getSheetReleasePosition","positions","projectedEnd","currentPosition","frameSize","dismissOnSnapToBottom","snapPointsMode","isWeb","closestPoint","dist","Number","POSITIVE_INFINITY","i","length","position","curDist","abs","dismissPoint","isKeyboardFitDismiss","openPosition","dismissPosition","dismissDistance","draggedDistance","thresholdBase","min","dismissThreshold","getKeyboardOccludedHeight","keyboardTop","sheetBottom","occludedHeight","ceil"],"sources":["../../src/keyboardAvoidance.ts"],"sourcesContent":[null],"mappings":"AAAO,SAASA,0BAA0B;EACxCC,MAAA;EACAC,UAAA;EACAC,iBAAA;EACAC,cAAA;EACAC,eAAA;EACAC;AACF,GAOG;EACD,IACE,CAACD,eAAA,IACD,CAACF,iBAAA,IACDC,cAAA,IAAkB,KAClBF,UAAA,IAAc,KACdD,MAAA,IAAUC,UAAA,EACV;IACA,OAAOD,MAAA;EACT;EAEA,OAAOM,IAAA,CAAKC,GAAA,CAAIF,WAAA,EAAaL,MAAA,GAASG,cAAc;AACtD;AAEO,SAASK,wBAAwB;EACtCC,SAAA;EACAC,YAAA;EACAC,eAAA;EACAC,SAAA;EACAC,qBAAA;EACAC,cAAA;EACAZ,iBAAA;EACAa;AACF,GASG;EACD,IAAIC,YAAA,GAAe;EACnB,IAAIC,IAAA,GAAOC,MAAA,CAAOC,iBAAA;EAElB,SAASC,CAAA,GAAI,GAAGA,CAAA,GAAIX,SAAA,CAAUY,MAAA,EAAQD,CAAA,IAAK;IACzC,MAAME,QAAA,GAAWb,SAAA,CAAUW,CAAC;IAC5B,MAAMG,OAAA,GAAUjB,IAAA,CAAKkB,GAAA,CAAId,YAAA,GAAeY,QAAQ;IAChD,IAAIC,OAAA,GAAUN,IAAA,EAAM;MAClBA,IAAA,GAAOM,OAAA;MACPP,YAAA,GAAeI,CAAA;IACjB;EACF;EAOA,MAAMK,YAAA,GAAehB,SAAA,CAAUY,MAAA,GAAS;EACxC,MAAMK,oBAAA,GACJX,KAAA,IACAF,qBAAA,IACAX,iBAAA,IACAY,cAAA,KAAmB,SACnBL,SAAA,CAAUY,MAAA,KAAW,KACrBL,YAAA,KAAiBS,YAAA;EAEnB,IAAI,CAACC,oBAAA,EAAsB;IACzB,OAAOV,YAAA;EACT;EAEA,MAAMW,YAAA,GAAelB,SAAA,CAAU,CAAC;EAChC,MAAMmB,eAAA,GAAkBnB,SAAA,CAAUgB,YAAY;EAC9C,MAAMI,eAAA,GAAkBD,eAAA,GAAkBD,YAAA;EAC1C,IAAIE,eAAA,IAAmB,KAAKjB,SAAA,IAAa,GAAG;IAC1C,OAAOI,YAAA;EACT;EAEA,MAAMc,eAAA,GAAkBxB,IAAA,CAAKC,GAAA,CAAI,GAAGI,eAAA,GAAkBgB,YAAY;EAClE,MAAMI,aAAA,GAAgBzB,IAAA,CAAK0B,GAAA,CAAIpB,SAAA,EAAWiB,eAAe;EACzD,MAAMI,gBAAA,GAAmB3B,IAAA,CAAKC,GAAA,CAAI,KAAKwB,aAAA,GAAgB,IAAI;EAE3D,OAAOD,eAAA,IAAmBG,gBAAA,GAAmBjB,YAAA,GAAe;AAC9D;AAEO,SAASkB,0BAA0B;EACxCtB,SAAA;EACAV,iBAAA;EACAC,cAAA;EACAF,UAAA;EACAD;AACF,GAMG;EACD,IACE,CAACE,iBAAA,IACDC,cAAA,IAAkB,KAClBF,UAAA,IAAc,KACdW,SAAA,IAAa,KACbZ,MAAA,KAAW,UACXA,MAAA,IAAUC,UAAA,EACV;IACA,OAAO;EACT;EAEA,MAAMkC,WAAA,GAAclC,UAAA,GAAaE,cAAA;EACjC,MAAMiC,WAAA,GAAcpC,MAAA,GAASY,SAAA;EAC7B,MAAMyB,cAAA,GAAiB/B,IAAA,CAAKgC,IAAA,CAAKF,WAAA,GAAcD,WAAW;EAE1D,OAAO7B,IAAA,CAAK0B,GAAA,CAAIpB,SAAA,EAAWN,IAAA,CAAKC,GAAA,CAAI,GAAG8B,cAAc,CAAC;AACxD","ignoreList":[]}
|
|
@@ -1,3 +1,54 @@
|
|
|
1
|
+
function getKeyboardAdjustedSheetY(param) {
|
|
2
|
+
var {
|
|
3
|
+
sheetY,
|
|
4
|
+
screenSize,
|
|
5
|
+
isKeyboardVisible,
|
|
6
|
+
keyboardHeight,
|
|
7
|
+
shouldTranslate,
|
|
8
|
+
safeAreaTop
|
|
9
|
+
} = param;
|
|
10
|
+
if (!shouldTranslate || !isKeyboardVisible || keyboardHeight <= 0 || screenSize <= 0 || sheetY >= screenSize) {
|
|
11
|
+
return sheetY;
|
|
12
|
+
}
|
|
13
|
+
return Math.max(safeAreaTop, sheetY - keyboardHeight);
|
|
14
|
+
}
|
|
15
|
+
function getSheetReleasePosition(param) {
|
|
16
|
+
var {
|
|
17
|
+
positions,
|
|
18
|
+
projectedEnd,
|
|
19
|
+
currentPosition,
|
|
20
|
+
frameSize,
|
|
21
|
+
dismissOnSnapToBottom,
|
|
22
|
+
snapPointsMode,
|
|
23
|
+
isKeyboardVisible,
|
|
24
|
+
isWeb
|
|
25
|
+
} = param;
|
|
26
|
+
var closestPoint = 0;
|
|
27
|
+
var dist = Number.POSITIVE_INFINITY;
|
|
28
|
+
for (var i = 0; i < positions.length; i++) {
|
|
29
|
+
var position = positions[i];
|
|
30
|
+
var curDist = Math.abs(projectedEnd - position);
|
|
31
|
+
if (curDist < dist) {
|
|
32
|
+
dist = curDist;
|
|
33
|
+
closestPoint = i;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
var dismissPoint = positions.length - 1;
|
|
37
|
+
var isKeyboardFitDismiss = isWeb && dismissOnSnapToBottom && isKeyboardVisible && snapPointsMode === "fit" && positions.length === 2 && closestPoint === dismissPoint;
|
|
38
|
+
if (!isKeyboardFitDismiss) {
|
|
39
|
+
return closestPoint;
|
|
40
|
+
}
|
|
41
|
+
var openPosition = positions[0];
|
|
42
|
+
var dismissPosition = positions[dismissPoint];
|
|
43
|
+
var dismissDistance = dismissPosition - openPosition;
|
|
44
|
+
if (dismissDistance <= 0 || frameSize <= 0) {
|
|
45
|
+
return closestPoint;
|
|
46
|
+
}
|
|
47
|
+
var draggedDistance = Math.max(0, currentPosition - openPosition);
|
|
48
|
+
var thresholdBase = Math.min(frameSize, dismissDistance);
|
|
49
|
+
var dismissThreshold = Math.max(120, thresholdBase * 0.35);
|
|
50
|
+
return draggedDistance >= dismissThreshold ? closestPoint : 0;
|
|
51
|
+
}
|
|
1
52
|
function getKeyboardOccludedHeight(param) {
|
|
2
53
|
var {
|
|
3
54
|
frameSize,
|
|
@@ -14,5 +65,5 @@ function getKeyboardOccludedHeight(param) {
|
|
|
14
65
|
var occludedHeight = Math.ceil(sheetBottom - keyboardTop);
|
|
15
66
|
return Math.min(frameSize, Math.max(0, occludedHeight));
|
|
16
67
|
}
|
|
17
|
-
export { getKeyboardOccludedHeight };
|
|
68
|
+
export { getKeyboardAdjustedSheetY, getKeyboardOccludedHeight, getSheetReleasePosition };
|
|
18
69
|
//# sourceMappingURL=keyboardAvoidance.native.js.map
|