@tamagui/sheet 2.3.3 → 2.4.0-1783099846627
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 +42 -29
- package/dist/cjs/SheetImplementationCustom.native.js +46 -33
- package/dist/cjs/SheetImplementationCustom.native.js.map +1 -1
- package/dist/cjs/SheetScrollView.cjs +64 -22
- package/dist/cjs/SheetScrollView.native.js +66 -23
- package/dist/cjs/SheetScrollView.native.js.map +1 -1
- package/dist/cjs/gestureState.cjs +13 -2
- package/dist/cjs/gestureState.native.js +14 -2
- package/dist/cjs/gestureState.native.js.map +1 -1
- package/dist/cjs/index.cjs +12 -1
- package/dist/cjs/index.native.js +11 -0
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/setupGestureHandler.cjs +7 -4
- package/dist/cjs/setupGestureHandler.native.js +9 -4
- package/dist/cjs/setupGestureHandler.native.js.map +1 -1
- package/dist/cjs/useGestureHandlerPan.cjs +61 -8
- package/dist/cjs/useGestureHandlerPan.native.js +64 -8
- package/dist/cjs/useGestureHandlerPan.native.js.map +1 -1
- package/dist/cjs/useSheetScrollViewGestures.cjs +13 -3
- package/dist/esm/SheetImplementationCustom.mjs +43 -32
- package/dist/esm/SheetImplementationCustom.mjs.map +1 -1
- package/dist/esm/SheetImplementationCustom.native.js +47 -36
- package/dist/esm/SheetImplementationCustom.native.js.map +1 -1
- package/dist/esm/SheetScrollView.mjs +64 -22
- package/dist/esm/SheetScrollView.mjs.map +1 -1
- package/dist/esm/SheetScrollView.native.js +66 -23
- package/dist/esm/SheetScrollView.native.js.map +1 -1
- package/dist/esm/gestureState.mjs +13 -2
- package/dist/esm/gestureState.mjs.map +1 -1
- package/dist/esm/gestureState.native.js +14 -2
- package/dist/esm/gestureState.native.js.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +2 -0
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +2 -0
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/setupGestureHandler.mjs +7 -4
- package/dist/esm/setupGestureHandler.mjs.map +1 -1
- package/dist/esm/setupGestureHandler.native.js +9 -4
- package/dist/esm/setupGestureHandler.native.js.map +1 -1
- package/dist/esm/useGestureHandlerPan.mjs +62 -9
- package/dist/esm/useGestureHandlerPan.mjs.map +1 -1
- package/dist/esm/useGestureHandlerPan.native.js +65 -9
- package/dist/esm/useGestureHandlerPan.native.js.map +1 -1
- package/dist/esm/useSheetScrollViewGestures.mjs +13 -3
- package/dist/esm/useSheetScrollViewGestures.mjs.map +1 -1
- package/dist/jsx/SheetImplementationCustom.mjs +43 -32
- package/dist/jsx/SheetImplementationCustom.mjs.map +1 -1
- package/dist/jsx/SheetImplementationCustom.native.js +46 -33
- package/dist/jsx/SheetImplementationCustom.native.js.map +1 -1
- package/dist/jsx/SheetScrollView.mjs +64 -22
- package/dist/jsx/SheetScrollView.mjs.map +1 -1
- package/dist/jsx/SheetScrollView.native.js +66 -23
- package/dist/jsx/SheetScrollView.native.js.map +1 -1
- package/dist/jsx/gestureState.mjs +13 -2
- package/dist/jsx/gestureState.mjs.map +1 -1
- package/dist/jsx/gestureState.native.js +14 -2
- package/dist/jsx/gestureState.native.js.map +1 -1
- package/dist/jsx/index.js +2 -0
- package/dist/jsx/index.js.map +1 -1
- package/dist/jsx/index.mjs +2 -0
- package/dist/jsx/index.mjs.map +1 -1
- package/dist/jsx/index.native.js +11 -0
- package/dist/jsx/index.native.js.map +1 -1
- package/dist/jsx/setupGestureHandler.mjs +7 -4
- package/dist/jsx/setupGestureHandler.mjs.map +1 -1
- package/dist/jsx/setupGestureHandler.native.js +9 -4
- package/dist/jsx/setupGestureHandler.native.js.map +1 -1
- package/dist/jsx/useGestureHandlerPan.mjs +62 -9
- package/dist/jsx/useGestureHandlerPan.mjs.map +1 -1
- package/dist/jsx/useGestureHandlerPan.native.js +64 -8
- package/dist/jsx/useGestureHandlerPan.native.js.map +1 -1
- package/dist/jsx/useSheetScrollViewGestures.mjs +13 -3
- package/dist/jsx/useSheetScrollViewGestures.mjs.map +1 -1
- package/package.json +20 -20
- package/src/SheetImplementationCustom.tsx +79 -47
- package/src/SheetScrollView.tsx +61 -13
- package/src/gestureState.ts +22 -2
- package/src/index.ts +4 -0
- package/src/setupGestureHandler.ts +12 -3
- package/src/types.tsx +3 -0
- package/src/useGestureHandlerPan.tsx +64 -10
- package/src/useSheetScrollViewGestures.ts +17 -2
- package/types/SheetImplementationCustom.d.ts.map +1 -1
- package/types/SheetScrollView.d.ts.map +1 -1
- package/types/gestureState.d.ts.map +1 -1
- package/types/index.d.ts +1 -0
- package/types/index.d.ts.map +1 -1
- package/types/setupGestureHandler.d.ts.map +1 -1
- package/types/types.d.ts +1 -0
- package/types/types.d.ts.map +1 -1
- package/types/useGestureHandlerPan.d.ts.map +1 -1
- package/types/useSheetScrollViewGestures.d.ts +2 -1
- package/types/useSheetScrollViewGestures.d.ts.map +1 -1
|
@@ -32,6 +32,7 @@ var import_react = require("react");
|
|
|
32
32
|
var import_gestureState = require("./gestureState.native.js");
|
|
33
33
|
var import_keyboardAvoidance = require("./keyboardAvoidance.native.js");
|
|
34
34
|
var AT_TOP_THRESHOLD = 5;
|
|
35
|
+
var SCROLL_HANDOFF_THRESHOLD = 160;
|
|
35
36
|
function useGestureHandlerPan(config) {
|
|
36
37
|
var {
|
|
37
38
|
positions,
|
|
@@ -78,16 +79,45 @@ function useGestureHandlerPan(config) {
|
|
|
78
79
|
frozenMinY: 0,
|
|
79
80
|
frozenIsKeyboardVisible: false,
|
|
80
81
|
// whether pan gesture actually started (vs just a tap in onBegin)
|
|
81
|
-
panStarted: false
|
|
82
|
+
panStarted: false,
|
|
83
|
+
startedBelowTop: false,
|
|
84
|
+
upwardDragAfterTop: 0,
|
|
85
|
+
scrollUnlockedAfterTop: false,
|
|
86
|
+
keepScrollLockedAfterEnd: false
|
|
82
87
|
});
|
|
88
|
+
var unlockScrollTimer = (0, import_react.useRef)(null);
|
|
89
|
+
(0, import_react.useEffect)(function () {
|
|
90
|
+
return function () {
|
|
91
|
+
if (unlockScrollTimer.current) {
|
|
92
|
+
clearTimeout(unlockScrollTimer.current);
|
|
93
|
+
unlockScrollTimer.current = null;
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
}, []);
|
|
83
97
|
var onStart = (0, import_react.useCallback)(function () {
|
|
84
98
|
stopSpring();
|
|
85
99
|
}, [stopSpring]);
|
|
86
100
|
var onEnd = (0, import_react.useCallback)(function (closestPoint, animationOverride) {
|
|
87
|
-
var
|
|
101
|
+
var keepScrollLocked = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;
|
|
102
|
+
if (unlockScrollTimer.current) {
|
|
103
|
+
clearTimeout(unlockScrollTimer.current);
|
|
104
|
+
unlockScrollTimer.current = null;
|
|
105
|
+
}
|
|
88
106
|
setIsDragging(false);
|
|
89
107
|
scrollBridge.setParentDragging(false);
|
|
90
|
-
|
|
108
|
+
scrollBridge.lockScrollAtTop = false;
|
|
109
|
+
if (keepScrollLocked) {
|
|
110
|
+
var _scrollBridge_setScrollEnabled;
|
|
111
|
+
(_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 ? void 0 : _scrollBridge_setScrollEnabled.call(scrollBridge, false, 0);
|
|
112
|
+
unlockScrollTimer.current = setTimeout(function () {
|
|
113
|
+
var _scrollBridge_setScrollEnabled2;
|
|
114
|
+
unlockScrollTimer.current = null;
|
|
115
|
+
(_scrollBridge_setScrollEnabled2 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled2 === void 0 ? void 0 : _scrollBridge_setScrollEnabled2.call(scrollBridge, true);
|
|
116
|
+
}, 160);
|
|
117
|
+
} else {
|
|
118
|
+
var _scrollBridge_setScrollEnabled1;
|
|
119
|
+
(_scrollBridge_setScrollEnabled1 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled1 === void 0 ? void 0 : _scrollBridge_setScrollEnabled1.call(scrollBridge, true);
|
|
120
|
+
}
|
|
91
121
|
setPosition(closestPoint);
|
|
92
122
|
animateTo(closestPoint, animationOverride);
|
|
93
123
|
}, [setIsDragging, scrollBridge, setPosition, animateTo]);
|
|
@@ -119,6 +149,15 @@ function useGestureHandlerPan(config) {
|
|
|
119
149
|
gs.frozenPositions = [...positions];
|
|
120
150
|
gs.frozenMinY = minY;
|
|
121
151
|
gs.frozenIsKeyboardVisible = releaseConfigRef.current.isKeyboardVisible;
|
|
152
|
+
gs.startedBelowTop = !atTop;
|
|
153
|
+
gs.upwardDragAfterTop = 0;
|
|
154
|
+
gs.scrollUnlockedAfterTop = false;
|
|
155
|
+
gs.keepScrollLockedAfterEnd = false;
|
|
156
|
+
scrollBridge.lockScrollAtTop = false;
|
|
157
|
+
if (unlockScrollTimer.current) {
|
|
158
|
+
clearTimeout(unlockScrollTimer.current);
|
|
159
|
+
unlockScrollTimer.current = null;
|
|
160
|
+
}
|
|
122
161
|
if (!atTop) {
|
|
123
162
|
var _scrollBridge_setScrollEnabled;
|
|
124
163
|
(_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 ? void 0 : _scrollBridge_setScrollEnabled.call(scrollBridge, false, 0);
|
|
@@ -161,7 +200,17 @@ function useGestureHandlerPan(config) {
|
|
|
161
200
|
}
|
|
162
201
|
} else {
|
|
163
202
|
if (hasScrollableContent) {
|
|
164
|
-
|
|
203
|
+
if (gs.startedBelowTop && !gs.scrollUnlockedAfterTop) {
|
|
204
|
+
gs.upwardDragAfterTop += Math.max(0, -deltaY);
|
|
205
|
+
if (gs.upwardDragAfterTop >= SCROLL_HANDOFF_THRESHOLD) {
|
|
206
|
+
gs.scrollUnlockedAfterTop = true;
|
|
207
|
+
panHandles = false;
|
|
208
|
+
} else {
|
|
209
|
+
panHandles = true;
|
|
210
|
+
}
|
|
211
|
+
} else {
|
|
212
|
+
panHandles = false;
|
|
213
|
+
}
|
|
165
214
|
} else {
|
|
166
215
|
panHandles = true;
|
|
167
216
|
}
|
|
@@ -169,6 +218,7 @@ function useGestureHandlerPan(config) {
|
|
|
169
218
|
}
|
|
170
219
|
if (panHandles) {
|
|
171
220
|
var _scrollBridge_setScrollEnabled;
|
|
221
|
+
scrollBridge.lockScrollAtTop = gs.startedBelowTop && !gs.scrollUnlockedAfterTop;
|
|
172
222
|
var lockTo = isCurrentlyAtTop && isSwipingDown && gs.scrollEngaged ? void 0 : 0;
|
|
173
223
|
(_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 ? void 0 : _scrollBridge_setScrollEnabled.call(scrollBridge, false, lockTo);
|
|
174
224
|
gs.accumulatedOffset += deltaY;
|
|
@@ -178,18 +228,23 @@ function useGestureHandlerPan(config) {
|
|
|
178
228
|
scrollBridge.setParentDragging(newPosition > minY);
|
|
179
229
|
} else {
|
|
180
230
|
var _scrollBridge_setScrollEnabled1;
|
|
231
|
+
scrollBridge.lockScrollAtTop = false;
|
|
181
232
|
(_scrollBridge_setScrollEnabled1 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled1 === void 0 ? void 0 : _scrollBridge_setScrollEnabled1.call(scrollBridge, true);
|
|
233
|
+
scrollBridge.setParentDragging(false);
|
|
182
234
|
}
|
|
183
235
|
}).onEnd(function (event) {
|
|
184
236
|
var {
|
|
185
237
|
velocityY
|
|
186
238
|
} = event;
|
|
187
239
|
var currentPos = gs.startY + gs.accumulatedOffset;
|
|
188
|
-
|
|
240
|
+
var keepScrollLockedAfterEnd = gs.startedBelowTop && !gs.scrollUnlockedAfterTop;
|
|
241
|
+
scrollBridge.lockScrollAtTop = false;
|
|
242
|
+
scrollBridge.scrollLockY = keepScrollLockedAfterEnd ? 0 : void 0;
|
|
243
|
+
gs.keepScrollLockedAfterEnd = keepScrollLockedAfterEnd;
|
|
189
244
|
var snapPositions = gs.frozenPositions.length > 0 ? gs.frozenPositions : positions;
|
|
190
245
|
var snapMinY = gs.frozenPositions.length > 0 ? gs.frozenMinY : minY;
|
|
191
246
|
if (currentPos <= snapMinY + AT_TOP_THRESHOLD && scrollBridge.y > 0) {
|
|
192
|
-
onEnd(0);
|
|
247
|
+
onEnd(0, void 0, keepScrollLockedAfterEnd);
|
|
193
248
|
return;
|
|
194
249
|
}
|
|
195
250
|
var velocity = velocityY / 1e3;
|
|
@@ -205,9 +260,10 @@ function useGestureHandlerPan(config) {
|
|
|
205
260
|
isKeyboardVisible: gs.frozenIsKeyboardVisible,
|
|
206
261
|
isWeb: import_constants.isWeb
|
|
207
262
|
});
|
|
208
|
-
onEnd(closestPoint);
|
|
263
|
+
onEnd(closestPoint, void 0, keepScrollLockedAfterEnd);
|
|
209
264
|
}).onFinalize(function () {
|
|
210
|
-
scrollBridge.
|
|
265
|
+
scrollBridge.lockScrollAtTop = false;
|
|
266
|
+
scrollBridge.scrollLockY = gs.keepScrollLockedAfterEnd ? 0 : void 0;
|
|
211
267
|
if (gs.panStarted) {
|
|
212
268
|
setIsDragging(false);
|
|
213
269
|
} else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useGestureHandlerPan_exports","__export","useGestureHandlerPan","module","exports","import_constants","require","import_react","import_gestureState","import_keyboardAvoidance","AT_TOP_THRESHOLD","config","positions","frameSize","setPosition","animateTo","stopSpring","scrollBridge","setIsDragging","getCurrentPosition","resisted","disableDrag","isShowingInnerSheet","setAnimatedPosition","scrollGestureRef","gestureHandlerEnabled","isGestureHandlerEnabled","panGestureRef","useRef","_config_snapPointsMode","releaseConfigRef","dismissOnSnapToBottom","snapPointsMode","isKeyboardVisible","_config_snapPointsMode1","current","gestureStateRef","startY","lastPanTranslationY","accumulatedOffset","prevTranslationY","scrollEngaged","frozenPositions","frozenMinY","frozenIsKeyboardVisible","panStarted","onStart","useCallback","onEnd","closestPoint","animationOverride","
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useGestureHandlerPan_exports","__export","useGestureHandlerPan","module","exports","import_constants","require","import_react","import_gestureState","import_keyboardAvoidance","AT_TOP_THRESHOLD","SCROLL_HANDOFF_THRESHOLD","config","positions","frameSize","setPosition","animateTo","stopSpring","scrollBridge","setIsDragging","getCurrentPosition","resisted","disableDrag","isShowingInnerSheet","setAnimatedPosition","scrollGestureRef","gestureHandlerEnabled","isGestureHandlerEnabled","panGestureRef","useRef","_config_snapPointsMode","releaseConfigRef","dismissOnSnapToBottom","snapPointsMode","isKeyboardVisible","_config_snapPointsMode1","current","gestureStateRef","startY","lastPanTranslationY","accumulatedOffset","prevTranslationY","scrollEngaged","frozenPositions","frozenMinY","frozenIsKeyboardVisible","panStarted","startedBelowTop","upwardDragAfterTop","scrollUnlockedAfterTop","keepScrollLockedAfterEnd","unlockScrollTimer","useEffect","clearTimeout","onStart","useCallback","onEnd","closestPoint","animationOverride","keepScrollLocked","arguments","length","setParentDragging","lockScrollAtTop","_scrollBridge_setScrollEnabled","setScrollEnabled","call","setTimeout","_scrollBridge_setScrollEnabled2","_scrollBridge_setScrollEnabled1","panGesture","useMemo","Gesture","getGestureHandlerState","minY","gs","gesture","Pan","withRef","activeOffsetY","failOffsetX","shouldCancelWhenOutside","onBegin","pauseKeyboardHandler","pos","atTop","currentScrollY","y","initialPosition","onChange","event","translationY","isSwipingDown","deltaY","scrollY","currentPos","isCurrentlyAtTop","nodeIsScrolling","panHandles","hasScrollableContent","Math","max","lockTo","newPosition","paneY","velocityY","scrollLockY","snapPositions","snapMinY","velocity","projectedEnd","releaseConfig","getSheetReleasePosition","currentPosition","isWeb","onFinalize","runOnJS","simultaneousWithExternalGesture"],"sources":["../../src/useGestureHandlerPan.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -29,7 +29,8 @@ var import_react = require("react");
|
|
|
29
29
|
function useSheetScrollViewGestures({
|
|
30
30
|
scrollRef,
|
|
31
31
|
scrollBridge,
|
|
32
|
-
hasScrollableContent
|
|
32
|
+
hasScrollableContent,
|
|
33
|
+
onManualScroll
|
|
33
34
|
}) {
|
|
34
35
|
const state = (0, import_react.useRef)({
|
|
35
36
|
startY: 0,
|
|
@@ -40,6 +41,10 @@ function useSheetScrollViewGestures({
|
|
|
40
41
|
dys: [],
|
|
41
42
|
scrollYAtGestureStart: 0
|
|
42
43
|
});
|
|
44
|
+
const onManualScrollRef = (0, import_react.useRef)(onManualScroll);
|
|
45
|
+
(0, import_react.useEffect)(() => {
|
|
46
|
+
onManualScrollRef.current = onManualScroll;
|
|
47
|
+
}, [onManualScroll]);
|
|
43
48
|
(0, import_react.useEffect)(() => {
|
|
44
49
|
if (!scrollRef.current) return;
|
|
45
50
|
const controller = new AbortController();
|
|
@@ -56,6 +61,11 @@ function useSheetScrollViewGestures({
|
|
|
56
61
|
const enableScroll = () => {
|
|
57
62
|
node.style.overflowY = originalOverflow;
|
|
58
63
|
};
|
|
64
|
+
const setScrollTop = nextScrollY => {
|
|
65
|
+
if (node.scrollTop === nextScrollY) return;
|
|
66
|
+
node.scrollTop = nextScrollY;
|
|
67
|
+
onManualScrollRef.current?.(node, nextScrollY);
|
|
68
|
+
};
|
|
59
69
|
const handleTouchStart = e => {
|
|
60
70
|
const touch = e.touches[0];
|
|
61
71
|
if (!touch) return;
|
|
@@ -84,7 +94,7 @@ function useSheetScrollViewGestures({
|
|
|
84
94
|
if (dy === 0) return;
|
|
85
95
|
const isDraggingDown = dy > 0;
|
|
86
96
|
const currentScrollY = node.scrollTop;
|
|
87
|
-
const isPaneAtTop = scrollBridge.paneY <= scrollBridge.paneMinY + 5;
|
|
97
|
+
const isPaneAtTop = scrollBridge.isAtTop ?? scrollBridge.paneY <= scrollBridge.paneMinY + 5;
|
|
88
98
|
scrollBridge.y = currentScrollY;
|
|
89
99
|
let shouldPanOwn = false;
|
|
90
100
|
if (!isPaneAtTop) {
|
|
@@ -124,7 +134,7 @@ function useSheetScrollViewGestures({
|
|
|
124
134
|
const maxScrollY = node.scrollHeight - node.clientHeight;
|
|
125
135
|
const newScrollY = Math.max(0, Math.min(maxScrollY, currentScrollY + scrollDelta));
|
|
126
136
|
if (newScrollY !== currentScrollY) {
|
|
127
|
-
|
|
137
|
+
setScrollTop(newScrollY);
|
|
128
138
|
scrollBridge.y = newScrollY;
|
|
129
139
|
if (newScrollY > 0) scrollBridge.scrollStartY = -1;
|
|
130
140
|
}
|
|
@@ -74,8 +74,7 @@ const SheetImplementationCustom = React.forwardRef(function SheetImplementationC
|
|
|
74
74
|
} = state;
|
|
75
75
|
const openRef = React.useRef(open);
|
|
76
76
|
openRef.current = open;
|
|
77
|
-
const
|
|
78
|
-
const ref = useComposedRefs(forwardedRef, sheetRef, providerProps.contentRef);
|
|
77
|
+
const ref = useComposedRefs(forwardedRef, React.useRef(void 0), providerProps.contentRef);
|
|
79
78
|
const {
|
|
80
79
|
animationDriver
|
|
81
80
|
} = useConfiguration();
|
|
@@ -109,6 +108,11 @@ const SheetImplementationCustom = React.forwardRef(function SheetImplementationC
|
|
|
109
108
|
if (open && frameSize) stableFrameSize.current = frameSize;
|
|
110
109
|
}, [open, frameSize]);
|
|
111
110
|
const isWebKbSheet = isWeb && hasFit && moveOnKeyboardChange;
|
|
111
|
+
const isNativeKbFitSheet = !isWeb && hasFit && Boolean(moveOnKeyboardChange);
|
|
112
|
+
const preKeyboardFrameSize = React.useRef(0);
|
|
113
|
+
React.useEffect(() => {
|
|
114
|
+
if (isNativeKbFitSheet && open && !isKeyboardVisible && frameSize > 0) preKeyboardFrameSize.current = frameSize;
|
|
115
|
+
}, [isNativeKbFitSheet, open, isKeyboardVisible, frameSize]);
|
|
112
116
|
const effScreenSize = isWebKbSheet ? getStableViewportHeight() : screenSize;
|
|
113
117
|
const effectiveFrameSize = open ? frameSize : stableFrameSize.current || frameSize;
|
|
114
118
|
const positions = React.useMemo(() => snapPoints.map(point => getYPositions(snapPointsMode, point, effScreenSize, effectiveFrameSize)), [effScreenSize, effectiveFrameSize, snapPoints, snapPointsMode]);
|
|
@@ -142,11 +146,10 @@ const SheetImplementationCustom = React.forwardRef(function SheetImplementationC
|
|
|
142
146
|
screenSize: effScreenSize,
|
|
143
147
|
sheetY: position >= 0 ? activePositions[position] : void 0
|
|
144
148
|
});
|
|
145
|
-
const keyboardStableFrameHeight = isWebKbSheet && isKeyboardVisible && frameSize > 0 ? frameSize : 0;
|
|
149
|
+
const keyboardStableFrameHeight = isWebKbSheet && isKeyboardVisible && frameSize > 0 ? frameSize : isNativeKbFitSheet && isKeyboardVisible && preKeyboardFrameSize.current > 0 ? preKeyboardFrameSize.current : 0;
|
|
146
150
|
const {
|
|
147
151
|
useAnimatedNumber,
|
|
148
|
-
useAnimatedNumberStyle
|
|
149
|
-
useAnimatedNumberReaction
|
|
152
|
+
useAnimatedNumberStyle
|
|
150
153
|
} = animationDriver;
|
|
151
154
|
const AnimatedView = animationDriver.View ?? View;
|
|
152
155
|
useIsomorphicLayoutEffect(() => {
|
|
@@ -168,30 +171,46 @@ const SheetImplementationCustom = React.forwardRef(function SheetImplementationC
|
|
|
168
171
|
if (controller?.skipNextAnimation) skipAdaptAnimation.current = true;
|
|
169
172
|
const hasScrollView = React.useRef(false);
|
|
170
173
|
const opacityFallbackTimer = React.useRef(null);
|
|
171
|
-
|
|
172
|
-
value: animatedNumber,
|
|
173
|
-
hostRef: sheetRef
|
|
174
|
-
}, React.useCallback(value => {
|
|
174
|
+
const syncAnimatedPosition = useEvent(value => {
|
|
175
175
|
at.current = value;
|
|
176
176
|
scrollBridge.paneY = value;
|
|
177
177
|
const minY = activePositions[0];
|
|
178
178
|
const wasAtTop = scrollBridge.isAtTop;
|
|
179
179
|
const nowAtTop = value <= minY + 5;
|
|
180
|
-
if (wasAtTop
|
|
181
|
-
|
|
182
|
-
|
|
180
|
+
if (wasAtTop === nowAtTop) return;
|
|
181
|
+
scrollBridge.isAtTop = nowAtTop;
|
|
182
|
+
if (nowAtTop) {
|
|
183
|
+
if (scrollBridge.lockScrollAtTop) {
|
|
183
184
|
if (scrollBridge.y > 0) {
|
|
184
185
|
scrollBridge.forceScrollTo?.(0);
|
|
185
186
|
scrollBridge.y = 0;
|
|
186
187
|
}
|
|
187
|
-
scrollBridge.scrollLockY = void 0;
|
|
188
|
-
scrollBridge.setScrollEnabled?.(true);
|
|
189
|
-
} else {
|
|
190
188
|
scrollBridge.scrollLockY = 0;
|
|
191
|
-
scrollBridge.setScrollEnabled?.(false);
|
|
189
|
+
scrollBridge.setScrollEnabled?.(false, 0);
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
if (scrollBridge.y > 0) {
|
|
193
|
+
scrollBridge.forceScrollTo?.(0);
|
|
194
|
+
scrollBridge.y = 0;
|
|
192
195
|
}
|
|
196
|
+
scrollBridge.scrollLockY = void 0;
|
|
197
|
+
scrollBridge.setScrollEnabled?.(true);
|
|
198
|
+
} else {
|
|
199
|
+
scrollBridge.scrollLockY = 0;
|
|
200
|
+
scrollBridge.setScrollEnabled?.(false);
|
|
193
201
|
}
|
|
194
|
-
}
|
|
202
|
+
});
|
|
203
|
+
const setAnimatedPositionDirect = useEvent(value => {
|
|
204
|
+
syncAnimatedPosition(value);
|
|
205
|
+
animatedNumber.setValue(value, {
|
|
206
|
+
type: "direct"
|
|
207
|
+
});
|
|
208
|
+
});
|
|
209
|
+
const getAnimatedPosition = useEvent(() => {
|
|
210
|
+
const value = animatedNumber.getValue();
|
|
211
|
+
syncAnimatedPosition(value);
|
|
212
|
+
return value;
|
|
213
|
+
});
|
|
195
214
|
function stopSpring() {
|
|
196
215
|
animatedNumber.stop();
|
|
197
216
|
if (scrollBridge.onFinishAnimate) {
|
|
@@ -212,6 +231,7 @@ const SheetImplementationCustom = React.forwardRef(function SheetImplementationC
|
|
|
212
231
|
opacityFallbackTimer.current = null;
|
|
213
232
|
}
|
|
214
233
|
const animationCompleteCallback = () => {
|
|
234
|
+
syncAnimatedPosition(toValue);
|
|
215
235
|
if (opacityFallbackTimer.current) {
|
|
216
236
|
clearTimeout(opacityFallbackTimer.current);
|
|
217
237
|
opacityFallbackTimer.current = null;
|
|
@@ -248,6 +268,7 @@ const SheetImplementationCustom = React.forwardRef(function SheetImplementationC
|
|
|
248
268
|
type: "timing",
|
|
249
269
|
duration: 0
|
|
250
270
|
}, () => {
|
|
271
|
+
syncAnimatedPosition(screenSize);
|
|
251
272
|
setTimeout(() => {
|
|
252
273
|
setDisableAnimation(false);
|
|
253
274
|
}, 10);
|
|
@@ -346,7 +367,7 @@ const SheetImplementationCustom = React.forwardRef(function SheetImplementationC
|
|
|
346
367
|
const grant = () => {
|
|
347
368
|
setPanning(true);
|
|
348
369
|
stopSpring();
|
|
349
|
-
startY =
|
|
370
|
+
startY = getAnimatedPosition();
|
|
350
371
|
};
|
|
351
372
|
let isExternalDrag = false;
|
|
352
373
|
scrollBridge.startPanDrag = () => {
|
|
@@ -358,10 +379,7 @@ const SheetImplementationCustom = React.forwardRef(function SheetImplementationC
|
|
|
358
379
|
isExternalDrag = true;
|
|
359
380
|
grant();
|
|
360
381
|
}
|
|
361
|
-
|
|
362
|
-
animatedNumber.setValue(resisted(to, minY), {
|
|
363
|
-
type: "direct"
|
|
364
|
-
});
|
|
382
|
+
setAnimatedPositionDirect(resisted(dy + startY, minY));
|
|
365
383
|
};
|
|
366
384
|
scrollBridge.release = release;
|
|
367
385
|
scrollBridge.snapToPosition = positionIndex => {
|
|
@@ -379,9 +397,7 @@ const SheetImplementationCustom = React.forwardRef(function SheetImplementationC
|
|
|
379
397
|
}) => {
|
|
380
398
|
const to = resisted(dy + startY, minY);
|
|
381
399
|
if (to <= minY) scrollBridge.setParentDragging(false);else scrollBridge.setParentDragging(true);
|
|
382
|
-
|
|
383
|
-
type: "direct"
|
|
384
|
-
});
|
|
400
|
+
setAnimatedPositionDirect(to);
|
|
385
401
|
},
|
|
386
402
|
onPanResponderEnd: finish,
|
|
387
403
|
onPanResponderTerminate: finish,
|
|
@@ -426,16 +442,11 @@ const SheetImplementationCustom = React.forwardRef(function SheetImplementationC
|
|
|
426
442
|
stopSpring,
|
|
427
443
|
scrollBridge,
|
|
428
444
|
setIsDragging,
|
|
429
|
-
getCurrentPosition:
|
|
445
|
+
getCurrentPosition: getAnimatedPosition,
|
|
430
446
|
resisted,
|
|
431
447
|
disableDrag,
|
|
432
448
|
isShowingInnerSheet,
|
|
433
|
-
setAnimatedPosition:
|
|
434
|
-
at.current = val;
|
|
435
|
-
animatedNumber.setValue(val, {
|
|
436
|
-
type: "direct"
|
|
437
|
-
});
|
|
438
|
-
},
|
|
449
|
+
setAnimatedPosition: setAnimatedPositionDirect,
|
|
439
450
|
dismissOnSnapToBottom,
|
|
440
451
|
snapPointsMode,
|
|
441
452
|
isKeyboardVisible,
|