@hanzogui/sheet 3.0.2 → 7.0.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/controller/index.cjs +1 -1
- package/controller/index.native.cjs +1 -1
- package/next.md +2 -2
- package/package.json +24 -24
- package/setup-gesture-handler/index.cjs +1 -1
- package/setup-gesture-handler/index.native.cjs +1 -1
- package/src/Sheet.tsx +3 -3
- package/src/SheetController.tsx +4 -1
- package/src/SheetImplementationCustom.tsx +24 -13
- package/src/createSheet.tsx +9 -9
- package/src/setupGestureHandler.ts +2 -2
- package/src/useSheetController.tsx +4 -0
- package/src/useSheetProviderProps.tsx +4 -4
- package/types/Sheet.d.ts +51 -51
- package/types/SheetContext.d.ts +8 -8
- package/types/SheetController.d.ts +1 -1
- package/types/SheetImplementationCustom.d.ts +4 -4
- package/types/SheetScrollView.d.ts +10 -10
- package/types/createSheet.d.ts +39 -39
- package/types/gestureState.d.ts +3 -3
- package/types/setupGestureHandler.d.ts +1 -1
- package/types/types.d.ts +4 -4
- package/types/useSheetController.d.ts +3 -0
- package/types/useSheetProviderProps.d.ts +4 -4
- package/dist/cjs/GestureDetectorWrapper.cjs +0 -48
- package/dist/cjs/GestureDetectorWrapper.native.js +0 -53
- package/dist/cjs/GestureDetectorWrapper.native.js.map +0 -1
- package/dist/cjs/GestureSheetContext.cjs +0 -52
- package/dist/cjs/GestureSheetContext.native.js +0 -56
- package/dist/cjs/GestureSheetContext.native.js.map +0 -1
- package/dist/cjs/Sheet.cjs +0 -117
- package/dist/cjs/Sheet.native.js +0 -120
- package/dist/cjs/Sheet.native.js.map +0 -1
- package/dist/cjs/SheetContext.cjs +0 -32
- package/dist/cjs/SheetContext.native.js +0 -35
- package/dist/cjs/SheetContext.native.js.map +0 -1
- package/dist/cjs/SheetController.cjs +0 -65
- package/dist/cjs/SheetController.native.js +0 -71
- package/dist/cjs/SheetController.native.js.map +0 -1
- package/dist/cjs/SheetImplementationCustom.cjs +0 -472
- package/dist/cjs/SheetImplementationCustom.native.js +0 -524
- package/dist/cjs/SheetImplementationCustom.native.js.map +0 -1
- package/dist/cjs/SheetScrollView.cjs +0 -180
- package/dist/cjs/SheetScrollView.native.js +0 -197
- package/dist/cjs/SheetScrollView.native.js.map +0 -1
- package/dist/cjs/constants.cjs +0 -32
- package/dist/cjs/constants.native.js +0 -35
- package/dist/cjs/constants.native.js.map +0 -1
- package/dist/cjs/contexts.cjs +0 -42
- package/dist/cjs/contexts.native.js +0 -45
- package/dist/cjs/contexts.native.js.map +0 -1
- package/dist/cjs/controller.cjs +0 -29
- package/dist/cjs/controller.native.js +0 -32
- package/dist/cjs/controller.native.js.map +0 -1
- package/dist/cjs/createSheet.cjs +0 -191
- package/dist/cjs/createSheet.native.js +0 -208
- package/dist/cjs/createSheet.native.js.map +0 -1
- package/dist/cjs/gestureState.cjs +0 -39
- package/dist/cjs/gestureState.native.js +0 -42
- package/dist/cjs/gestureState.native.js.map +0 -1
- package/dist/cjs/helpers.cjs +0 -31
- package/dist/cjs/helpers.native.js +0 -35
- package/dist/cjs/helpers.native.js.map +0 -1
- package/dist/cjs/index.cjs +0 -28
- package/dist/cjs/index.native.js +0 -31
- package/dist/cjs/index.native.js.map +0 -1
- package/dist/cjs/nativeSheet.cjs +0 -87
- package/dist/cjs/nativeSheet.native.js +0 -101
- package/dist/cjs/nativeSheet.native.js.map +0 -1
- package/dist/cjs/setupGestureHandler.cjs +0 -46
- package/dist/cjs/setupGestureHandler.native.js +0 -50
- package/dist/cjs/setupGestureHandler.native.js.map +0 -1
- package/dist/cjs/types.cjs +0 -16
- package/dist/cjs/types.native.js +0 -19
- package/dist/cjs/types.native.js.map +0 -1
- package/dist/cjs/useGestureHandlerPan.cjs +0 -136
- package/dist/cjs/useGestureHandlerPan.native.js +0 -145
- package/dist/cjs/useGestureHandlerPan.native.js.map +0 -1
- package/dist/cjs/useKeyboardControllerSheet.cjs +0 -38
- package/dist/cjs/useKeyboardControllerSheet.native.js +0 -114
- package/dist/cjs/useKeyboardControllerSheet.native.js.map +0 -1
- package/dist/cjs/useSheet.cjs +0 -27
- package/dist/cjs/useSheet.native.js +0 -32
- package/dist/cjs/useSheet.native.js.map +0 -1
- package/dist/cjs/useSheetController.cjs +0 -50
- package/dist/cjs/useSheetController.native.js +0 -53
- package/dist/cjs/useSheetController.native.js.map +0 -1
- package/dist/cjs/useSheetOffscreenSize.cjs +0 -51
- package/dist/cjs/useSheetOffscreenSize.native.js +0 -61
- package/dist/cjs/useSheetOffscreenSize.native.js.map +0 -1
- package/dist/cjs/useSheetOpenState.cjs +0 -49
- package/dist/cjs/useSheetOpenState.native.js +0 -56
- package/dist/cjs/useSheetOpenState.native.js.map +0 -1
- package/dist/cjs/useSheetProviderProps.cjs +0 -133
- package/dist/cjs/useSheetProviderProps.native.js +0 -153
- package/dist/cjs/useSheetProviderProps.native.js.map +0 -1
- package/dist/cjs/useSheetScrollViewGestures.cjs +0 -123
- package/dist/cjs/useSheetScrollViewGestures.native.js +0 -110
- package/dist/cjs/useSheetScrollViewGestures.native.js.map +0 -1
- package/dist/esm/GestureDetectorWrapper.mjs +0 -25
- package/dist/esm/GestureDetectorWrapper.mjs.map +0 -1
- package/dist/esm/GestureDetectorWrapper.native.js +0 -27
- package/dist/esm/GestureDetectorWrapper.native.js.map +0 -1
- package/dist/esm/GestureSheetContext.mjs +0 -28
- package/dist/esm/GestureSheetContext.mjs.map +0 -1
- package/dist/esm/GestureSheetContext.native.js +0 -29
- package/dist/esm/GestureSheetContext.native.js.map +0 -1
- package/dist/esm/Sheet.mjs +0 -89
- package/dist/esm/Sheet.mjs.map +0 -1
- package/dist/esm/Sheet.native.js +0 -89
- package/dist/esm/Sheet.native.js.map +0 -1
- package/dist/esm/SheetContext.mjs +0 -6
- package/dist/esm/SheetContext.mjs.map +0 -1
- package/dist/esm/SheetContext.native.js +0 -6
- package/dist/esm/SheetContext.native.js.map +0 -1
- package/dist/esm/SheetController.mjs +0 -31
- package/dist/esm/SheetController.mjs.map +0 -1
- package/dist/esm/SheetController.native.js +0 -34
- package/dist/esm/SheetController.native.js.map +0 -1
- package/dist/esm/SheetImplementationCustom.mjs +0 -437
- package/dist/esm/SheetImplementationCustom.mjs.map +0 -1
- package/dist/esm/SheetImplementationCustom.native.js +0 -487
- package/dist/esm/SheetImplementationCustom.native.js.map +0 -1
- package/dist/esm/SheetScrollView.mjs +0 -146
- package/dist/esm/SheetScrollView.mjs.map +0 -1
- package/dist/esm/SheetScrollView.native.js +0 -160
- package/dist/esm/SheetScrollView.native.js.map +0 -1
- package/dist/esm/constants.mjs +0 -6
- package/dist/esm/constants.mjs.map +0 -1
- package/dist/esm/constants.native.js +0 -6
- package/dist/esm/constants.native.js.map +0 -1
- package/dist/esm/contexts.mjs +0 -7
- package/dist/esm/contexts.mjs.map +0 -1
- package/dist/esm/contexts.native.js +0 -7
- package/dist/esm/contexts.native.js.map +0 -1
- package/dist/esm/controller.mjs +0 -4
- package/dist/esm/controller.mjs.map +0 -1
- package/dist/esm/controller.native.js +0 -4
- package/dist/esm/controller.native.js.map +0 -1
- package/dist/esm/createSheet.mjs +0 -168
- package/dist/esm/createSheet.mjs.map +0 -1
- package/dist/esm/createSheet.native.js +0 -182
- package/dist/esm/createSheet.native.js.map +0 -1
- package/dist/esm/gestureState.mjs +0 -13
- package/dist/esm/gestureState.mjs.map +0 -1
- package/dist/esm/gestureState.native.js +0 -13
- package/dist/esm/gestureState.native.js.map +0 -1
- package/dist/esm/helpers.mjs +0 -8
- package/dist/esm/helpers.mjs.map +0 -1
- package/dist/esm/helpers.native.js +0 -9
- package/dist/esm/helpers.native.js.map +0 -1
- package/dist/esm/index.js +0 -12
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/index.mjs +0 -12
- package/dist/esm/index.mjs.map +0 -1
- package/dist/esm/index.native.js +0 -12
- package/dist/esm/index.native.js.map +0 -1
- package/dist/esm/nativeSheet.mjs +0 -63
- package/dist/esm/nativeSheet.mjs.map +0 -1
- package/dist/esm/nativeSheet.native.js +0 -74
- package/dist/esm/nativeSheet.native.js.map +0 -1
- package/dist/esm/setupGestureHandler.mjs +0 -22
- package/dist/esm/setupGestureHandler.mjs.map +0 -1
- package/dist/esm/setupGestureHandler.native.js +0 -23
- package/dist/esm/setupGestureHandler.native.js.map +0 -1
- package/dist/esm/types.mjs +0 -2
- package/dist/esm/types.mjs.map +0 -1
- package/dist/esm/types.native.js +0 -2
- package/dist/esm/types.native.js.map +0 -1
- package/dist/esm/useGestureHandlerPan.mjs +0 -113
- package/dist/esm/useGestureHandlerPan.mjs.map +0 -1
- package/dist/esm/useGestureHandlerPan.native.js +0 -119
- package/dist/esm/useGestureHandlerPan.native.js.map +0 -1
- package/dist/esm/useKeyboardControllerSheet.mjs +0 -15
- package/dist/esm/useKeyboardControllerSheet.mjs.map +0 -1
- package/dist/esm/useKeyboardControllerSheet.native.js +0 -88
- package/dist/esm/useKeyboardControllerSheet.native.js.map +0 -1
- package/dist/esm/useSheet.mjs +0 -4
- package/dist/esm/useSheet.mjs.map +0 -1
- package/dist/esm/useSheet.native.js +0 -6
- package/dist/esm/useSheet.native.js.map +0 -1
- package/dist/esm/useSheetController.mjs +0 -15
- package/dist/esm/useSheetController.mjs.map +0 -1
- package/dist/esm/useSheetController.native.js +0 -15
- package/dist/esm/useSheetController.native.js.map +0 -1
- package/dist/esm/useSheetOffscreenSize.mjs +0 -28
- package/dist/esm/useSheetOffscreenSize.mjs.map +0 -1
- package/dist/esm/useSheetOffscreenSize.native.js +0 -35
- package/dist/esm/useSheetOffscreenSize.native.js.map +0 -1
- package/dist/esm/useSheetOpenState.mjs +0 -26
- package/dist/esm/useSheetOpenState.mjs.map +0 -1
- package/dist/esm/useSheetOpenState.native.js +0 -30
- package/dist/esm/useSheetOpenState.native.js.map +0 -1
- package/dist/esm/useSheetProviderProps.mjs +0 -99
- package/dist/esm/useSheetProviderProps.mjs.map +0 -1
- package/dist/esm/useSheetProviderProps.native.js +0 -116
- package/dist/esm/useSheetProviderProps.native.js.map +0 -1
- package/dist/esm/useSheetScrollViewGestures.mjs +0 -100
- package/dist/esm/useSheetScrollViewGestures.mjs.map +0 -1
- package/dist/esm/useSheetScrollViewGestures.native.js +0 -84
- package/dist/esm/useSheetScrollViewGestures.native.js.map +0 -1
- package/dist/jsx/GestureDetectorWrapper.mjs +0 -25
- package/dist/jsx/GestureDetectorWrapper.mjs.map +0 -1
- package/dist/jsx/GestureDetectorWrapper.native.js +0 -53
- package/dist/jsx/GestureDetectorWrapper.native.js.map +0 -1
- package/dist/jsx/GestureSheetContext.mjs +0 -28
- package/dist/jsx/GestureSheetContext.mjs.map +0 -1
- package/dist/jsx/GestureSheetContext.native.js +0 -56
- package/dist/jsx/GestureSheetContext.native.js.map +0 -1
- package/dist/jsx/Sheet.mjs +0 -89
- package/dist/jsx/Sheet.mjs.map +0 -1
- package/dist/jsx/Sheet.native.js +0 -120
- package/dist/jsx/Sheet.native.js.map +0 -1
- package/dist/jsx/SheetContext.mjs +0 -6
- package/dist/jsx/SheetContext.mjs.map +0 -1
- package/dist/jsx/SheetContext.native.js +0 -35
- package/dist/jsx/SheetContext.native.js.map +0 -1
- package/dist/jsx/SheetController.mjs +0 -31
- package/dist/jsx/SheetController.mjs.map +0 -1
- package/dist/jsx/SheetController.native.js +0 -71
- package/dist/jsx/SheetController.native.js.map +0 -1
- package/dist/jsx/SheetImplementationCustom.mjs +0 -437
- package/dist/jsx/SheetImplementationCustom.mjs.map +0 -1
- package/dist/jsx/SheetImplementationCustom.native.js +0 -524
- package/dist/jsx/SheetImplementationCustom.native.js.map +0 -1
- package/dist/jsx/SheetScrollView.mjs +0 -146
- package/dist/jsx/SheetScrollView.mjs.map +0 -1
- package/dist/jsx/SheetScrollView.native.js +0 -197
- package/dist/jsx/SheetScrollView.native.js.map +0 -1
- package/dist/jsx/constants.mjs +0 -6
- package/dist/jsx/constants.mjs.map +0 -1
- package/dist/jsx/constants.native.js +0 -35
- package/dist/jsx/constants.native.js.map +0 -1
- package/dist/jsx/contexts.mjs +0 -7
- package/dist/jsx/contexts.mjs.map +0 -1
- package/dist/jsx/contexts.native.js +0 -45
- package/dist/jsx/contexts.native.js.map +0 -1
- package/dist/jsx/controller.mjs +0 -4
- package/dist/jsx/controller.mjs.map +0 -1
- package/dist/jsx/controller.native.js +0 -32
- package/dist/jsx/controller.native.js.map +0 -1
- package/dist/jsx/createSheet.mjs +0 -168
- package/dist/jsx/createSheet.mjs.map +0 -1
- package/dist/jsx/createSheet.native.js +0 -208
- package/dist/jsx/createSheet.native.js.map +0 -1
- package/dist/jsx/gestureState.mjs +0 -13
- package/dist/jsx/gestureState.mjs.map +0 -1
- package/dist/jsx/gestureState.native.js +0 -42
- package/dist/jsx/gestureState.native.js.map +0 -1
- package/dist/jsx/helpers.mjs +0 -8
- package/dist/jsx/helpers.mjs.map +0 -1
- package/dist/jsx/helpers.native.js +0 -35
- package/dist/jsx/helpers.native.js.map +0 -1
- package/dist/jsx/index.js +0 -12
- package/dist/jsx/index.js.map +0 -1
- package/dist/jsx/index.mjs +0 -12
- package/dist/jsx/index.mjs.map +0 -1
- package/dist/jsx/index.native.js +0 -31
- package/dist/jsx/index.native.js.map +0 -1
- package/dist/jsx/nativeSheet.mjs +0 -63
- package/dist/jsx/nativeSheet.mjs.map +0 -1
- package/dist/jsx/nativeSheet.native.js +0 -101
- package/dist/jsx/nativeSheet.native.js.map +0 -1
- package/dist/jsx/setupGestureHandler.mjs +0 -22
- package/dist/jsx/setupGestureHandler.mjs.map +0 -1
- package/dist/jsx/setupGestureHandler.native.js +0 -50
- package/dist/jsx/setupGestureHandler.native.js.map +0 -1
- package/dist/jsx/types.mjs +0 -2
- package/dist/jsx/types.mjs.map +0 -1
- package/dist/jsx/types.native.js +0 -19
- package/dist/jsx/types.native.js.map +0 -1
- package/dist/jsx/useGestureHandlerPan.mjs +0 -113
- package/dist/jsx/useGestureHandlerPan.mjs.map +0 -1
- package/dist/jsx/useGestureHandlerPan.native.js +0 -145
- package/dist/jsx/useGestureHandlerPan.native.js.map +0 -1
- package/dist/jsx/useKeyboardControllerSheet.mjs +0 -15
- package/dist/jsx/useKeyboardControllerSheet.mjs.map +0 -1
- package/dist/jsx/useKeyboardControllerSheet.native.js +0 -114
- package/dist/jsx/useKeyboardControllerSheet.native.js.map +0 -1
- package/dist/jsx/useSheet.mjs +0 -4
- package/dist/jsx/useSheet.mjs.map +0 -1
- package/dist/jsx/useSheet.native.js +0 -32
- package/dist/jsx/useSheet.native.js.map +0 -1
- package/dist/jsx/useSheetController.mjs +0 -15
- package/dist/jsx/useSheetController.mjs.map +0 -1
- package/dist/jsx/useSheetController.native.js +0 -53
- package/dist/jsx/useSheetController.native.js.map +0 -1
- package/dist/jsx/useSheetOffscreenSize.mjs +0 -28
- package/dist/jsx/useSheetOffscreenSize.mjs.map +0 -1
- package/dist/jsx/useSheetOffscreenSize.native.js +0 -61
- package/dist/jsx/useSheetOffscreenSize.native.js.map +0 -1
- package/dist/jsx/useSheetOpenState.mjs +0 -26
- package/dist/jsx/useSheetOpenState.mjs.map +0 -1
- package/dist/jsx/useSheetOpenState.native.js +0 -56
- package/dist/jsx/useSheetOpenState.native.js.map +0 -1
- package/dist/jsx/useSheetProviderProps.mjs +0 -99
- package/dist/jsx/useSheetProviderProps.mjs.map +0 -1
- package/dist/jsx/useSheetProviderProps.native.js +0 -153
- package/dist/jsx/useSheetProviderProps.native.js.map +0 -1
- package/dist/jsx/useSheetScrollViewGestures.mjs +0 -100
- package/dist/jsx/useSheetScrollViewGestures.mjs.map +0 -1
- package/dist/jsx/useSheetScrollViewGestures.native.js +0 -110
- package/dist/jsx/useSheetScrollViewGestures.native.js.map +0 -1
|
@@ -1,487 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { ProvideAdaptContext, useAdaptContext } from "@hanzogui/adapt";
|
|
3
|
-
import { AnimatePresence } from "@hanzogui/animate-presence";
|
|
4
|
-
import { useComposedRefs } from "@hanzogui/compose-refs";
|
|
5
|
-
import { isWeb, useIsomorphicLayoutEffect } from "@hanzogui/constants";
|
|
6
|
-
import { LayoutMeasurementController, View as GuiView, useConfiguration, useDidFinishSSR, useEvent, useThemeName } from "@hanzogui/core";
|
|
7
|
-
import { getSafeArea } from "@hanzogui/native";
|
|
8
|
-
import { needsPortalRepropagation, Portal } from "@hanzogui/portal";
|
|
9
|
-
import React, { useState } from "react";
|
|
10
|
-
import { Dimensions, PanResponder, View } from "react-native";
|
|
11
|
-
import { ParentSheetContext, SheetInsideSheetContext } from "./contexts.native.js";
|
|
12
|
-
import { GestureDetectorWrapper } from "./GestureDetectorWrapper.native.js";
|
|
13
|
-
import { GestureSheetProvider } from "./GestureSheetContext.native.js";
|
|
14
|
-
import { resisted } from "./helpers.native.js";
|
|
15
|
-
import { SheetProvider } from "./SheetContext.native.js";
|
|
16
|
-
import { useGestureHandlerPan } from "./useGestureHandlerPan.native.js";
|
|
17
|
-
import { useKeyboardControllerSheet } from "./useKeyboardControllerSheet.native.js";
|
|
18
|
-
import { useSheetOpenState } from "./useSheetOpenState.native.js";
|
|
19
|
-
import { useSheetProviderProps } from "./useSheetProviderProps.native.js";
|
|
20
|
-
var hiddenSize = 10000.1,
|
|
21
|
-
_cachedSafeAreaTop;
|
|
22
|
-
function getSafeAreaTopInset() {
|
|
23
|
-
return _cachedSafeAreaTop !== void 0 || (_cachedSafeAreaTop = getSafeArea().getInsets().top), _cachedSafeAreaTop;
|
|
24
|
-
}
|
|
25
|
-
var relativeDimensionTo = isWeb ? "window" : "screen",
|
|
26
|
-
SheetImplementationCustom = /* @__PURE__ */React.forwardRef(function (props, forwardedRef) {
|
|
27
|
-
var parentSheet = React.useContext(ParentSheetContext),
|
|
28
|
-
{
|
|
29
|
-
transition,
|
|
30
|
-
transitionConfig: transitionConfigProp,
|
|
31
|
-
modal = !1,
|
|
32
|
-
zIndex = parentSheet.zIndex + 1,
|
|
33
|
-
moveOnKeyboardChange = !1,
|
|
34
|
-
unmountChildrenWhenHidden = !1,
|
|
35
|
-
portalProps,
|
|
36
|
-
containerComponent: ContainerComponent = React.Fragment,
|
|
37
|
-
onAnimationComplete
|
|
38
|
-
} = props,
|
|
39
|
-
state = useSheetOpenState(props),
|
|
40
|
-
[overlayComponent, setOverlayComponent] = React.useState(null),
|
|
41
|
-
providerProps = useSheetProviderProps(props, state, {
|
|
42
|
-
onOverlayComponent: setOverlayComponent
|
|
43
|
-
}),
|
|
44
|
-
{
|
|
45
|
-
frameSize,
|
|
46
|
-
setFrameSize,
|
|
47
|
-
snapPoints,
|
|
48
|
-
snapPointsMode,
|
|
49
|
-
hasFit,
|
|
50
|
-
position,
|
|
51
|
-
setPosition,
|
|
52
|
-
scrollBridge,
|
|
53
|
-
screenSize,
|
|
54
|
-
setMaxContentSize,
|
|
55
|
-
maxSnapPoint
|
|
56
|
-
} = providerProps,
|
|
57
|
-
{
|
|
58
|
-
open,
|
|
59
|
-
controller,
|
|
60
|
-
isHidden
|
|
61
|
-
} = state,
|
|
62
|
-
openRef = React.useRef(open);
|
|
63
|
-
openRef.current = open;
|
|
64
|
-
var sheetRef = React.useRef(void 0),
|
|
65
|
-
ref = useComposedRefs(forwardedRef, sheetRef, providerProps.contentRef),
|
|
66
|
-
{
|
|
67
|
-
animationDriver
|
|
68
|
-
} = useConfiguration();
|
|
69
|
-
if (!animationDriver) throw new Error("Sheet requires an animation driver to be set");
|
|
70
|
-
var transitionConfig = function () {
|
|
71
|
-
var _animationDriver_animations;
|
|
72
|
-
if (transitionConfigProp) return transitionConfigProp;
|
|
73
|
-
var [animationProp, animationPropConfig] = transition ? Array.isArray(transition) ? transition : [transition] : [];
|
|
74
|
-
return animationProp && !((_animationDriver_animations = animationDriver.animations) === null || _animationDriver_animations === void 0) && _animationDriver_animations[animationProp] ? {
|
|
75
|
-
...animationDriver.animations[animationProp],
|
|
76
|
-
...animationPropConfig
|
|
77
|
-
} : null;
|
|
78
|
-
}(),
|
|
79
|
-
[isShowingInnerSheet, setIsShowingInnerSheet] = React.useState(!1),
|
|
80
|
-
shouldHideParentSheet = !isWeb && modal && isShowingInnerSheet && needsPortalRepropagation(),
|
|
81
|
-
sheetInsideSheet = React.useContext(SheetInsideSheetContext),
|
|
82
|
-
onInnerSheet = React.useCallback(function (hasChild) {
|
|
83
|
-
setIsShowingInnerSheet(hasChild);
|
|
84
|
-
}, []),
|
|
85
|
-
stableFrameSize = React.useRef(frameSize);
|
|
86
|
-
React.useEffect(function () {
|
|
87
|
-
open && frameSize && (stableFrameSize.current = frameSize);
|
|
88
|
-
}, [open, frameSize]);
|
|
89
|
-
var effectiveFrameSize = open ? frameSize : stableFrameSize.current || frameSize,
|
|
90
|
-
positions = React.useMemo(function () {
|
|
91
|
-
return snapPoints.map(function (point) {
|
|
92
|
-
return getYPositions(snapPointsMode, point, screenSize, effectiveFrameSize);
|
|
93
|
-
});
|
|
94
|
-
}, [screenSize, effectiveFrameSize, snapPoints, snapPointsMode]),
|
|
95
|
-
{
|
|
96
|
-
keyboardHeight,
|
|
97
|
-
isKeyboardVisible,
|
|
98
|
-
dismissKeyboard,
|
|
99
|
-
pauseKeyboardHandler,
|
|
100
|
-
flushPendingHide
|
|
101
|
-
} = useKeyboardControllerSheet({
|
|
102
|
-
enabled: !isWeb && !!moveOnKeyboardChange
|
|
103
|
-
}),
|
|
104
|
-
[isDragging, setIsDragging_] = React.useState(!1),
|
|
105
|
-
isDraggingRef = React.useRef(!1),
|
|
106
|
-
setIsDragging = React.useCallback(function (val) {
|
|
107
|
-
isDraggingRef.current = val, pauseKeyboardHandler.current = val, setIsDragging_(val), val || flushPendingHide();
|
|
108
|
-
}, [pauseKeyboardHandler, flushPendingHide]),
|
|
109
|
-
activePositionsRef = React.useRef(positions),
|
|
110
|
-
activePositions = React.useMemo(function () {
|
|
111
|
-
if (isDragging || isDraggingRef.current) return activePositionsRef.current;
|
|
112
|
-
var result;
|
|
113
|
-
if (!isKeyboardVisible || keyboardHeight <= 0) result = positions;else {
|
|
114
|
-
var safeAreaTop = isWeb ? 0 : getSafeAreaTopInset();
|
|
115
|
-
result = positions.map(function (p) {
|
|
116
|
-
return screenSize && p >= screenSize ? p : Math.max(safeAreaTop, p - keyboardHeight);
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
return activePositionsRef.current = result, result;
|
|
120
|
-
}, [positions, isKeyboardVisible, keyboardHeight, screenSize, isDragging]),
|
|
121
|
-
{
|
|
122
|
-
useAnimatedNumber,
|
|
123
|
-
useAnimatedNumberStyle,
|
|
124
|
-
useAnimatedNumberReaction
|
|
125
|
-
} = animationDriver,
|
|
126
|
-
_animationDriver_View,
|
|
127
|
-
AnimatedView = (_animationDriver_View = animationDriver.View) !== null && _animationDriver_View !== void 0 ? _animationDriver_View : GuiView;
|
|
128
|
-
useIsomorphicLayoutEffect(function () {
|
|
129
|
-
if (sheetInsideSheet && open) return sheetInsideSheet(!0), function () {
|
|
130
|
-
sheetInsideSheet(!1);
|
|
131
|
-
};
|
|
132
|
-
}, [sheetInsideSheet, open]);
|
|
133
|
-
var nextParentContext = React.useMemo(function () {
|
|
134
|
-
return {
|
|
135
|
-
zIndex
|
|
136
|
-
};
|
|
137
|
-
}, [zIndex]),
|
|
138
|
-
isMounted = useDidFinishSSR(),
|
|
139
|
-
startPosition = isMounted && screenSize ? screenSize : hiddenSize,
|
|
140
|
-
animatedNumber = useAnimatedNumber(startPosition),
|
|
141
|
-
at = React.useRef(startPosition),
|
|
142
|
-
hasntMeasured = at.current === hiddenSize,
|
|
143
|
-
[disableAnimation, setDisableAnimation] = useState(hasntMeasured),
|
|
144
|
-
skipAdaptAnimation = React.useRef(!1);
|
|
145
|
-
controller?.skipNextAnimation && (skipAdaptAnimation.current = !0);
|
|
146
|
-
var hasScrollView = React.useRef(!1),
|
|
147
|
-
opacityFallbackTimer = React.useRef(null);
|
|
148
|
-
useAnimatedNumberReaction({
|
|
149
|
-
value: animatedNumber,
|
|
150
|
-
hostRef: sheetRef
|
|
151
|
-
}, React.useCallback(function (value) {
|
|
152
|
-
at.current = value, scrollBridge.paneY = value;
|
|
153
|
-
var minY = activePositions[0],
|
|
154
|
-
wasAtTop = scrollBridge.isAtTop,
|
|
155
|
-
nowAtTop = value <= minY + 5;
|
|
156
|
-
if (wasAtTop !== nowAtTop) if (scrollBridge.isAtTop = nowAtTop, nowAtTop) {
|
|
157
|
-
var _scrollBridge_setScrollEnabled;
|
|
158
|
-
if (scrollBridge.y > 0) {
|
|
159
|
-
var _scrollBridge_forceScrollTo;
|
|
160
|
-
(_scrollBridge_forceScrollTo = scrollBridge.forceScrollTo) === null || _scrollBridge_forceScrollTo === void 0 || _scrollBridge_forceScrollTo.call(scrollBridge, 0), scrollBridge.y = 0;
|
|
161
|
-
}
|
|
162
|
-
scrollBridge.scrollLockY = void 0, (_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 || _scrollBridge_setScrollEnabled.call(scrollBridge, !0);
|
|
163
|
-
} else {
|
|
164
|
-
var _scrollBridge_setScrollEnabled1;
|
|
165
|
-
scrollBridge.scrollLockY = 0, (_scrollBridge_setScrollEnabled1 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled1 === void 0 || _scrollBridge_setScrollEnabled1.call(scrollBridge, !1);
|
|
166
|
-
}
|
|
167
|
-
}, [animationDriver, activePositions]));
|
|
168
|
-
function stopSpring() {
|
|
169
|
-
animatedNumber.stop(), scrollBridge.onFinishAnimate && (scrollBridge.onFinishAnimate(), scrollBridge.onFinishAnimate = void 0);
|
|
170
|
-
}
|
|
171
|
-
var animateTo = useEvent(function (position2, animationOverride) {
|
|
172
|
-
if (frameSize !== 0) {
|
|
173
|
-
var toValue = isHidden || position2 === -1 ? screenSize : activePositions[position2];
|
|
174
|
-
if (at.current !== toValue) {
|
|
175
|
-
at.current = toValue, stopSpring();
|
|
176
|
-
var isOpenAnimation = position2 !== -1 && !isHidden;
|
|
177
|
-
opacityFallbackTimer.current && (clearTimeout(opacityFallbackTimer.current), opacityFallbackTimer.current = null);
|
|
178
|
-
var animationCompleteCallback = function () {
|
|
179
|
-
opacityFallbackTimer.current && (clearTimeout(opacityFallbackTimer.current), opacityFallbackTimer.current = null), !isOpenAnimation && !open && setOpacity(0), onAnimationComplete?.({
|
|
180
|
-
open: isOpenAnimation
|
|
181
|
-
});
|
|
182
|
-
};
|
|
183
|
-
if (isOpenAnimation || (opacityFallbackTimer.current = setTimeout(function () {
|
|
184
|
-
opacityFallbackTimer.current = null, openRef.current || setOpacity(0);
|
|
185
|
-
}, 1e3)), skipAdaptAnimation.current) {
|
|
186
|
-
skipAdaptAnimation.current = !1, animatedNumber.setValue(toValue, {
|
|
187
|
-
type: "timing",
|
|
188
|
-
duration: 0
|
|
189
|
-
}, animationCompleteCallback);
|
|
190
|
-
return;
|
|
191
|
-
}
|
|
192
|
-
animatedNumber.setValue(toValue, animationOverride || {
|
|
193
|
-
type: "spring",
|
|
194
|
-
...transitionConfig
|
|
195
|
-
}, animationCompleteCallback);
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
});
|
|
199
|
-
useIsomorphicLayoutEffect(function () {
|
|
200
|
-
if (hasntMeasured && screenSize && frameSize) {
|
|
201
|
-
at.current = screenSize, animatedNumber.setValue(screenSize, {
|
|
202
|
-
type: "timing",
|
|
203
|
-
duration: 0
|
|
204
|
-
}, function () {
|
|
205
|
-
setTimeout(function () {
|
|
206
|
-
setDisableAnimation(!1);
|
|
207
|
-
}, 10);
|
|
208
|
-
});
|
|
209
|
-
return;
|
|
210
|
-
}
|
|
211
|
-
if (!disableAnimation && !(!frameSize || !screenSize || isHidden || hasntMeasured && !open) && (animateTo(position), position === -1 && (scrollBridge.scrollLock = !1, scrollBridge.scrollStartY = -1), open && position >= 0)) {
|
|
212
|
-
var isTopPosition = position === 0;
|
|
213
|
-
if (scrollBridge.isAtTop = isTopPosition, isTopPosition) {
|
|
214
|
-
var _scrollBridge_setScrollEnabled;
|
|
215
|
-
scrollBridge.scrollLockY = void 0, (_scrollBridge_setScrollEnabled = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled === void 0 || _scrollBridge_setScrollEnabled.call(scrollBridge, !0);
|
|
216
|
-
} else {
|
|
217
|
-
var _scrollBridge_setScrollEnabled1;
|
|
218
|
-
scrollBridge.scrollLockY = 0, (_scrollBridge_setScrollEnabled1 = scrollBridge.setScrollEnabled) === null || _scrollBridge_setScrollEnabled1 === void 0 || _scrollBridge_setScrollEnabled1.call(scrollBridge, !1);
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
}, [hasntMeasured, disableAnimation, isHidden, frameSize, screenSize, open, position]);
|
|
222
|
-
var _props_disableDrag,
|
|
223
|
-
disableDrag = (_props_disableDrag = props.disableDrag) !== null && _props_disableDrag !== void 0 ? _props_disableDrag : controller?.disableDrag,
|
|
224
|
-
themeName = useThemeName(),
|
|
225
|
-
[blockPan, setBlockPan] = React.useState(!1),
|
|
226
|
-
panResponder = React.useMemo(function () {
|
|
227
|
-
if (disableDrag || !frameSize || isShowingInnerSheet) return;
|
|
228
|
-
var minY = positions[0];
|
|
229
|
-
scrollBridge.paneMinY = minY;
|
|
230
|
-
var startY = at.current;
|
|
231
|
-
function setPanning(val) {
|
|
232
|
-
setIsDragging(val);
|
|
233
|
-
}
|
|
234
|
-
var release = function (param) {
|
|
235
|
-
var {
|
|
236
|
-
vy
|
|
237
|
-
} = param;
|
|
238
|
-
if (scrollBridge.setParentDragging(!1), !scrollBridge.scrollLock) {
|
|
239
|
-
isExternalDrag = !1, previouslyScrolling = !1, setPanning(!1);
|
|
240
|
-
for (var currentPos = at.current, end = currentPos + frameSize * vy * 0.2, closestPoint = 0, dist = Number.POSITIVE_INFINITY, i = 0; i < positions.length; i++) {
|
|
241
|
-
var position2 = positions[i],
|
|
242
|
-
curDist = end > position2 ? end - position2 : position2 - end;
|
|
243
|
-
curDist < dist && (dist = curDist, closestPoint = i);
|
|
244
|
-
}
|
|
245
|
-
setPosition(closestPoint), animateTo(closestPoint);
|
|
246
|
-
}
|
|
247
|
-
},
|
|
248
|
-
finish = function (_e, state2) {
|
|
249
|
-
release({
|
|
250
|
-
vy: state2.vy,
|
|
251
|
-
dragAt: state2.dy
|
|
252
|
-
});
|
|
253
|
-
},
|
|
254
|
-
previouslyScrolling = !1,
|
|
255
|
-
onMoveShouldSet = function (e, param) {
|
|
256
|
-
var {
|
|
257
|
-
dy
|
|
258
|
-
} = param;
|
|
259
|
-
function getShouldSet() {
|
|
260
|
-
if (e.target === providerProps.handleRef.current) return !0;
|
|
261
|
-
if (scrollBridge.hasScrollableContent === !0) {
|
|
262
|
-
if (scrollBridge.scrollLock) return !1;
|
|
263
|
-
var isScrolled = scrollBridge.y !== 0,
|
|
264
|
-
isDraggingUp = dy < 0,
|
|
265
|
-
isNearTop = scrollBridge.paneY - 5 <= scrollBridge.paneMinY;
|
|
266
|
-
if (isScrolled) return previouslyScrolling = !0, !1;
|
|
267
|
-
if (isNearTop && hasScrollView.current && isDraggingUp) return !1;
|
|
268
|
-
}
|
|
269
|
-
return Math.abs(dy) > 10;
|
|
270
|
-
}
|
|
271
|
-
var granted = getShouldSet();
|
|
272
|
-
return granted && scrollBridge.setParentDragging(!0), granted;
|
|
273
|
-
},
|
|
274
|
-
grant = function () {
|
|
275
|
-
setPanning(!0), stopSpring(), startY = at.current;
|
|
276
|
-
},
|
|
277
|
-
isExternalDrag = !1;
|
|
278
|
-
return scrollBridge.drag = function (dy) {
|
|
279
|
-
isExternalDrag || (isExternalDrag = !0, grant());
|
|
280
|
-
var to = dy + startY;
|
|
281
|
-
animatedNumber.setValue(resisted(to, minY), {
|
|
282
|
-
type: "direct"
|
|
283
|
-
});
|
|
284
|
-
}, scrollBridge.release = release, scrollBridge.snapToPosition = function (positionIndex) {
|
|
285
|
-
isExternalDrag = !1, previouslyScrolling = !1, setPanning(!1), setPosition(positionIndex), animateTo(positionIndex);
|
|
286
|
-
}, PanResponder.create({
|
|
287
|
-
onMoveShouldSetPanResponder: onMoveShouldSet,
|
|
288
|
-
onPanResponderGrant: grant,
|
|
289
|
-
onPanResponderMove: function (_e, param) {
|
|
290
|
-
var {
|
|
291
|
-
dy
|
|
292
|
-
} = param,
|
|
293
|
-
toFull = dy + startY,
|
|
294
|
-
to = resisted(toFull, minY),
|
|
295
|
-
isAtTop = to <= minY;
|
|
296
|
-
isAtTop ? scrollBridge.setParentDragging(!1) : scrollBridge.setParentDragging(!0), animatedNumber.setValue(to, {
|
|
297
|
-
type: "direct"
|
|
298
|
-
});
|
|
299
|
-
},
|
|
300
|
-
onPanResponderEnd: finish,
|
|
301
|
-
onPanResponderTerminate: finish,
|
|
302
|
-
onPanResponderRelease: finish
|
|
303
|
-
});
|
|
304
|
-
}, [disableDrag, isShowingInnerSheet, animateTo, frameSize, positions, setPosition]);
|
|
305
|
-
React.useEffect(function () {
|
|
306
|
-
isDragging || isHidden || !open || disableAnimation || !frameSize || !screenSize || animateTo(position, {
|
|
307
|
-
type: "timing",
|
|
308
|
-
duration: 250
|
|
309
|
-
});
|
|
310
|
-
}, [isKeyboardVisible, keyboardHeight]);
|
|
311
|
-
var wasDragging = React.useRef(!1);
|
|
312
|
-
React.useEffect(function () {
|
|
313
|
-
if (isDragging) {
|
|
314
|
-
wasDragging.current = !0;
|
|
315
|
-
return;
|
|
316
|
-
}
|
|
317
|
-
wasDragging.current && (wasDragging.current = !1, !(!frameSize || !screenSize || isHidden || !open) && animateTo(position));
|
|
318
|
-
}, [isDragging]), React.useEffect(function () {
|
|
319
|
-
!open && isKeyboardVisible && dismissKeyboard();
|
|
320
|
-
}, [open]);
|
|
321
|
-
var {
|
|
322
|
-
panGesture,
|
|
323
|
-
panGestureRef,
|
|
324
|
-
gestureHandlerEnabled
|
|
325
|
-
} = useGestureHandlerPan({
|
|
326
|
-
positions: activePositions,
|
|
327
|
-
frameSize,
|
|
328
|
-
setPosition,
|
|
329
|
-
animateTo,
|
|
330
|
-
stopSpring,
|
|
331
|
-
scrollBridge,
|
|
332
|
-
setIsDragging,
|
|
333
|
-
getCurrentPosition: function () {
|
|
334
|
-
return at.current;
|
|
335
|
-
},
|
|
336
|
-
resisted,
|
|
337
|
-
disableDrag,
|
|
338
|
-
isShowingInnerSheet,
|
|
339
|
-
setAnimatedPosition: function (val) {
|
|
340
|
-
at.current = val, animatedNumber.setValue(val, {
|
|
341
|
-
type: "direct"
|
|
342
|
-
});
|
|
343
|
-
},
|
|
344
|
-
pauseKeyboardHandler
|
|
345
|
-
}),
|
|
346
|
-
handleAnimationViewLayout = useEvent(function (e) {
|
|
347
|
-
var _e_nativeEvent;
|
|
348
|
-
if (!(!open && stableFrameSize.current !== 0)) {
|
|
349
|
-
var layoutHeight = (_e_nativeEvent = e.nativeEvent) === null || _e_nativeEvent === void 0 ? void 0 : _e_nativeEvent.layout.height,
|
|
350
|
-
next = modal ? Math.min(layoutHeight, Dimensions.get(relativeDimensionTo).height) : layoutHeight;
|
|
351
|
-
next && setFrameSize(next);
|
|
352
|
-
}
|
|
353
|
-
}),
|
|
354
|
-
handleMaxContentViewLayout = React.useCallback(function (e) {
|
|
355
|
-
var _e_nativeEvent,
|
|
356
|
-
next = Math.min((_e_nativeEvent = e.nativeEvent) === null || _e_nativeEvent === void 0 ? void 0 : _e_nativeEvent.layout.height, Dimensions.get(relativeDimensionTo).height);
|
|
357
|
-
next && setMaxContentSize(next);
|
|
358
|
-
}, []),
|
|
359
|
-
animatedStyle = useAnimatedNumberStyle(animatedNumber, function (val) {
|
|
360
|
-
"worklet";
|
|
361
|
-
|
|
362
|
-
var translateY = frameSize === 0 ? hiddenSize : val;
|
|
363
|
-
return {
|
|
364
|
-
transform: [{
|
|
365
|
-
translateY
|
|
366
|
-
}]
|
|
367
|
-
};
|
|
368
|
-
}),
|
|
369
|
-
[opacity, setOpacity] = React.useState(open ? 1 : 0);
|
|
370
|
-
open && opacity === 0 && (setOpacity(1), opacityFallbackTimer.current && (clearTimeout(opacityFallbackTimer.current), opacityFallbackTimer.current = null));
|
|
371
|
-
var forcedContentHeight = hasFit ? void 0 : snapPointsMode === "percent" ?
|
|
372
|
-
// Use dvh for modal (viewport-relative), % for inline (container-relative)
|
|
373
|
-
`${maxSnapPoint}${isWeb && modal ? "dvh" : "%"}` : maxSnapPoint,
|
|
374
|
-
setHasScrollView = React.useCallback(function (val) {
|
|
375
|
-
hasScrollView.current = val;
|
|
376
|
-
}, []),
|
|
377
|
-
contents = /* @__PURE__ */_jsx(LayoutMeasurementController, {
|
|
378
|
-
disable: !open,
|
|
379
|
-
children: /* @__PURE__ */_jsx(ParentSheetContext.Provider, {
|
|
380
|
-
value: nextParentContext,
|
|
381
|
-
children: /* @__PURE__ */_jsx(SheetProvider, {
|
|
382
|
-
...providerProps,
|
|
383
|
-
setHasScrollView,
|
|
384
|
-
children: /* @__PURE__ */_jsxs(GestureSheetProvider, {
|
|
385
|
-
isDragging,
|
|
386
|
-
blockPan,
|
|
387
|
-
setBlockPan,
|
|
388
|
-
panGesture,
|
|
389
|
-
panGestureRef,
|
|
390
|
-
children: [/* @__PURE__ */_jsx(AnimatePresence, {
|
|
391
|
-
custom: {
|
|
392
|
-
open
|
|
393
|
-
},
|
|
394
|
-
children: shouldHideParentSheet || !open ? null : overlayComponent
|
|
395
|
-
}), snapPointsMode !== "percent" && /* @__PURE__ */_jsx(View, {
|
|
396
|
-
style: {
|
|
397
|
-
opacity: 0,
|
|
398
|
-
position: "absolute",
|
|
399
|
-
top: 0,
|
|
400
|
-
left: 0,
|
|
401
|
-
right: 0,
|
|
402
|
-
bottom: 0,
|
|
403
|
-
pointerEvents: "none"
|
|
404
|
-
},
|
|
405
|
-
onLayout: handleMaxContentViewLayout
|
|
406
|
-
}), /* @__PURE__ */_jsx(AnimatedView, {
|
|
407
|
-
ref,
|
|
408
|
-
onLayout: handleAnimationViewLayout,
|
|
409
|
-
// @ts-ignore for CSS driver this is necessary to attach the transition
|
|
410
|
-
// also motion driver at least though i suspect all drivers?
|
|
411
|
-
transition: isDragging || disableAnimation ? null : transition,
|
|
412
|
-
// @ts-ignore
|
|
413
|
-
disableClassName: !0,
|
|
414
|
-
style: [{
|
|
415
|
-
position: "absolute",
|
|
416
|
-
zIndex,
|
|
417
|
-
width: "100%",
|
|
418
|
-
height: forcedContentHeight,
|
|
419
|
-
minHeight: forcedContentHeight,
|
|
420
|
-
opacity: shouldHideParentSheet ? 0 : opacity,
|
|
421
|
-
...((shouldHideParentSheet || !open) && {
|
|
422
|
-
pointerEvents: "none"
|
|
423
|
-
})
|
|
424
|
-
}, animatedStyle],
|
|
425
|
-
children: (/* wrap children with plain RN View for panResponder - tamagui views no longer handle responder events on web */
|
|
426
|
-
gestureHandlerEnabled && panGesture ? /* @__PURE__ */_jsx(GestureDetectorWrapper, {
|
|
427
|
-
gesture: panGesture,
|
|
428
|
-
style: {
|
|
429
|
-
flex: 1
|
|
430
|
-
},
|
|
431
|
-
children: props.children
|
|
432
|
-
}) : /* @__PURE__ */_jsx(View, {
|
|
433
|
-
...panResponder?.panHandlers,
|
|
434
|
-
style: {
|
|
435
|
-
flex: 1,
|
|
436
|
-
width: "100%",
|
|
437
|
-
height: "100%"
|
|
438
|
-
},
|
|
439
|
-
children: props.children
|
|
440
|
-
}))
|
|
441
|
-
})]
|
|
442
|
-
})
|
|
443
|
-
})
|
|
444
|
-
})
|
|
445
|
-
});
|
|
446
|
-
if (needsPortalRepropagation()) {
|
|
447
|
-
var adaptContext = useAdaptContext();
|
|
448
|
-
contents = /* @__PURE__ */_jsx(ProvideAdaptContext, {
|
|
449
|
-
...adaptContext,
|
|
450
|
-
children: (/* @ts-ignore */
|
|
451
|
-
contents)
|
|
452
|
-
});
|
|
453
|
-
}
|
|
454
|
-
var shouldMountChildren = unmountChildrenWhenHidden ? !!opacity : !0;
|
|
455
|
-
if (modal) {
|
|
456
|
-
var modalContents = /* @__PURE__ */_jsx(Portal, {
|
|
457
|
-
stackZIndex: zIndex,
|
|
458
|
-
...portalProps,
|
|
459
|
-
children: shouldMountChildren && /* @__PURE__ */_jsx(ContainerComponent, {
|
|
460
|
-
children: contents
|
|
461
|
-
})
|
|
462
|
-
});
|
|
463
|
-
return isWeb ? modalContents : /* @__PURE__ */_jsx(SheetInsideSheetContext.Provider, {
|
|
464
|
-
value: onInnerSheet,
|
|
465
|
-
children: modalContents
|
|
466
|
-
});
|
|
467
|
-
}
|
|
468
|
-
return contents;
|
|
469
|
-
});
|
|
470
|
-
function getYPositions(mode, point, screenSize, frameSize) {
|
|
471
|
-
if (!screenSize || !frameSize) return 0;
|
|
472
|
-
if (mode === "mixed") {
|
|
473
|
-
if (typeof point == "number") return screenSize - Math.min(screenSize, Math.max(0, point));
|
|
474
|
-
if (point === "fit") return screenSize - Math.min(screenSize, frameSize);
|
|
475
|
-
if (point.endsWith("%")) {
|
|
476
|
-
var pct = Math.min(100, Math.max(0, Number(point.slice(0, -1)))) / 100;
|
|
477
|
-
return Number.isNaN(pct) ? (console.warn("Invalid snapPoint percentage string"), 0) : Math.round(screenSize - pct * screenSize);
|
|
478
|
-
}
|
|
479
|
-
return console.warn("Invalid snapPoint unknown value"), 0;
|
|
480
|
-
}
|
|
481
|
-
if (mode === "fit") return point === 0 ? screenSize : screenSize - Math.min(screenSize, frameSize);
|
|
482
|
-
if (mode === "constant" && typeof point == "number") return screenSize - Math.min(screenSize, Math.max(0, point));
|
|
483
|
-
var pct1 = Math.min(100, Math.max(0, Number(point))) / 100;
|
|
484
|
-
return Number.isNaN(pct1) ? (console.warn("Invalid snapPoint percentage"), 0) : Math.round(screenSize - pct1 * screenSize);
|
|
485
|
-
}
|
|
486
|
-
export { SheetImplementationCustom };
|
|
487
|
-
//# sourceMappingURL=SheetImplementationCustom.native.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["jsx","_jsx","jsxs","_jsxs","ProvideAdaptContext","useAdaptContext","AnimatePresence","useComposedRefs","isWeb","useIsomorphicLayoutEffect","LayoutMeasurementController","View","TamaguiView","useConfiguration","useDidFinishSSR","useEvent","useThemeName","getSafeArea","needsPortalRepropagation","Portal","React","useState","Dimensions","PanResponder","ParentSheetContext","SheetInsideSheetContext","GestureDetectorWrapper","GestureSheetProvider","resisted","SheetProvider","useGestureHandlerPan","useKeyboardControllerSheet","useSheetOpenState","useSheetProviderProps","hiddenSize","_cachedSafeAreaTop","getSafeAreaTopInset","getInsets","top","relativeDimensionTo","SheetImplementationCustom","forwardRef","props","forwardedRef","parentSheet","useContext","transition","transitionConfig","transitionConfigProp","modal","zIndex","moveOnKeyboardChange","unmountChildrenWhenHidden","portalProps","containerComponent","ContainerComponent","Fragment","onAnimationComplete","state","overlayComponent","setOverlayComponent","providerProps","onOverlayComponent","frameSize","setFrameSize","snapPoints","snapPointsMode","hasFit","position","setPosition","scrollBridge","screenSize","setMaxContentSize","maxSnapPoint","open","controller","isHidden","openRef","useRef","current","sheetRef","ref","contentRef","animationDriver","Error","_animationDriver_animations","animationProp","animationPropConfig","Array","isArray","animations","isShowingInnerSheet","setIsShowingInnerSheet","shouldHideParentSheet","sheetInsideSheet","onInnerSheet","useCallback","hasChild","stableFrameSize","useEffect","effectiveFrameSize","positions","useMemo","map","point","getYPositions","keyboardHeight","isKeyboardVisible","dismissKeyboard","pauseKeyboardHandler","flushPendingHide","enabled","isDragging","setIsDragging_","isDraggingRef","setIsDragging","val","activePositionsRef","activePositions","result","safeAreaTop","p","Math","max","useAnimatedNumber","useAnimatedNumberStyle","useAnimatedNumberReaction","_animationDriver_View","AnimatedView","nextParentContext","isMounted","startPosition","animatedNumber","at","hasntMeasured","disableAnimation","setDisableAnimation","skipAdaptAnimation","skipNextAnimation","hasScrollView","opacityFallbackTimer","value","hostRef","paneY","minY","wasAtTop","isAtTop","nowAtTop","_scrollBridge_setScrollEnabled","y","_scrollBridge_forceScrollTo","forceScrollTo","call","scrollLockY","setScrollEnabled","_scrollBridge_setScrollEnabled1","stopSpring","stop","onFinishAnimate","animateTo","position2","animationOverride","toValue","isOpenAnimation","clearTimeout","animationCompleteCallback","setOpacity","setTimeout","setValue","type","duration","scrollLock","scrollStartY","isTopPosition","_props_disableDrag","disableDrag","themeName","blockPan","setBlockPan","panResponder","paneMinY","startY","setPanning","release","param","vy","setParentDragging","isExternalDrag","previouslyScrolling","currentPos","end","closestPoint","dist","Number","POSITIVE_INFINITY","i","length","curDist","finish","_e","state2","dragAt","dy","onMoveShouldSet","e","getShouldSet","target","handleRef","hasScrollableContent","isScrolled","isDraggingUp","isNearTop","abs","granted","grant","drag","to","snapToPosition","positionIndex","create","onMoveShouldSetPanResponder","onPanResponderGrant","onPanResponderMove","toFull","onPanResponderEnd","onPanResponderTerminate","onPanResponderRelease","wasDragging","panGesture","panGestureRef","gestureHandlerEnabled","getCurrentPosition","setAnimatedPosition","handleAnimationViewLayout","_e_nativeEvent","layoutHeight","nativeEvent","layout","height","next","min","get","handleMaxContentViewLayout","animatedStyle","translateY","transform","opacity","forcedContentHeight","setHasScrollView","contents","disable","children","Provider","custom","style","left","right","bottom","pointerEvents","onLayout","disableClassName","width","minHeight","gesture","flex"],"sources":["../../src/SheetImplementationCustom.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
import { composeRefs } from "@hanzogui/compose-refs";
|
|
2
|
-
import { View } from "@hanzogui/core";
|
|
3
|
-
import { ScrollView } from "@hanzogui/scroll-view";
|
|
4
|
-
import { useControllableState } from "@hanzogui/use-controllable-state";
|
|
5
|
-
import React, { useEffect, useRef, useState } from "react";
|
|
6
|
-
import { useGestureSheetContext } from "./GestureSheetContext.mjs";
|
|
7
|
-
import { getGestureHandlerState, isGestureHandlerEnabled } from "./gestureState.mjs";
|
|
8
|
-
import { useSheetContext } from "./SheetContext.mjs";
|
|
9
|
-
import { useSheetScrollViewGestures } from "./useSheetScrollViewGestures.mjs";
|
|
10
|
-
import { jsx } from "react/jsx-runtime";
|
|
11
|
-
const SHEET_SCROLL_VIEW_NAME = "SheetScrollView",
|
|
12
|
-
SheetScrollView = React.forwardRef(({
|
|
13
|
-
__scopeSheet,
|
|
14
|
-
children,
|
|
15
|
-
onScroll,
|
|
16
|
-
scrollEnabled: scrollEnabledProp,
|
|
17
|
-
...props
|
|
18
|
-
}, ref) => {
|
|
19
|
-
const context = useSheetContext(SHEET_SCROLL_VIEW_NAME, __scopeSheet),
|
|
20
|
-
gestureContext = useGestureSheetContext(),
|
|
21
|
-
{
|
|
22
|
-
scrollBridge,
|
|
23
|
-
setHasScrollView
|
|
24
|
-
} = context,
|
|
25
|
-
[scrollEnabled] = useControllableState({
|
|
26
|
-
prop: scrollEnabledProp,
|
|
27
|
-
defaultProp: !0
|
|
28
|
-
}),
|
|
29
|
-
scrollRef = React.useRef(null),
|
|
30
|
-
panGestureRef = gestureContext?.panGestureRef,
|
|
31
|
-
{
|
|
32
|
-
ScrollView: RNGHScrollView
|
|
33
|
-
} = getGestureHandlerState(),
|
|
34
|
-
useRNGHScrollView = isGestureHandlerEnabled() && RNGHScrollView && panGestureRef,
|
|
35
|
-
currentScrollOffset = useRef(0),
|
|
36
|
-
lockedScrollY = useRef(0),
|
|
37
|
-
setScrollEnabled = (next, lockTo) => {
|
|
38
|
-
if (next) lockedScrollY.current = currentScrollOffset.current, scrollBridge.scrollLockY = void 0;else {
|
|
39
|
-
const lockY = lockTo ?? currentScrollOffset.current;
|
|
40
|
-
lockedScrollY.current = lockY, scrollBridge.scrollLockY = lockY, scrollRef.current?.scrollTo?.({
|
|
41
|
-
x: 0,
|
|
42
|
-
y: lockY,
|
|
43
|
-
animated: !1
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
},
|
|
47
|
-
forceScrollTo = y => {
|
|
48
|
-
scrollRef.current?.scrollTo?.({
|
|
49
|
-
x: 0,
|
|
50
|
-
y,
|
|
51
|
-
animated: !1
|
|
52
|
-
});
|
|
53
|
-
};
|
|
54
|
-
useEffect(() => (setHasScrollView(!0), isGestureHandlerEnabled() && (scrollBridge.setScrollEnabled = setScrollEnabled, scrollBridge.forceScrollTo = forceScrollTo), () => {
|
|
55
|
-
setHasScrollView(!1), scrollBridge.setScrollEnabled = void 0, scrollBridge.forceScrollTo = void 0;
|
|
56
|
-
}), []);
|
|
57
|
-
const [hasScrollableContent, setHasScrollableContent] = useState(!0),
|
|
58
|
-
parentHeight = useRef(0),
|
|
59
|
-
contentHeight = useRef(0),
|
|
60
|
-
updateScrollable = () => {
|
|
61
|
-
parentHeight.current && contentHeight.current && setHasScrollableContent(contentHeight.current > parentHeight.current);
|
|
62
|
-
};
|
|
63
|
-
useEffect(() => {
|
|
64
|
-
scrollBridge.hasScrollableContent = hasScrollableContent;
|
|
65
|
-
}, [hasScrollableContent]);
|
|
66
|
-
const gestureProps = useSheetScrollViewGestures({
|
|
67
|
-
scrollRef,
|
|
68
|
-
scrollBridge,
|
|
69
|
-
hasScrollableContent,
|
|
70
|
-
scrollEnabled,
|
|
71
|
-
setScrollEnabled
|
|
72
|
-
}),
|
|
73
|
-
contentWrapper = /* @__PURE__ */jsx(View, {
|
|
74
|
-
onLayout: e => {
|
|
75
|
-
const height = Math.floor(e.nativeEvent.layout.height);
|
|
76
|
-
height !== contentHeight.current && (contentHeight.current = height, updateScrollable());
|
|
77
|
-
},
|
|
78
|
-
children
|
|
79
|
-
});
|
|
80
|
-
return useRNGHScrollView && RNGHScrollView && panGestureRef ? /* @__PURE__ */jsx(RNGHScrollView, {
|
|
81
|
-
ref: composeRefs(scrollRef, ref),
|
|
82
|
-
style: {
|
|
83
|
-
flex: 1
|
|
84
|
-
},
|
|
85
|
-
scrollEventThrottle: 1,
|
|
86
|
-
scrollEnabled,
|
|
87
|
-
simultaneousHandlers: [panGestureRef],
|
|
88
|
-
onLayout: e => {
|
|
89
|
-
parentHeight.current = Math.ceil(e.nativeEvent.layout.height), updateScrollable();
|
|
90
|
-
},
|
|
91
|
-
onScroll: e => {
|
|
92
|
-
const {
|
|
93
|
-
y
|
|
94
|
-
} = e.nativeEvent.contentOffset;
|
|
95
|
-
if (currentScrollOffset.current = y, scrollBridge.scrollLockY !== void 0) {
|
|
96
|
-
y !== scrollBridge.scrollLockY && scrollRef.current?.scrollTo?.({
|
|
97
|
-
x: 0,
|
|
98
|
-
y: scrollBridge.scrollLockY,
|
|
99
|
-
animated: !1
|
|
100
|
-
}), scrollBridge.y = scrollBridge.scrollLockY, onScroll?.({
|
|
101
|
-
...e,
|
|
102
|
-
nativeEvent: {
|
|
103
|
-
...e.nativeEvent,
|
|
104
|
-
contentOffset: {
|
|
105
|
-
...e.nativeEvent.contentOffset,
|
|
106
|
-
y: scrollBridge.scrollLockY
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
|
-
return;
|
|
111
|
-
}
|
|
112
|
-
scrollBridge.y = y, y > 0 && (scrollBridge.scrollStartY = -1), onScroll?.(e);
|
|
113
|
-
},
|
|
114
|
-
contentContainerStyle: {
|
|
115
|
-
minHeight: "100%"
|
|
116
|
-
},
|
|
117
|
-
bounces: !1,
|
|
118
|
-
keyboardShouldPersistTaps: "always",
|
|
119
|
-
keyboardDismissMode: "none",
|
|
120
|
-
...props,
|
|
121
|
-
children: contentWrapper
|
|
122
|
-
}) : /* @__PURE__ */jsx(ScrollView, {
|
|
123
|
-
onLayout: e => {
|
|
124
|
-
parentHeight.current = Math.ceil(e.nativeEvent.layout.height), updateScrollable();
|
|
125
|
-
},
|
|
126
|
-
ref: composeRefs(scrollRef, ref),
|
|
127
|
-
flex: 1,
|
|
128
|
-
scrollEventThrottle: 1,
|
|
129
|
-
className: "_ovs-contain",
|
|
130
|
-
scrollEnabled,
|
|
131
|
-
onScroll: e => {
|
|
132
|
-
const {
|
|
133
|
-
y
|
|
134
|
-
} = e.nativeEvent.contentOffset;
|
|
135
|
-
scrollBridge.y = y, y > 0 && (scrollBridge.scrollStartY = -1), onScroll?.(e);
|
|
136
|
-
},
|
|
137
|
-
contentContainerStyle: {
|
|
138
|
-
minHeight: "100%"
|
|
139
|
-
},
|
|
140
|
-
...gestureProps,
|
|
141
|
-
...props,
|
|
142
|
-
children: contentWrapper
|
|
143
|
-
});
|
|
144
|
-
});
|
|
145
|
-
export { SheetScrollView };
|
|
146
|
-
//# sourceMappingURL=SheetScrollView.mjs.map
|