@tamagui/sheet 2.1.0 → 2.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/.turbo/turbo-build.log +3 -2
- package/dist/cjs/GestureDetectorWrapper.native.js.map +1 -1
- package/dist/cjs/GestureSheetContext.native.js.map +1 -1
- package/dist/cjs/Sheet.native.js.map +1 -1
- package/dist/cjs/SheetContext.native.js.map +1 -1
- package/dist/cjs/SheetController.native.js.map +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/constants.native.js.map +1 -1
- package/dist/cjs/contexts.native.js.map +1 -1
- package/dist/cjs/controller.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/gestureState.native.js.map +1 -1
- package/dist/cjs/helpers.native.js.map +1 -1
- package/dist/cjs/index.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/setupGestureHandler.native.js.map +1 -1
- package/dist/cjs/types.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/useSheet.native.js.map +1 -1
- package/dist/cjs/useSheetController.native.js.map +1 -1
- package/dist/cjs/useSheetOffscreenSize.native.js.map +1 -1
- package/dist/cjs/useSheetOpenState.native.js.map +1 -1
- 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
|
@@ -67,7 +67,7 @@ var SheetScrollView = /* @__PURE__ */import_react.default.forwardRef(function (p
|
|
|
67
67
|
screenSize
|
|
68
68
|
} = context;
|
|
69
69
|
var keyboardOccludedHeight = Math.max(0, context.keyboardOccludedHeight || 0);
|
|
70
|
-
var isKeyboardVisible = context.isKeyboardVisible === true || import_core.isWeb && (0, import_webViewport.
|
|
70
|
+
var isKeyboardVisible = context.isKeyboardVisible === true || import_core.isWeb && (0, import_webViewport.getWebKeyboardResizeHeight)() >= import_webViewport.MIN_KEYBOARD_HEIGHT;
|
|
71
71
|
var [scrollEnabled] = (0, import_use_controllable_state.useControllableState)({
|
|
72
72
|
prop: scrollEnabledProp,
|
|
73
73
|
defaultProp: true
|
|
@@ -84,10 +84,7 @@ var SheetScrollView = /* @__PURE__ */import_react.default.forwardRef(function (p
|
|
|
84
84
|
} : {
|
|
85
85
|
flex: 1
|
|
86
86
|
};
|
|
87
|
-
var
|
|
88
|
-
var keyboardFrozenOverride = hasFit && isKeyboardVisible && frozenFrameHeight > 0 ? isKeyboardSeeding ? {
|
|
89
|
-
maxHeight: frozenFrameHeight
|
|
90
|
-
} : {
|
|
87
|
+
var keyboardFrozenOverride = hasFit && isKeyboardVisible && frozenFrameHeight > 0 ? {
|
|
91
88
|
height: frozenFrameHeight,
|
|
92
89
|
maxHeight: frozenFrameHeight
|
|
93
90
|
} : null;
|
|
@@ -98,6 +95,7 @@ var SheetScrollView = /* @__PURE__ */import_react.default.forwardRef(function (p
|
|
|
98
95
|
var useRNGHScrollView = (0, import_gestureState.isGestureHandlerEnabled)() && RNGHScrollView && panGestureRef;
|
|
99
96
|
var currentScrollOffset = (0, import_react.useRef)(0);
|
|
100
97
|
var lockedScrollY = (0, import_react.useRef)(0);
|
|
98
|
+
var focusedInputScrollFrame = (0, import_react.useRef)(0);
|
|
101
99
|
var setScrollEnabled = function (next, lockTo) {
|
|
102
100
|
if (!next) {
|
|
103
101
|
var _scrollRef_current_scrollTo, _scrollRef_current;
|
|
@@ -122,6 +120,59 @@ var SheetScrollView = /* @__PURE__ */import_react.default.forwardRef(function (p
|
|
|
122
120
|
animated: false
|
|
123
121
|
});
|
|
124
122
|
};
|
|
123
|
+
var scrollFocusedInputClearOfKeyboard = import_react.default.useCallback(function () {
|
|
124
|
+
var _scrollRef_current;
|
|
125
|
+
if (!import_core.isWeb || !hasFit || !isKeyboardVisible || keyboardOccludedHeight <= 0) {
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
var node = (_scrollRef_current = scrollRef.current) === null || _scrollRef_current === void 0 ? void 0 : _scrollRef_current.getScrollableNode();
|
|
129
|
+
var active = document.activeElement;
|
|
130
|
+
if (!node || !active || !(0, import_webViewport.isEditableElement)(active) || !node.contains(active)) {
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
var keyboardHeight = Math.max(keyboardOccludedHeight, (0, import_webViewport.getWebKeyboardBottomInset)());
|
|
134
|
+
if (keyboardHeight <= 0) return;
|
|
135
|
+
var activeRect = active.getBoundingClientRect();
|
|
136
|
+
var nodeRect = node.getBoundingClientRect();
|
|
137
|
+
var margin = 12;
|
|
138
|
+
var keyboardTop = (0, import_webViewport.getStableLayoutViewportHeight)() - keyboardHeight;
|
|
139
|
+
var visibleTop = nodeRect.top + margin;
|
|
140
|
+
var visibleBottom = Math.min(nodeRect.bottom, keyboardTop) - margin;
|
|
141
|
+
var nextScrollTop = node.scrollTop;
|
|
142
|
+
if (activeRect.bottom > visibleBottom) {
|
|
143
|
+
nextScrollTop += Math.ceil(activeRect.bottom - visibleBottom);
|
|
144
|
+
} else if (activeRect.top < visibleTop) {
|
|
145
|
+
nextScrollTop -= Math.ceil(visibleTop - activeRect.top);
|
|
146
|
+
}
|
|
147
|
+
var maxScrollTop = Math.max(0, node.scrollHeight - node.clientHeight);
|
|
148
|
+
nextScrollTop = Math.max(0, Math.min(maxScrollTop, nextScrollTop));
|
|
149
|
+
if (nextScrollTop === node.scrollTop) return;
|
|
150
|
+
node.scrollTop = nextScrollTop;
|
|
151
|
+
currentScrollOffset.current = nextScrollTop;
|
|
152
|
+
scrollBridge.y = nextScrollTop;
|
|
153
|
+
if (nextScrollTop > 0) scrollBridge.scrollStartY = -1;
|
|
154
|
+
}, [hasFit, isKeyboardVisible, keyboardOccludedHeight, scrollBridge]);
|
|
155
|
+
var scheduleFocusedInputScroll = import_react.default.useCallback(function () {
|
|
156
|
+
if (!import_core.isWeb || !hasFit) return;
|
|
157
|
+
cancelAnimationFrame(focusedInputScrollFrame.current);
|
|
158
|
+
focusedInputScrollFrame.current = requestAnimationFrame(function () {
|
|
159
|
+
scrollFocusedInputClearOfKeyboard();
|
|
160
|
+
focusedInputScrollFrame.current = requestAnimationFrame(scrollFocusedInputClearOfKeyboard);
|
|
161
|
+
});
|
|
162
|
+
}, [hasFit, scrollFocusedInputClearOfKeyboard]);
|
|
163
|
+
(0, import_react.useEffect)(function () {
|
|
164
|
+
var _window_visualViewport;
|
|
165
|
+
if (!import_core.isWeb || !hasFit) return;
|
|
166
|
+
scheduleFocusedInputScroll();
|
|
167
|
+
window.addEventListener("focusin", scheduleFocusedInputScroll);
|
|
168
|
+
(_window_visualViewport = window.visualViewport) === null || _window_visualViewport === void 0 ? void 0 : _window_visualViewport.addEventListener("resize", scheduleFocusedInputScroll);
|
|
169
|
+
return function () {
|
|
170
|
+
var _window_visualViewport2;
|
|
171
|
+
cancelAnimationFrame(focusedInputScrollFrame.current);
|
|
172
|
+
window.removeEventListener("focusin", scheduleFocusedInputScroll);
|
|
173
|
+
(_window_visualViewport2 = window.visualViewport) === null || _window_visualViewport2 === void 0 ? void 0 : _window_visualViewport2.removeEventListener("resize", scheduleFocusedInputScroll);
|
|
174
|
+
};
|
|
175
|
+
}, [hasFit, scheduleFocusedInputScroll]);
|
|
125
176
|
(0, import_react.useEffect)(function () {
|
|
126
177
|
setHasScrollView(true);
|
|
127
178
|
if ((0, import_gestureState.isGestureHandlerEnabled)()) {
|
|
@@ -158,6 +209,9 @@ var SheetScrollView = /* @__PURE__ */import_react.default.forwardRef(function (p
|
|
|
158
209
|
if (height !== contentHeight.current) {
|
|
159
210
|
contentHeight.current = height;
|
|
160
211
|
updateScrollable();
|
|
212
|
+
if (keyboardOccludedHeight > 0) {
|
|
213
|
+
scheduleFocusedInputScroll();
|
|
214
|
+
}
|
|
161
215
|
}
|
|
162
216
|
},
|
|
163
217
|
children: [children, keyboardOccludedHeight > 0 && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_core.View, {
|
|
@@ -234,6 +288,7 @@ var SheetScrollView = /* @__PURE__ */import_react.default.forwardRef(function (p
|
|
|
234
288
|
var {
|
|
235
289
|
y
|
|
236
290
|
} = e.nativeEvent.contentOffset;
|
|
291
|
+
currentScrollOffset.current = y;
|
|
237
292
|
scrollBridge.y = y;
|
|
238
293
|
if (y > 0) scrollBridge.scrollStartY = -1;
|
|
239
294
|
onScroll === null || onScroll === void 0 ? void 0 : onScroll(e);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","SheetScrollView_exports","SheetScrollView","module","exports","import_jsx_runtime","require","import_compose_refs","import_core","import_scroll_view","import_use_controllable_state","import_react","import_GestureSheetContext","import_gestureState","import_SheetContext","import_useSheetScrollViewGestures","import_webViewport","SHEET_SCROLL_VIEW_NAME","default","forwardRef","param","ref","__scopeSheet","children","onScroll","scrollEnabled","scrollEnabledProp","props","context","useSheetContext","gestureContext","useGestureSheetContext","scrollBridge","setHasScrollView","hasFit","screenSize","keyboardOccludedHeight","Math","max","isKeyboardVisible","isWeb","getWebKeyboardHeight","MIN_KEYBOARD_HEIGHT","useControllableState","prop","defaultProp","scrollRef","useRef","hasScrollableContent","setHasScrollableContent","useState","parentHeight","contentHeight","frozenFrameHeight","keyboardStableFrameHeight","fitSizingStyle","flex","height","maxHeight","isKeyboardSeeding","keyboardFrozenOverride","panGestureRef","ScrollView","RNGHScrollView","getGestureHandlerState","useRNGHScrollView","isGestureHandlerEnabled","currentScrollOffset","lockedScrollY","setScrollEnabled","next","lockTo","_scrollRef_current_scrollTo","_scrollRef_current","lockY","current","scrollLockY","scrollTo","x","y","animated","forceScrollTo","useEffect","updateScrollable","recordFitHeight","gestureProps","useSheetScrollViewGestures","contentWrapper","jsxs","View","onLayout","e","floor","nativeEvent","layout","jsx","width","RNGHComponent","composeRefs","style","scrollEventThrottle","simultaneousHandlers","ceil","contentOffset"],"sources":["../../src/SheetScrollView.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","SheetScrollView_exports","SheetScrollView","module","exports","import_jsx_runtime","require","import_compose_refs","import_core","import_scroll_view","import_use_controllable_state","import_react","import_GestureSheetContext","import_gestureState","import_SheetContext","import_useSheetScrollViewGestures","import_webViewport","SHEET_SCROLL_VIEW_NAME","default","forwardRef","param","ref","__scopeSheet","children","onScroll","scrollEnabled","scrollEnabledProp","props","context","useSheetContext","gestureContext","useGestureSheetContext","scrollBridge","setHasScrollView","hasFit","screenSize","keyboardOccludedHeight","Math","max","isKeyboardVisible","isWeb","getWebKeyboardResizeHeight","MIN_KEYBOARD_HEIGHT","useControllableState","prop","defaultProp","scrollRef","useRef","hasScrollableContent","setHasScrollableContent","useState","parentHeight","contentHeight","frozenFrameHeight","keyboardStableFrameHeight","fitSizingStyle","flex","height","maxHeight","keyboardFrozenOverride","panGestureRef","ScrollView","RNGHScrollView","getGestureHandlerState","useRNGHScrollView","isGestureHandlerEnabled","currentScrollOffset","lockedScrollY","focusedInputScrollFrame","setScrollEnabled","next","lockTo","_scrollRef_current_scrollTo","_scrollRef_current","lockY","current","scrollLockY","scrollTo","x","y","animated","forceScrollTo","scrollFocusedInputClearOfKeyboard","useCallback","node","getScrollableNode","active","document","activeElement","isEditableElement","contains","keyboardHeight","getWebKeyboardBottomInset","activeRect","getBoundingClientRect","nodeRect","margin","keyboardTop","getStableLayoutViewportHeight","visibleTop","top","visibleBottom","min","bottom","nextScrollTop","scrollTop","ceil","maxScrollTop","scrollHeight","clientHeight","scrollStartY","scheduleFocusedInputScroll","cancelAnimationFrame","requestAnimationFrame","useEffect","_window_visualViewport","window","addEventListener","visualViewport","_window_visualViewport2","removeEventListener","updateScrollable","recordFitHeight","gestureProps","useSheetScrollViewGestures","contentWrapper","jsxs","View","onLayout","e","floor","nativeEvent","layout","jsx","width","RNGHComponent","composeRefs","style","scrollEventThrottle","simultaneousHandlers","contentOffset"],"sources":["../../src/SheetScrollView.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/jsx/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":[]}
|
|
@@ -45,6 +45,7 @@ var import_SheetImplementationCustom = require("./SheetImplementationCustom.nati
|
|
|
45
45
|
var import_SheetScrollView = require("./SheetScrollView.native.js");
|
|
46
46
|
var import_useSheetController = require("./useSheetController.native.js");
|
|
47
47
|
var import_useSheetOffscreenSize = require("./useSheetOffscreenSize.native.js");
|
|
48
|
+
var import_webViewport = require("./webViewport.native.js");
|
|
48
49
|
function createSheet(param) {
|
|
49
50
|
var {
|
|
50
51
|
Handle,
|
|
@@ -154,13 +155,15 @@ function createSheet(param) {
|
|
|
154
155
|
}), !disableHideBottomOverflow && /* @__PURE__ */(0, import_jsx_runtime.jsx)(Frame, {
|
|
155
156
|
...props,
|
|
156
157
|
componentName: "SheetCover",
|
|
158
|
+
"data-sheet-cover": "",
|
|
157
159
|
children: null,
|
|
158
160
|
testID: void 0,
|
|
159
161
|
id: void 0,
|
|
160
162
|
position: "absolute",
|
|
161
|
-
|
|
163
|
+
top: "100%",
|
|
162
164
|
zIndex: -1,
|
|
163
|
-
height: context.frameSize,
|
|
165
|
+
height: import_constants.isWeb ? Math.max(context.frameSize, (0, import_webViewport.getMaxViewportHeight)()) : context.frameSize,
|
|
166
|
+
maxHeight: import_constants.isWeb ? "none" : void 0,
|
|
164
167
|
left: 0,
|
|
165
168
|
right: 0,
|
|
166
169
|
borderWidth: 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","createSheet_exports","createSheet","module","exports","import_jsx_runtime","require","import_compose_refs","import_constants","import_core","import_helpers","import_portal","import_remove_scroll","import_use_did_finish_ssr","import_z_index_stack","import_react","import_react_native","import_constants2","import_nativeSheet","import_SheetContext","import_SheetImplementationCustom","import_SheetScrollView","import_useSheetController","import_useSheetOffscreenSize","param","Handle","Frame","Overlay","SheetHandle","styleable","param2","forwardedRef","__scopeSheet","props","context","useSheetContext","SHEET_HANDLE_NAME","composedRef","useComposedRefs","handleRef","wasDraggingRef","useRef","useEffect","scrollBridge","onParentDragging","isDragging","current","onlyShowFrame","jsx","ref","onPressIn","onPress","max","snapPoints","length","dismissOnSnapToBottom","nextPos","position","setPosition","open","SheetOverlay","propsIn","SHEET_OVERLAY_NAME","element","useMemo","composeEventHandlers","dismissOnOverlayPress","setOpen","opacity","useIsomorphicLayoutEffect","_context_onOverlayComponent","onOverlayComponent","SheetFrame","adjustPaddingForOffscreenContent","disableHideBottomOverflow","children","SHEET_NAME","hasFit","disableRemoveScroll","frameSize","contentRef","composedContentRef","offscreenSize","useSheetOffscreenSize","stableFrameSize","sheetContents","shouldUseFixedHeight","jsxs","flex","flexBasis","height","pointerEvents","StackZIndexContext","zIndex","resolveViewZIndex","View","width","Fragment","RemoveScroll","enabled","componentName","testID","id","
|
|
1
|
+
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","createSheet_exports","createSheet","module","exports","import_jsx_runtime","require","import_compose_refs","import_constants","import_core","import_helpers","import_portal","import_remove_scroll","import_use_did_finish_ssr","import_z_index_stack","import_react","import_react_native","import_constants2","import_nativeSheet","import_SheetContext","import_SheetImplementationCustom","import_SheetScrollView","import_useSheetController","import_useSheetOffscreenSize","import_webViewport","param","Handle","Frame","Overlay","SheetHandle","styleable","param2","forwardedRef","__scopeSheet","props","context","useSheetContext","SHEET_HANDLE_NAME","composedRef","useComposedRefs","handleRef","wasDraggingRef","useRef","useEffect","scrollBridge","onParentDragging","isDragging","current","onlyShowFrame","jsx","ref","onPressIn","onPress","max","snapPoints","length","dismissOnSnapToBottom","nextPos","position","setPosition","open","SheetOverlay","propsIn","SHEET_OVERLAY_NAME","element","useMemo","composeEventHandlers","dismissOnOverlayPress","setOpen","opacity","useIsomorphicLayoutEffect","_context_onOverlayComponent","onOverlayComponent","SheetFrame","adjustPaddingForOffscreenContent","disableHideBottomOverflow","children","SHEET_NAME","hasFit","disableRemoveScroll","frameSize","contentRef","composedContentRef","offscreenSize","useSheetOffscreenSize","stableFrameSize","sheetContents","shouldUseFixedHeight","jsxs","flex","flexBasis","height","pointerEvents","StackZIndexContext","zIndex","resolveViewZIndex","View","width","Fragment","RemoveScroll","enabled","componentName","testID","id","top","isWeb","Math","getMaxViewportHeight","maxHeight","left","right","borderWidth","borderRadius","shadowOpacity","Sheet","forwardRef","Sheet2","hydrated","useDidFinishSSR","isShowingNonSheet","useSheetController","SheetImplementation","SheetImplementationCustom","native","Platform","OS","impl","getNativeSheet","components","ScrollView","SheetScrollView","Controlled","withStaticProperties"],"sources":["../../src/createSheet.tsx"],"sourcesContent":[null],"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":[]}
|
|
@@ -24,9 +24,62 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
|
24
24
|
}), mod);
|
|
25
25
|
var keyboardAvoidance_exports = {};
|
|
26
26
|
__export(keyboardAvoidance_exports, {
|
|
27
|
-
|
|
27
|
+
getKeyboardAdjustedSheetY: () => getKeyboardAdjustedSheetY,
|
|
28
|
+
getKeyboardOccludedHeight: () => getKeyboardOccludedHeight,
|
|
29
|
+
getSheetReleasePosition: () => getSheetReleasePosition
|
|
28
30
|
});
|
|
29
31
|
module.exports = __toCommonJS(keyboardAvoidance_exports);
|
|
32
|
+
function getKeyboardAdjustedSheetY(param) {
|
|
33
|
+
var {
|
|
34
|
+
sheetY,
|
|
35
|
+
screenSize,
|
|
36
|
+
isKeyboardVisible,
|
|
37
|
+
keyboardHeight,
|
|
38
|
+
shouldTranslate,
|
|
39
|
+
safeAreaTop
|
|
40
|
+
} = param;
|
|
41
|
+
if (!shouldTranslate || !isKeyboardVisible || keyboardHeight <= 0 || screenSize <= 0 || sheetY >= screenSize) {
|
|
42
|
+
return sheetY;
|
|
43
|
+
}
|
|
44
|
+
return Math.max(safeAreaTop, sheetY - keyboardHeight);
|
|
45
|
+
}
|
|
46
|
+
function getSheetReleasePosition(param) {
|
|
47
|
+
var {
|
|
48
|
+
positions,
|
|
49
|
+
projectedEnd,
|
|
50
|
+
currentPosition,
|
|
51
|
+
frameSize,
|
|
52
|
+
dismissOnSnapToBottom,
|
|
53
|
+
snapPointsMode,
|
|
54
|
+
isKeyboardVisible,
|
|
55
|
+
isWeb
|
|
56
|
+
} = param;
|
|
57
|
+
var closestPoint = 0;
|
|
58
|
+
var dist = Number.POSITIVE_INFINITY;
|
|
59
|
+
for (var i = 0; i < positions.length; i++) {
|
|
60
|
+
var position = positions[i];
|
|
61
|
+
var curDist = Math.abs(projectedEnd - position);
|
|
62
|
+
if (curDist < dist) {
|
|
63
|
+
dist = curDist;
|
|
64
|
+
closestPoint = i;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
var dismissPoint = positions.length - 1;
|
|
68
|
+
var isKeyboardFitDismiss = isWeb && dismissOnSnapToBottom && isKeyboardVisible && snapPointsMode === "fit" && positions.length === 2 && closestPoint === dismissPoint;
|
|
69
|
+
if (!isKeyboardFitDismiss) {
|
|
70
|
+
return closestPoint;
|
|
71
|
+
}
|
|
72
|
+
var openPosition = positions[0];
|
|
73
|
+
var dismissPosition = positions[dismissPoint];
|
|
74
|
+
var dismissDistance = dismissPosition - openPosition;
|
|
75
|
+
if (dismissDistance <= 0 || frameSize <= 0) {
|
|
76
|
+
return closestPoint;
|
|
77
|
+
}
|
|
78
|
+
var draggedDistance = Math.max(0, currentPosition - openPosition);
|
|
79
|
+
var thresholdBase = Math.min(frameSize, dismissDistance);
|
|
80
|
+
var dismissThreshold = Math.max(120, thresholdBase * 0.35);
|
|
81
|
+
return draggedDistance >= dismissThreshold ? closestPoint : 0;
|
|
82
|
+
}
|
|
30
83
|
function getKeyboardOccludedHeight(param) {
|
|
31
84
|
var {
|
|
32
85
|
frameSize,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call"],"sources":["../../src/keyboardAvoidance.ts"],"sourcesContent":[null],"mappings":"AAAO,YAAS;;AAA0B,IACxCA,SAAA,GAAAC,MAAA,CAAAC,cAAA;AAAA,IACAC,gBAAA,GAAAF,MAAA,CAAAG,wBAAA;AAAA,IACAC,iBAAA,GAAAJ,MAAA,CAAAK,mBAAA;AAAA,IACAC,YAAA,GAAAN,MAAA,CAAAO,SAAA,CAAAC,cAAA;AAAA,IACAC,QAAA,GAAAA,CAAAC,MAAA,EAAAC,GAAA;
|
|
1
|
+
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","keyboardAvoidance_exports","getKeyboardAdjustedSheetY","getKeyboardOccludedHeight","getSheetReleasePosition","module","exports","param","sheetY","screenSize","isKeyboardVisible","keyboardHeight","shouldTranslate","safeAreaTop","Math","max","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"],"sources":["../../src/keyboardAvoidance.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/jsx/nativeSheet.mjs
CHANGED
|
@@ -42,7 +42,6 @@ function setupNativeSheet(platform, RNIOSModal) {
|
|
|
42
42
|
keyboardOccludedHeight: 0,
|
|
43
43
|
isKeyboardVisible: false,
|
|
44
44
|
keyboardStableFrameHeight: 0,
|
|
45
|
-
isKeyboardSeeding: false,
|
|
46
45
|
...providerProps,
|
|
47
46
|
onlyShowFrame: true,
|
|
48
47
|
children: [/* @__PURE__ */jsx(ModalSheetView, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["YStack","useEffect","useRef","View","SheetProvider","useSheetOpenState","useSheetProviderProps","Fragment","jsx","jsxs","nativeSheets","ios","getNativeSheet","platform","setupNativeSheet","RNIOSModal","ModalSheetView","ModalSheetViewMainContent","props","state","providerProps","open","setOpen","ref","current","presentModal","dismissModal","setOpenInternal","next","onOpenChange","children","setHasScrollView","emptyFn","keyboardOccludedHeight","isKeyboardVisible","keyboardStableFrameHeight","
|
|
1
|
+
{"version":3,"names":["YStack","useEffect","useRef","View","SheetProvider","useSheetOpenState","useSheetProviderProps","Fragment","jsx","jsxs","nativeSheets","ios","getNativeSheet","platform","setupNativeSheet","RNIOSModal","ModalSheetView","ModalSheetViewMainContent","props","state","providerProps","open","setOpen","ref","current","presentModal","dismissModal","setOpenInternal","next","onOpenChange","children","setHasScrollView","emptyFn","keyboardOccludedHeight","isKeyboardVisible","keyboardStableFrameHeight","onlyShowFrame","onModalDidDismiss","style","flex","position","opacity","pointerEvents","width","height"],"sources":["../../src/nativeSheet.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,MAAA,QAAc;AAEvB,SAASC,SAAA,EAAWC,MAAA,QAAc;AAClC,SAASC,IAAA,QAAY;AACrB,SAASC,aAAA,QAAqB;AAE9B,SAASC,iBAAA,QAAyB;AAClC,SAASC,qBAAA,QAA6B;AAqD9B,SAAAC,QAAA,EAWQC,GAAA,EAVNC,IAAA,QADF;AA/CR,MAAMC,YAAA,GAAmF;EACvFC,GAAA,EAAK;AACP;AAEO,SAASC,eAAeC,QAAA,EAAgC;EAC7D,OAAOH,YAAA,CAAaG,QAAQ;AAC9B;AAEO,SAASC,iBACdD,QAAA,EACAE,UAAA,EACA;EACA,MAAM;IAAEC,cAAA;IAAgBC;EAA0B,IAAIF,UAAA;EAEtD,IAAIF,QAAA,KAAa,OAAO;IACtBH,YAAA,CAAaG,QAAQ,IAAKK,KAAA,IAAsB;MAC9C,MAAMC,KAAA,GAAQd,iBAAA,CAAkBa,KAAK;MACrC,MAAME,aAAA,GAAgBd,qBAAA,CAAsBY,KAAA,EAAOC,KAAK;MAIxD,MAAM;QAAEE,IAAA;QAAMC;MAAQ,IAAIH,KAAA;MAC1B,MAAMI,GAAA,GAAMrB,MAAA,CAGT,MAAS;MAEZD,SAAA,CAAU,MAAM;QACd,IAAIoB,IAAA,EAAM;UACRE,GAAA,CAAIC,OAAA,EAASC,YAAA,CAAa;QAC5B,OAAO;UACLF,GAAA,CAAIC,OAAA,EAASE,YAAA,CAAa;QAC5B;MACF,GAAG,CAACL,IAAI,CAAC;MAET,SAASM,gBAAgBC,IAAA,EAAe;QACtCV,KAAA,CAAMW,YAAA,GAAeR,IAAI;QACzBC,OAAA,CAAQM,IAAI;MACd;MAQA,OACE,eAAApB,GAAA,CAAAD,QAAA;QACEuB,QAAA,iBAAArB,IAAA,CAACL,aAAA;UACC2B,gBAAA,EAAkBC,OAAA;UAClBC,sBAAA,EAAwB;UACxBC,iBAAA,EAAmB;UACnBC,yBAAA,EAA2B;UAC1B,GAAGf,aAAA;UACJgB,aAAA,EAAa;UAEbN,QAAA,kBAAAtB,GAAA,CAACQ,cAAA;YAAeO,GAAA;YAAUc,iBAAA,EAAmBA,CAAA,KAAMV,eAAA,CAAgB,KAAK;YACtEG,QAAA,iBAAAtB,GAAA,CAACS,yBAAA;cACCa,QAAA,iBAAAtB,GAAA,CAACL,IAAA;gBAAKmC,KAAA,EAAO;kBAAEC,IAAA,EAAM;gBAAE;gBAAIT,QAAA,EAAAZ,KAAA,CAAMY;cAAA,CAAS;YAAA,CAC5C;UAAA,CACF,GAIA,eAAAtB,GAAA,CAACR,MAAA;YACCwC,QAAA,EAAS;YACTC,OAAA,EAAS;YACTC,aAAA,EAAc;YACdC,KAAA,EAAO;YACPC,MAAA,EAAQ;YAEPd,QAAA,EAAAZ,KAAA,CAAMY;UAAA,CACT;QAAA,CACF;MAAA,CACF;IAEJ;EACF;AACF;AAEA,MAAME,OAAA,GAAUA,CAAA,KAAM,CAEtB","ignoreList":[]}
|
|
@@ -75,7 +75,6 @@ function setupNativeSheet(platform, RNIOSModal) {
|
|
|
75
75
|
keyboardOccludedHeight: 0,
|
|
76
76
|
isKeyboardVisible: false,
|
|
77
77
|
keyboardStableFrameHeight: 0,
|
|
78
|
-
isKeyboardSeeding: false,
|
|
79
78
|
...providerProps,
|
|
80
79
|
onlyShowFrame: true,
|
|
81
80
|
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(ModalSheetView, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","nativeSheet_exports","getNativeSheet","setupNativeSheet","module","exports","import_jsx_runtime","require","import_stacks","import_react","import_react_native","import_SheetContext","import_useSheetOpenState","import_useSheetProviderProps","nativeSheets","ios","platform","RNIOSModal","ModalSheetView","ModalSheetViewMainContent","props","state","useSheetOpenState","providerProps","useSheetProviderProps","open","setOpen","ref","useRef","useEffect","_ref_current","current","presentModal","_ref_current1","dismissModal","setOpenInternal","next","_props_onOpenChange","onOpenChange","jsx","Fragment"
|
|
1
|
+
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","nativeSheet_exports","getNativeSheet","setupNativeSheet","module","exports","import_jsx_runtime","require","import_stacks","import_react","import_react_native","import_SheetContext","import_useSheetOpenState","import_useSheetProviderProps","nativeSheets","ios","platform","RNIOSModal","ModalSheetView","ModalSheetViewMainContent","props","state","useSheetOpenState","providerProps","useSheetProviderProps","open","setOpen","ref","useRef","useEffect","_ref_current","current","presentModal","_ref_current1","dismissModal","setOpenInternal","next","_props_onOpenChange","onOpenChange","jsx","Fragment"],"sources":["../../src/nativeSheet.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import { isWeb } from "@tamagui/constants";
|
|
1
2
|
import { useCallback, useMemo, useRef } from "react";
|
|
2
3
|
import { getGestureHandlerState, isGestureHandlerEnabled } from "./gestureState.mjs";
|
|
4
|
+
import { getSheetReleasePosition } from "./keyboardAvoidance.mjs";
|
|
3
5
|
const AT_TOP_THRESHOLD = 5;
|
|
4
6
|
function useGestureHandlerPan(config) {
|
|
5
7
|
const {
|
|
@@ -19,6 +21,16 @@ function useGestureHandlerPan(config) {
|
|
|
19
21
|
} = config;
|
|
20
22
|
const gestureHandlerEnabled = isGestureHandlerEnabled();
|
|
21
23
|
const panGestureRef = useRef(null);
|
|
24
|
+
const releaseConfigRef = useRef({
|
|
25
|
+
dismissOnSnapToBottom: config.dismissOnSnapToBottom === true,
|
|
26
|
+
snapPointsMode: config.snapPointsMode ?? "percent",
|
|
27
|
+
isKeyboardVisible: config.isKeyboardVisible === true
|
|
28
|
+
});
|
|
29
|
+
releaseConfigRef.current = {
|
|
30
|
+
dismissOnSnapToBottom: config.dismissOnSnapToBottom === true,
|
|
31
|
+
snapPointsMode: config.snapPointsMode ?? "percent",
|
|
32
|
+
isKeyboardVisible: config.isKeyboardVisible === true
|
|
33
|
+
};
|
|
22
34
|
const gestureStateRef = useRef({
|
|
23
35
|
startY: 0,
|
|
24
36
|
// track last translation when pan was active (for position calculation after handoff)
|
|
@@ -33,6 +45,7 @@ function useGestureHandlerPan(config) {
|
|
|
33
45
|
// causing positions to revert. Frozen positions ensure stable snap calculation.
|
|
34
46
|
frozenPositions: [],
|
|
35
47
|
frozenMinY: 0,
|
|
48
|
+
frozenIsKeyboardVisible: false,
|
|
36
49
|
// whether pan gesture actually started (vs just a tap in onBegin)
|
|
37
50
|
panStarted: false
|
|
38
51
|
});
|
|
@@ -73,6 +86,7 @@ function useGestureHandlerPan(config) {
|
|
|
73
86
|
gs.scrollEngaged = currentScrollY > 0;
|
|
74
87
|
gs.frozenPositions = [...positions];
|
|
75
88
|
gs.frozenMinY = minY;
|
|
89
|
+
gs.frozenIsKeyboardVisible = releaseConfigRef.current.isKeyboardVisible;
|
|
76
90
|
if (!atTop) {
|
|
77
91
|
scrollBridge.setScrollEnabled?.(false, 0);
|
|
78
92
|
}
|
|
@@ -145,16 +159,17 @@ function useGestureHandlerPan(config) {
|
|
|
145
159
|
}
|
|
146
160
|
const velocity = velocityY / 1e3;
|
|
147
161
|
const projectedEnd = currentPos + frameSize * velocity * 0.2;
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
162
|
+
const releaseConfig = releaseConfigRef.current;
|
|
163
|
+
const closestPoint = getSheetReleasePosition({
|
|
164
|
+
positions: snapPositions,
|
|
165
|
+
projectedEnd,
|
|
166
|
+
currentPosition: currentPos,
|
|
167
|
+
frameSize,
|
|
168
|
+
dismissOnSnapToBottom: releaseConfig.dismissOnSnapToBottom,
|
|
169
|
+
snapPointsMode: releaseConfig.snapPointsMode,
|
|
170
|
+
isKeyboardVisible: gs.frozenIsKeyboardVisible,
|
|
171
|
+
isWeb
|
|
172
|
+
});
|
|
158
173
|
onEnd(closestPoint);
|
|
159
174
|
}).onFinalize(() => {
|
|
160
175
|
scrollBridge.scrollLockY = void 0;
|