@hanzogui/sheet 7.3.0 → 8.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/.turbo/turbo-build.log +2 -0
- package/controller/index.cjs +2 -0
- package/controller/index.d.ts +5 -0
- package/controller/index.js +2 -0
- package/controller/index.native.cjs +2 -0
- package/controller/index.native.js +2 -0
- package/dist/cjs/GestureDetectorWrapper.native.js.map +1 -1
- package/dist/cjs/SheetImplementationCustom.cjs +137 -74
- package/dist/cjs/SheetImplementationCustom.native.js +162 -83
- package/dist/cjs/SheetImplementationCustom.native.js.map +1 -1
- package/dist/cjs/SheetScrollView.cjs +155 -34
- package/dist/cjs/SheetScrollView.native.js +160 -35
- package/dist/cjs/SheetScrollView.native.js.map +1 -1
- package/dist/cjs/createSheet.cjs +7 -3
- package/dist/cjs/createSheet.native.js +7 -3
- package/dist/cjs/createSheet.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/keyboardAvoidance.cjs +93 -0
- package/dist/cjs/keyboardAvoidance.native.js +99 -0
- package/dist/cjs/keyboardAvoidance.native.js.map +1 -0
- package/dist/cjs/nativeSheet.cjs +3 -0
- package/dist/cjs/nativeSheet.native.js +3 -0
- package/dist/cjs/nativeSheet.native.js.map +1 -1
- package/dist/cjs/setupGestureHandler.cjs +9 -6
- package/dist/cjs/setupGestureHandler.native.js +11 -6
- package/dist/cjs/setupGestureHandler.native.js.map +1 -1
- package/dist/cjs/useGestureHandlerPan.cjs +86 -18
- package/dist/cjs/useGestureHandlerPan.native.js +91 -18
- package/dist/cjs/useGestureHandlerPan.native.js.map +1 -1
- package/dist/cjs/useKeyboardControllerSheet.cjs +68 -6
- package/dist/cjs/useSafeAreaInsets.cjs +44 -0
- package/dist/cjs/useSafeAreaInsets.native.js +48 -0
- package/dist/cjs/useSafeAreaInsets.native.js.map +1 -0
- package/dist/cjs/useSheetProviderProps.cjs +1 -1
- package/dist/cjs/useSheetProviderProps.native.js +1 -1
- package/dist/cjs/useSheetProviderProps.native.js.map +1 -1
- package/dist/cjs/useSheetScrollViewGestures.cjs +30 -5
- package/dist/cjs/useSheetScrollViewGestures.native.js +4 -0
- package/dist/cjs/useSheetScrollViewGestures.native.js.map +1 -1
- package/dist/cjs/webViewport.cjs +75 -0
- package/dist/cjs/webViewport.native.js +81 -0
- package/dist/cjs/webViewport.native.js.map +1 -0
- package/dist/esm/GestureDetectorWrapper.mjs.map +1 -1
- package/dist/esm/GestureDetectorWrapper.native.js.map +1 -1
- package/dist/esm/SheetImplementationCustom.mjs +143 -84
- package/dist/esm/SheetImplementationCustom.mjs.map +1 -1
- package/dist/esm/SheetImplementationCustom.native.js +173 -102
- package/dist/esm/SheetImplementationCustom.native.js.map +1 -1
- package/dist/esm/SheetScrollView.mjs +157 -36
- package/dist/esm/SheetScrollView.mjs.map +1 -1
- package/dist/esm/SheetScrollView.native.js +162 -37
- package/dist/esm/SheetScrollView.native.js.map +1 -1
- package/dist/esm/createSheet.mjs +9 -6
- package/dist/esm/createSheet.mjs.map +1 -1
- package/dist/esm/createSheet.native.js +19 -15
- package/dist/esm/createSheet.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/keyboardAvoidance.mjs +66 -0
- package/dist/esm/keyboardAvoidance.mjs.map +1 -0
- package/dist/esm/keyboardAvoidance.native.js +69 -0
- package/dist/esm/keyboardAvoidance.native.js.map +1 -0
- package/dist/esm/nativeSheet.mjs +3 -0
- package/dist/esm/nativeSheet.mjs.map +1 -1
- package/dist/esm/nativeSheet.native.js +3 -0
- package/dist/esm/nativeSheet.native.js.map +1 -1
- package/dist/esm/setupGestureHandler.mjs +9 -6
- package/dist/esm/setupGestureHandler.mjs.map +1 -1
- package/dist/esm/setupGestureHandler.native.js +11 -6
- package/dist/esm/setupGestureHandler.native.js.map +1 -1
- package/dist/esm/useGestureHandlerPan.mjs +87 -19
- package/dist/esm/useGestureHandlerPan.mjs.map +1 -1
- package/dist/esm/useGestureHandlerPan.native.js +92 -19
- package/dist/esm/useGestureHandlerPan.native.js.map +1 -1
- package/dist/esm/useKeyboardControllerSheet.mjs +69 -7
- 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 +1 -1
- package/dist/esm/useSheetProviderProps.mjs.map +1 -1
- package/dist/esm/useSheetProviderProps.native.js +1 -1
- package/dist/esm/useSheetProviderProps.native.js.map +1 -1
- package/dist/esm/useSheetScrollViewGestures.mjs +30 -5
- 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 +43 -0
- package/dist/esm/webViewport.mjs.map +1 -0
- package/dist/esm/webViewport.native.js +46 -0
- package/dist/esm/webViewport.native.js.map +1 -0
- package/dist/jsx/GestureDetectorWrapper.mjs.map +1 -1
- package/dist/jsx/GestureDetectorWrapper.native.js.map +1 -1
- package/dist/jsx/SheetImplementationCustom.mjs +143 -84
- package/dist/jsx/SheetImplementationCustom.mjs.map +1 -1
- package/dist/jsx/SheetImplementationCustom.native.js +162 -83
- package/dist/jsx/SheetImplementationCustom.native.js.map +1 -1
- package/dist/jsx/SheetScrollView.mjs +157 -36
- package/dist/jsx/SheetScrollView.mjs.map +1 -1
- package/dist/jsx/SheetScrollView.native.js +160 -35
- package/dist/jsx/SheetScrollView.native.js.map +1 -1
- package/dist/jsx/createSheet.mjs +9 -6
- package/dist/jsx/createSheet.mjs.map +1 -1
- package/dist/jsx/createSheet.native.js +7 -3
- package/dist/jsx/createSheet.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/keyboardAvoidance.mjs +66 -0
- package/dist/jsx/keyboardAvoidance.mjs.map +1 -0
- package/dist/jsx/keyboardAvoidance.native.js +99 -0
- package/dist/jsx/keyboardAvoidance.native.js.map +1 -0
- package/dist/jsx/nativeSheet.mjs +3 -0
- package/dist/jsx/nativeSheet.mjs.map +1 -1
- package/dist/jsx/nativeSheet.native.js +3 -0
- package/dist/jsx/nativeSheet.native.js.map +1 -1
- package/dist/jsx/setupGestureHandler.mjs +9 -6
- package/dist/jsx/setupGestureHandler.mjs.map +1 -1
- package/dist/jsx/setupGestureHandler.native.js +11 -6
- package/dist/jsx/setupGestureHandler.native.js.map +1 -1
- package/dist/jsx/useGestureHandlerPan.mjs +87 -19
- package/dist/jsx/useGestureHandlerPan.mjs.map +1 -1
- package/dist/jsx/useGestureHandlerPan.native.js +91 -18
- package/dist/jsx/useGestureHandlerPan.native.js.map +1 -1
- package/dist/jsx/useKeyboardControllerSheet.mjs +69 -7
- 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 +1 -1
- package/dist/jsx/useSheetProviderProps.mjs.map +1 -1
- package/dist/jsx/useSheetProviderProps.native.js +1 -1
- package/dist/jsx/useSheetProviderProps.native.js.map +1 -1
- package/dist/jsx/useSheetScrollViewGestures.mjs +30 -5
- 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 +43 -0
- package/dist/jsx/webViewport.mjs.map +1 -0
- package/dist/jsx/webViewport.native.js +81 -0
- package/dist/jsx/webViewport.native.js.map +1 -0
- package/next.md +78 -0
- package/package.json +30 -48
- package/setup-gesture-handler/index.cjs +2 -0
- package/setup-gesture-handler/index.js +2 -0
- package/setup-gesture-handler/index.native.cjs +2 -0
- package/setup-gesture-handler/index.native.js +2 -0
- package/src/GestureDetectorWrapper.tsx +0 -3
- package/src/SheetImplementationCustom.tsx +387 -127
- package/src/SheetScrollView.tsx +195 -22
- package/src/createSheet.tsx +20 -7
- package/src/gestureState.ts +22 -2
- package/src/index.ts +4 -0
- package/src/keyboardAvoidance.ts +121 -0
- package/src/nativeSheet.tsx +8 -1
- package/src/setupGestureHandler.ts +14 -5
- package/src/types.tsx +20 -1
- package/src/useGestureHandlerPan.tsx +94 -35
- package/src/useKeyboardControllerSheet.ts +127 -10
- package/src/useSafeAreaInsets.native.ts +29 -0
- package/src/useSafeAreaInsets.ts +19 -0
- package/src/useSheetProviderProps.tsx +12 -1
- package/src/useSheetScrollViewGestures.native.ts +4 -0
- package/src/useSheetScrollViewGestures.ts +52 -5
- package/src/webViewport.ts +100 -0
- package/test/keyboardAvoidance.test.ts +269 -0
- package/tsconfig.json +57 -0
- package/types/GestureDetectorWrapper.d.ts +1 -1
- package/types/GestureDetectorWrapper.d.ts.map +1 -1
- package/types/GestureSheetContext.d.ts +1 -1
- package/types/GestureSheetContext.d.ts.map +1 -1
- package/types/Sheet.d.ts +6 -5
- package/types/Sheet.d.ts.map +1 -1
- package/types/SheetContext.d.ts +5 -2
- package/types/SheetContext.d.ts.map +1 -1
- package/types/SheetController.d.ts +1 -2
- package/types/SheetController.d.ts.map +1 -1
- package/types/SheetImplementationCustom.d.ts +1 -0
- package/types/SheetImplementationCustom.d.ts.map +1 -1
- package/types/SheetScrollView.d.ts.map +1 -1
- package/types/createSheet.d.ts +13 -12
- package/types/createSheet.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/keyboardAvoidance.d.ts +26 -0
- package/types/keyboardAvoidance.d.ts.map +1 -0
- package/types/nativeSheet.d.ts.map +1 -1
- package/types/setupGestureHandler.d.ts.map +1 -1
- package/types/types.d.ts +10 -1
- package/types/types.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 +14 -3
- 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 +3 -0
- package/types/useSheetProviderProps.d.ts.map +1 -1
- package/types/useSheetScrollViewGestures.d.ts +2 -1
- package/types/useSheetScrollViewGestures.d.ts.map +1 -1
- package/types/useSheetScrollViewGestures.native.d.ts.map +1 -1
- package/types/webViewport.d.ts +36 -0
- package/types/webViewport.d.ts.map +1 -0
- package/LICENSE +0 -42
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { composeRefs } from "@hanzogui/compose-refs";
|
|
3
|
-
import { View } from "@hanzogui/core";
|
|
3
|
+
import { isWeb, View } from "@hanzogui/core";
|
|
4
4
|
import { ScrollView } from "@hanzogui/scroll-view";
|
|
5
5
|
import { useControllableState } from "@hanzogui/use-controllable-state";
|
|
6
6
|
import React, { useEffect, useRef, useState } from "react";
|
|
@@ -8,6 +8,7 @@ import { useGestureSheetContext } from "./GestureSheetContext.native.js";
|
|
|
8
8
|
import { getGestureHandlerState, isGestureHandlerEnabled } from "./gestureState.native.js";
|
|
9
9
|
import { useSheetContext } from "./SheetContext.native.js";
|
|
10
10
|
import { useSheetScrollViewGestures } from "./useSheetScrollViewGestures.native.js";
|
|
11
|
+
import { getStableLayoutViewportHeight, getWebKeyboardBottomInset, getWebKeyboardResizeHeight, isEditableElement, MIN_KEYBOARD_HEIGHT } from "./webViewport.native.js";
|
|
11
12
|
var SHEET_SCROLL_VIEW_NAME = "SheetScrollView";
|
|
12
13
|
var SheetScrollView = /* @__PURE__ */React.forwardRef(function (param, ref) {
|
|
13
14
|
var {
|
|
@@ -21,32 +22,68 @@ var SheetScrollView = /* @__PURE__ */React.forwardRef(function (param, ref) {
|
|
|
21
22
|
var gestureContext = useGestureSheetContext();
|
|
22
23
|
var {
|
|
23
24
|
scrollBridge,
|
|
24
|
-
setHasScrollView
|
|
25
|
+
setHasScrollView,
|
|
26
|
+
hasFit,
|
|
27
|
+
screenSize
|
|
25
28
|
} = context;
|
|
29
|
+
var keyboardOccludedHeight = Math.max(0, context.keyboardOccludedHeight || 0);
|
|
30
|
+
var isKeyboardVisible = context.isKeyboardVisible === true || isWeb && getWebKeyboardResizeHeight() >= MIN_KEYBOARD_HEIGHT;
|
|
26
31
|
var [scrollEnabled] = useControllableState({
|
|
27
32
|
prop: scrollEnabledProp,
|
|
28
33
|
defaultProp: true
|
|
29
34
|
});
|
|
30
35
|
var scrollRef = React.useRef(null);
|
|
36
|
+
var [hasScrollableContent, setHasScrollableContent] = useState(true);
|
|
37
|
+
var parentHeight = useRef(0);
|
|
38
|
+
var contentHeight = useRef(0);
|
|
39
|
+
var frozenFrameHeight = Math.max(0, context.keyboardStableFrameHeight || 0);
|
|
40
|
+
var fitSizingStyle = hasFit ? {
|
|
41
|
+
flex: void 0,
|
|
42
|
+
height: void 0,
|
|
43
|
+
maxHeight: screenSize || void 0
|
|
44
|
+
} : {
|
|
45
|
+
flex: 1
|
|
46
|
+
};
|
|
47
|
+
var contentContainerStyle = hasFit ? void 0 : {
|
|
48
|
+
minHeight: "100%"
|
|
49
|
+
};
|
|
50
|
+
var keyboardFrozenOverride = hasFit && isKeyboardVisible && frozenFrameHeight > 0 ? {
|
|
51
|
+
height: frozenFrameHeight,
|
|
52
|
+
maxHeight: frozenFrameHeight
|
|
53
|
+
} : null;
|
|
31
54
|
var panGestureRef = gestureContext === null || gestureContext === void 0 ? void 0 : gestureContext.panGestureRef;
|
|
32
55
|
var {
|
|
33
56
|
ScrollView: RNGHScrollView
|
|
34
57
|
} = getGestureHandlerState();
|
|
35
58
|
var useRNGHScrollView = isGestureHandlerEnabled() && RNGHScrollView && panGestureRef;
|
|
36
59
|
var currentScrollOffset = useRef(0);
|
|
60
|
+
var lastEmittedScrollOffset = useRef(0);
|
|
37
61
|
var lockedScrollY = useRef(0);
|
|
62
|
+
var focusedInputScrollFrame = useRef(0);
|
|
38
63
|
var setScrollEnabled = function (next, lockTo) {
|
|
39
64
|
if (!next) {
|
|
40
|
-
var
|
|
41
|
-
var lockY = lockTo !== null && lockTo !== void 0 ? lockTo : currentScrollOffset.current;
|
|
65
|
+
var _ref;
|
|
66
|
+
var lockY = (_ref = lockTo !== null && lockTo !== void 0 ? lockTo : scrollBridge.scrollLockY) !== null && _ref !== void 0 ? _ref : currentScrollOffset.current;
|
|
67
|
+
if (scrollBridge.enabled === false && scrollBridge.scrollLockY === lockY) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
scrollBridge.enabled = false;
|
|
42
71
|
lockedScrollY.current = lockY;
|
|
43
72
|
scrollBridge.scrollLockY = lockY;
|
|
44
|
-
(
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
73
|
+
if (currentScrollOffset.current !== lockY) {
|
|
74
|
+
var _scrollRef_current_scrollTo, _scrollRef_current;
|
|
75
|
+
(_scrollRef_current = scrollRef.current) === null || _scrollRef_current === void 0 ? void 0 : (_scrollRef_current_scrollTo = _scrollRef_current.scrollTo) === null || _scrollRef_current_scrollTo === void 0 ? void 0 : _scrollRef_current_scrollTo.call(_scrollRef_current, {
|
|
76
|
+
x: 0,
|
|
77
|
+
y: lockY,
|
|
78
|
+
animated: false
|
|
79
|
+
});
|
|
80
|
+
currentScrollOffset.current = lockY;
|
|
81
|
+
}
|
|
49
82
|
} else {
|
|
83
|
+
if (scrollBridge.enabled === true && scrollBridge.scrollLockY === void 0) {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
scrollBridge.enabled = true;
|
|
50
87
|
lockedScrollY.current = currentScrollOffset.current;
|
|
51
88
|
scrollBridge.scrollLockY = void 0;
|
|
52
89
|
}
|
|
@@ -58,7 +95,84 @@ var SheetScrollView = /* @__PURE__ */React.forwardRef(function (param, ref) {
|
|
|
58
95
|
y,
|
|
59
96
|
animated: false
|
|
60
97
|
});
|
|
98
|
+
currentScrollOffset.current = y;
|
|
61
99
|
};
|
|
100
|
+
var emitManualScroll = React.useCallback(function (node, y) {
|
|
101
|
+
currentScrollOffset.current = y;
|
|
102
|
+
scrollBridge.y = y;
|
|
103
|
+
if (y > 0) scrollBridge.scrollStartY = -1;
|
|
104
|
+
lastEmittedScrollOffset.current = y;
|
|
105
|
+
onScroll === null || onScroll === void 0 ? void 0 : onScroll({
|
|
106
|
+
nativeEvent: {
|
|
107
|
+
contentOffset: {
|
|
108
|
+
x: node.scrollLeft,
|
|
109
|
+
y
|
|
110
|
+
},
|
|
111
|
+
contentSize: {
|
|
112
|
+
height: node.scrollHeight,
|
|
113
|
+
width: node.scrollWidth
|
|
114
|
+
},
|
|
115
|
+
layoutMeasurement: {
|
|
116
|
+
height: node.offsetHeight,
|
|
117
|
+
width: node.offsetWidth
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
timeStamp: Date.now()
|
|
121
|
+
});
|
|
122
|
+
}, [onScroll, scrollBridge]);
|
|
123
|
+
var scrollFocusedInputClearOfKeyboard = React.useCallback(function () {
|
|
124
|
+
var _scrollRef_current;
|
|
125
|
+
if (!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 || !isEditableElement(active) || !node.contains(active)) {
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
var keyboardHeight = Math.max(keyboardOccludedHeight, getWebKeyboardBottomInset());
|
|
134
|
+
if (keyboardHeight <= 0) return;
|
|
135
|
+
var activeRect = active.getBoundingClientRect();
|
|
136
|
+
var nodeRect = node.getBoundingClientRect();
|
|
137
|
+
var margin = 12;
|
|
138
|
+
var keyboardTop = 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 = React.useCallback(function () {
|
|
156
|
+
if (!isWeb || !hasFit) return;
|
|
157
|
+
cancelAnimationFrame(focusedInputScrollFrame.current);
|
|
158
|
+
focusedInputScrollFrame.current = requestAnimationFrame(function () {
|
|
159
|
+
scrollFocusedInputClearOfKeyboard();
|
|
160
|
+
focusedInputScrollFrame.current = requestAnimationFrame(scrollFocusedInputClearOfKeyboard);
|
|
161
|
+
});
|
|
162
|
+
}, [hasFit, scrollFocusedInputClearOfKeyboard]);
|
|
163
|
+
useEffect(function () {
|
|
164
|
+
var _window_visualViewport;
|
|
165
|
+
if (!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]);
|
|
62
176
|
useEffect(function () {
|
|
63
177
|
setHasScrollView(true);
|
|
64
178
|
if (isGestureHandlerEnabled()) {
|
|
@@ -71,14 +185,14 @@ var SheetScrollView = /* @__PURE__ */React.forwardRef(function (param, ref) {
|
|
|
71
185
|
scrollBridge.forceScrollTo = void 0;
|
|
72
186
|
};
|
|
73
187
|
}, []);
|
|
74
|
-
var [hasScrollableContent, setHasScrollableContent] = useState(true);
|
|
75
|
-
var parentHeight = useRef(0);
|
|
76
|
-
var contentHeight = useRef(0);
|
|
77
188
|
var updateScrollable = function () {
|
|
78
189
|
if (parentHeight.current && contentHeight.current) {
|
|
79
190
|
setHasScrollableContent(contentHeight.current > parentHeight.current);
|
|
80
191
|
}
|
|
81
192
|
};
|
|
193
|
+
var recordFitHeight = function (height) {
|
|
194
|
+
parentHeight.current = height;
|
|
195
|
+
};
|
|
82
196
|
useEffect(function () {
|
|
83
197
|
scrollBridge.hasScrollableContent = hasScrollableContent;
|
|
84
198
|
}, [hasScrollableContent]);
|
|
@@ -87,30 +201,36 @@ var SheetScrollView = /* @__PURE__ */React.forwardRef(function (param, ref) {
|
|
|
87
201
|
scrollBridge,
|
|
88
202
|
hasScrollableContent,
|
|
89
203
|
scrollEnabled,
|
|
90
|
-
setScrollEnabled
|
|
204
|
+
setScrollEnabled,
|
|
205
|
+
onManualScroll: emitManualScroll
|
|
91
206
|
});
|
|
92
|
-
var contentWrapper = /* @__PURE__ */
|
|
207
|
+
var contentWrapper = /* @__PURE__ */_jsxs(View, {
|
|
93
208
|
onLayout: function (e) {
|
|
94
209
|
var height = Math.floor(e.nativeEvent.layout.height);
|
|
95
210
|
if (height !== contentHeight.current) {
|
|
96
211
|
contentHeight.current = height;
|
|
97
212
|
updateScrollable();
|
|
213
|
+
if (keyboardOccludedHeight > 0) {
|
|
214
|
+
scheduleFocusedInputScroll();
|
|
215
|
+
}
|
|
98
216
|
}
|
|
99
217
|
},
|
|
100
|
-
children
|
|
218
|
+
children: [children, keyboardOccludedHeight > 0 && /* @__PURE__ */_jsx(View, {
|
|
219
|
+
"data-sheet-keyboard-scroll-pad": true,
|
|
220
|
+
height: keyboardOccludedHeight,
|
|
221
|
+
width: "100%"
|
|
222
|
+
})]
|
|
101
223
|
});
|
|
102
224
|
if (useRNGHScrollView && RNGHScrollView && panGestureRef) {
|
|
103
225
|
var RNGHComponent = RNGHScrollView;
|
|
104
226
|
return /* @__PURE__ */_jsx(RNGHComponent, {
|
|
105
227
|
ref: composeRefs(scrollRef, ref),
|
|
106
|
-
style:
|
|
107
|
-
flex: 1
|
|
108
|
-
},
|
|
228
|
+
style: fitSizingStyle,
|
|
109
229
|
scrollEventThrottle: 1,
|
|
110
230
|
scrollEnabled,
|
|
111
231
|
simultaneousHandlers: [panGestureRef],
|
|
112
232
|
onLayout: function (e) {
|
|
113
|
-
|
|
233
|
+
recordFitHeight(Math.ceil(e.nativeEvent.layout.height));
|
|
114
234
|
updateScrollable();
|
|
115
235
|
},
|
|
116
236
|
onScroll: function (e) {
|
|
@@ -127,40 +247,44 @@ var SheetScrollView = /* @__PURE__ */React.forwardRef(function (param, ref) {
|
|
|
127
247
|
animated: false
|
|
128
248
|
});
|
|
129
249
|
}
|
|
250
|
+
currentScrollOffset.current = scrollBridge.scrollLockY;
|
|
130
251
|
scrollBridge.y = scrollBridge.scrollLockY;
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
...e
|
|
135
|
-
|
|
136
|
-
...e.nativeEvent
|
|
137
|
-
|
|
252
|
+
if (lastEmittedScrollOffset.current !== scrollBridge.scrollLockY) {
|
|
253
|
+
lastEmittedScrollOffset.current = scrollBridge.scrollLockY;
|
|
254
|
+
onScroll === null || onScroll === void 0 ? void 0 : onScroll({
|
|
255
|
+
...e,
|
|
256
|
+
nativeEvent: {
|
|
257
|
+
...e.nativeEvent,
|
|
258
|
+
contentOffset: {
|
|
259
|
+
...e.nativeEvent.contentOffset,
|
|
260
|
+
y: scrollBridge.scrollLockY
|
|
261
|
+
}
|
|
138
262
|
}
|
|
139
|
-
}
|
|
140
|
-
}
|
|
263
|
+
});
|
|
264
|
+
}
|
|
141
265
|
return;
|
|
142
266
|
}
|
|
143
267
|
scrollBridge.y = y;
|
|
144
268
|
if (y > 0) scrollBridge.scrollStartY = -1;
|
|
269
|
+
lastEmittedScrollOffset.current = y;
|
|
145
270
|
onScroll === null || onScroll === void 0 ? void 0 : onScroll(e);
|
|
146
271
|
},
|
|
147
|
-
contentContainerStyle
|
|
148
|
-
minHeight: "100%"
|
|
149
|
-
},
|
|
272
|
+
contentContainerStyle,
|
|
150
273
|
bounces: false,
|
|
151
274
|
keyboardShouldPersistTaps: "always",
|
|
152
275
|
keyboardDismissMode: "none",
|
|
153
276
|
...props,
|
|
277
|
+
...keyboardFrozenOverride,
|
|
154
278
|
children: contentWrapper
|
|
155
279
|
});
|
|
156
280
|
}
|
|
157
281
|
return /* @__PURE__ */_jsx(ScrollView, {
|
|
158
282
|
onLayout: function (e) {
|
|
159
|
-
|
|
283
|
+
recordFitHeight(Math.ceil(e.nativeEvent.layout.height));
|
|
160
284
|
updateScrollable();
|
|
161
285
|
},
|
|
162
286
|
ref: composeRefs(scrollRef, ref),
|
|
163
|
-
|
|
287
|
+
...fitSizingStyle,
|
|
164
288
|
scrollEventThrottle: 1,
|
|
165
289
|
className: "_ovs-contain",
|
|
166
290
|
scrollEnabled,
|
|
@@ -168,15 +292,16 @@ var SheetScrollView = /* @__PURE__ */React.forwardRef(function (param, ref) {
|
|
|
168
292
|
var {
|
|
169
293
|
y
|
|
170
294
|
} = e.nativeEvent.contentOffset;
|
|
295
|
+
currentScrollOffset.current = y;
|
|
171
296
|
scrollBridge.y = y;
|
|
172
297
|
if (y > 0) scrollBridge.scrollStartY = -1;
|
|
298
|
+
lastEmittedScrollOffset.current = y;
|
|
173
299
|
onScroll === null || onScroll === void 0 ? void 0 : onScroll(e);
|
|
174
300
|
},
|
|
175
|
-
contentContainerStyle
|
|
176
|
-
minHeight: "100%"
|
|
177
|
-
},
|
|
301
|
+
contentContainerStyle,
|
|
178
302
|
...gestureProps,
|
|
179
303
|
...props,
|
|
304
|
+
...keyboardFrozenOverride,
|
|
180
305
|
children: contentWrapper
|
|
181
306
|
});
|
|
182
307
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["jsx","_jsx","composeRefs","View","ScrollView","useControllableState","React","useEffect","useRef","useState","useGestureSheetContext","getGestureHandlerState","isGestureHandlerEnabled","useSheetContext","useSheetScrollViewGestures","SHEET_SCROLL_VIEW_NAME","SheetScrollView","forwardRef","param","ref","__scopeSheet","children","onScroll","scrollEnabled","scrollEnabledProp","props","context","gestureContext","scrollBridge","setHasScrollView","prop","defaultProp","scrollRef","panGestureRef","RNGHScrollView","useRNGHScrollView","currentScrollOffset","lockedScrollY","setScrollEnabled","next","lockTo","_scrollRef_current_scrollTo","_scrollRef_current","lockY","current","scrollLockY","scrollTo","call","x","y","animated","forceScrollTo","hasScrollableContent","setHasScrollableContent","parentHeight","contentHeight","updateScrollable","gestureProps","contentWrapper","onLayout","e","height","Math","floor","nativeEvent","layout","RNGHComponent","style","flex","scrollEventThrottle","simultaneousHandlers","ceil","contentOffset","scrollStartY","contentContainerStyle","minHeight","bounces","keyboardShouldPersistTaps","keyboardDismissMode","className"],"sources":["../../src/SheetScrollView.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","jsxs","_jsxs","composeRefs","isWeb","View","ScrollView","useControllableState","React","useEffect","useRef","useState","useGestureSheetContext","getGestureHandlerState","isGestureHandlerEnabled","useSheetContext","useSheetScrollViewGestures","getStableLayoutViewportHeight","getWebKeyboardBottomInset","getWebKeyboardResizeHeight","isEditableElement","MIN_KEYBOARD_HEIGHT","SHEET_SCROLL_VIEW_NAME","SheetScrollView","forwardRef","param","ref","__scopeSheet","children","onScroll","scrollEnabled","scrollEnabledProp","props","context","gestureContext","scrollBridge","setHasScrollView","hasFit","screenSize","keyboardOccludedHeight","Math","max","isKeyboardVisible","prop","defaultProp","scrollRef","hasScrollableContent","setHasScrollableContent","parentHeight","contentHeight","frozenFrameHeight","keyboardStableFrameHeight","fitSizingStyle","flex","height","maxHeight","contentContainerStyle","minHeight","keyboardFrozenOverride","panGestureRef","RNGHScrollView","useRNGHScrollView","currentScrollOffset","lastEmittedScrollOffset","lockedScrollY","focusedInputScrollFrame","setScrollEnabled","next","lockTo","_ref","lockY","scrollLockY","current","enabled","_scrollRef_current_scrollTo","_scrollRef_current","scrollTo","call","x","y","animated","forceScrollTo","emitManualScroll","useCallback","node","scrollStartY","nativeEvent","contentOffset","scrollLeft","contentSize","scrollHeight","width","scrollWidth","layoutMeasurement","offsetHeight","offsetWidth","timeStamp","Date","now","scrollFocusedInputClearOfKeyboard","getScrollableNode","active","document","activeElement","contains","keyboardHeight","activeRect","getBoundingClientRect","nodeRect","margin","keyboardTop","visibleTop","top","visibleBottom","min","bottom","nextScrollTop","scrollTop","ceil","maxScrollTop","clientHeight","scheduleFocusedInputScroll","cancelAnimationFrame","requestAnimationFrame","_window_visualViewport","window","addEventListener","visualViewport","_window_visualViewport2","removeEventListener","updateScrollable","recordFitHeight","gestureProps","onManualScroll","contentWrapper","onLayout","e","floor","layout","RNGHComponent","style","scrollEventThrottle","simultaneousHandlers","bounces","keyboardShouldPersistTaps","keyboardDismissMode","className"],"sources":["../../src/SheetScrollView.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/esm/createSheet.mjs
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { useComposedRefs } from "@hanzogui/compose-refs";
|
|
2
|
-
import { useIsomorphicLayoutEffect } from "@hanzogui/constants";
|
|
2
|
+
import { isWeb, useIsomorphicLayoutEffect } from "@hanzogui/constants";
|
|
3
3
|
import { View } from "@hanzogui/core";
|
|
4
4
|
import { composeEventHandlers, withStaticProperties } from "@hanzogui/helpers";
|
|
5
5
|
import { resolveViewZIndex } from "@hanzogui/portal";
|
|
6
6
|
import { RemoveScroll } from "@hanzogui/remove-scroll";
|
|
7
7
|
import { useDidFinishSSR } from "@hanzogui/use-did-finish-ssr";
|
|
8
8
|
import { StackZIndexContext } from "@hanzogui/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,
|
|
@@ -62,11 +62,12 @@ function createSheet({
|
|
|
62
62
|
const element = useMemo(() => {
|
|
63
63
|
return /* @__PURE__ */jsx(Overlay, {
|
|
64
64
|
...props,
|
|
65
|
+
ref,
|
|
65
66
|
onPress: composeEventHandlers(props.onPress, context.dismissOnOverlayPress ? () => {
|
|
66
67
|
context.setOpen(false);
|
|
67
68
|
} : void 0)
|
|
68
69
|
});
|
|
69
|
-
}, [props
|
|
70
|
+
}, [props, ref, context.dismissOnOverlayPress, context.setOpen]);
|
|
70
71
|
useIsomorphicLayoutEffect(() => {
|
|
71
72
|
context.onOverlayComponent?.(element);
|
|
72
73
|
}, [element]);
|
|
@@ -121,13 +122,15 @@ function createSheet({
|
|
|
121
122
|
}), !disableHideBottomOverflow && /* @__PURE__ */jsx(Frame, {
|
|
122
123
|
...props,
|
|
123
124
|
componentName: "SheetCover",
|
|
125
|
+
"data-sheet-cover": "",
|
|
124
126
|
children: null,
|
|
125
127
|
testID: void 0,
|
|
126
128
|
id: void 0,
|
|
127
129
|
position: "absolute",
|
|
128
|
-
|
|
130
|
+
top: "100%",
|
|
129
131
|
zIndex: -1,
|
|
130
|
-
height: context.frameSize,
|
|
132
|
+
height: isWeb ? Math.max(context.frameSize, getMaxViewportHeight()) : context.frameSize,
|
|
133
|
+
maxHeight: isWeb ? "none" : void 0,
|
|
131
134
|
left: 0,
|
|
132
135
|
right: 0,
|
|
133
136
|
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","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 \"@hanzogui/compose-refs\";\nimport { isWeb, useIsomorphicLayoutEffect } from \"@hanzogui/constants\";\nimport { View } from \"@hanzogui/core\";\nimport { composeEventHandlers, withStaticProperties } from \"@hanzogui/helpers\";\nimport { resolveViewZIndex } from \"@hanzogui/portal\";\nimport { RemoveScroll } from \"@hanzogui/remove-scroll\";\nimport { useDidFinishSSR } from \"@hanzogui/use-did-finish-ssr\";\nimport { StackZIndexContext } from \"@hanzogui/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\tref,\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,\n\t\t\tref,\n\t\t\tcontext.dismissOnOverlayPress,\n\t\t\tcontext.setOpen\n\t\t]);\n\t\tuseIsomorphicLayoutEffect(() => {\n\t\t\tcontext.onOverlayComponent?.(element);\n\t\t}, [element]);\n\t\tif (context.onlyShowFrame) return null;\n\t\treturn null;\n\t});\n\tconst SheetFrame = Frame.styleable(({ __scopeSheet, adjustPaddingForOffscreenContent, disableHideBottomOverflow, children, ...props }, forwardedRef) => {\n\t\tconst context = useSheetContext(SHEET_NAME, __scopeSheet);\n\t\tconst { hasFit, disableRemoveScroll, frameSize, contentRef, open } = context;\n\t\tconst composedContentRef = useComposedRefs(forwardedRef, contentRef);\n\t\tconst offscreenSize = useSheetOffscreenSize(context);\n\t\tconst stableFrameSize = useRef(frameSize);\n\t\tuseEffect(() => {\n\t\t\tif (open && frameSize) stableFrameSize.current = frameSize;\n\t\t}, [open, frameSize]);\n\t\tconst sheetContents = useMemo(() => {\n\t\t\tconst shouldUseFixedHeight = hasFit && !open && stableFrameSize.current;\n\t\t\treturn /* @__PURE__ */ jsxs(Frame, {\n\t\t\t\tref: composedContentRef,\n\t\t\t\tflex: hasFit && open ? 0 : 1,\n\t\t\t\tflexBasis: hasFit ? \"auto\" : void 0,\n\t\t\t\theight: shouldUseFixedHeight ? stableFrameSize.current : hasFit ? void 0 : frameSize,\n\t\t\t\tpointerEvents: open ? \"auto\" : \"none\",\n\t\t\t\t\"data-state\": open ? \"open\" : \"closed\",\n\t\t\t\t...props,\n\t\t\t\tchildren: [/* @__PURE__ */ jsx(StackZIndexContext, {\n\t\t\t\t\tzIndex: resolveViewZIndex(props.zIndex),\n\t\t\t\t\tchildren\n\t\t\t\t}), adjustPaddingForOffscreenContent && /* @__PURE__ */ jsx(View, {\n\t\t\t\t\t\"data-sheet-offscreen-pad\": true,\n\t\t\t\t\theight: offscreenSize,\n\t\t\t\t\twidth: \"100%\"\n\t\t\t\t})]\n\t\t\t});\n\t\t}, [\n\t\t\topen,\n\t\t\tprops,\n\t\t\tframeSize,\n\t\t\toffscreenSize,\n\t\t\tadjustPaddingForOffscreenContent,\n\t\t\thasFit\n\t\t]);\n\t\treturn /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(RemoveScroll, {\n\t\t\tenabled: !disableRemoveScroll && context.open,\n\t\t\tchildren: sheetContents\n\t\t}), !disableHideBottomOverflow && /* @__PURE__ */ jsx(Frame, {\n\t\t\t...props,\n\t\t\tcomponentName: \"SheetCover\",\n\t\t\t\"data-sheet-cover\": \"\",\n\t\t\tchildren: null,\n\t\t\ttestID: void 0,\n\t\t\tid: void 0,\n\t\t\tposition: \"absolute\",\n\t\t\ttop: \"100%\",\n\t\t\tzIndex: -1,\n\t\t\theight: isWeb ? Math.max(context.frameSize, getMaxViewportHeight()) : context.frameSize,\n\t\t\tmaxHeight: isWeb ? \"none\" : void 0,\n\t\t\tleft: 0,\n\t\t\tright: 0,\n\t\t\tborderWidth: 0,\n\t\t\tborderRadius: 0,\n\t\t\tshadowOpacity: 0\n\t\t})] });\n\t});\n\tconst Sheet = forwardRef(function Sheet2(props, ref) {\n\t\tconst hydrated = useDidFinishSSR();\n\t\tconst { isShowingNonSheet } = useSheetController();\n\t\tlet SheetImplementation = SheetImplementationCustom;\n\t\tif (props.native && Platform.OS === \"ios\") {}\n\t\tif (isShowingNonSheet || !hydrated) return null;\n\t\treturn /* @__PURE__ */ jsx(SheetImplementation, {\n\t\t\tref,\n\t\t\t...props\n\t\t});\n\t});\n\tconst components = {\n\t\tFrame: SheetFrame,\n\t\tOverlay: SheetOverlay,\n\t\tHandle: SheetHandle,\n\t\tScrollView: SheetScrollView\n\t};\n\tconst Controlled = withStaticProperties(Sheet, components);\n\treturn withStaticProperties(Sheet, {\n\t\t...components,\n\t\tControlled\n\t});\n}\n\nexport { createSheet };"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { jsx
|
|
1
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useComposedRefs } from "@hanzogui/compose-refs";
|
|
3
|
-
import { useIsomorphicLayoutEffect } from "@hanzogui/constants";
|
|
3
|
+
import { isWeb, useIsomorphicLayoutEffect } from "@hanzogui/constants";
|
|
4
4
|
import { View } from "@hanzogui/core";
|
|
5
5
|
import { composeEventHandlers, withStaticProperties } from "@hanzogui/helpers";
|
|
6
6
|
import { resolveViewZIndex } from "@hanzogui/portal";
|
|
7
7
|
import { RemoveScroll } from "@hanzogui/remove-scroll";
|
|
8
8
|
import { useDidFinishSSR } from "@hanzogui/use-did-finish-ssr";
|
|
9
9
|
import { StackZIndexContext } from "@hanzogui/z-index-stack";
|
|
10
|
-
import { forwardRef,
|
|
10
|
+
import { forwardRef, useEffect, useMemo, useRef } from "react";
|
|
11
11
|
import { Platform } from "react-native";
|
|
12
12
|
import { SHEET_HANDLE_NAME, SHEET_NAME, SHEET_OVERLAY_NAME } from "./constants.native.js";
|
|
13
13
|
import { getNativeSheet } from "./nativeSheet.native.js";
|
|
@@ -16,6 +16,7 @@ import { SheetImplementationCustom } from "./SheetImplementationCustom.native.js
|
|
|
16
16
|
import { SheetScrollView } from "./SheetScrollView.native.js";
|
|
17
17
|
import { useSheetController } from "./useSheetController.native.js";
|
|
18
18
|
import { useSheetOffscreenSize } from "./useSheetOffscreenSize.native.js";
|
|
19
|
+
import { getMaxViewportHeight } from "./webViewport.native.js";
|
|
19
20
|
function createSheet(param) {
|
|
20
21
|
var {
|
|
21
22
|
Handle,
|
|
@@ -37,7 +38,7 @@ function createSheet(param) {
|
|
|
37
38
|
});
|
|
38
39
|
}, [context.scrollBridge]);
|
|
39
40
|
if (context.onlyShowFrame) return null;
|
|
40
|
-
return /* @__PURE__ */
|
|
41
|
+
return /* @__PURE__ */jsx(Handle, {
|
|
41
42
|
ref: composedRef,
|
|
42
43
|
onPressIn: function () {
|
|
43
44
|
wasDraggingRef.current = false;
|
|
@@ -62,13 +63,14 @@ function createSheet(param) {
|
|
|
62
63
|
} = propsIn;
|
|
63
64
|
var context = useSheetContext(SHEET_OVERLAY_NAME, __scopeSheet);
|
|
64
65
|
var element = useMemo(function () {
|
|
65
|
-
return /* @__PURE__ */
|
|
66
|
+
return /* @__PURE__ */jsx(Overlay, {
|
|
66
67
|
...props,
|
|
68
|
+
ref,
|
|
67
69
|
onPress: composeEventHandlers(props.onPress, context.dismissOnOverlayPress ? function () {
|
|
68
70
|
context.setOpen(false);
|
|
69
71
|
} : void 0)
|
|
70
72
|
});
|
|
71
|
-
}, [props
|
|
73
|
+
}, [props, ref, context.dismissOnOverlayPress, context.setOpen]);
|
|
72
74
|
useIsomorphicLayoutEffect(function () {
|
|
73
75
|
var _context_onOverlayComponent;
|
|
74
76
|
(_context_onOverlayComponent = context.onOverlayComponent) === null || _context_onOverlayComponent === void 0 || _context_onOverlayComponent.call(context, element);
|
|
@@ -100,7 +102,7 @@ function createSheet(param) {
|
|
|
100
102
|
}, [open, frameSize]);
|
|
101
103
|
var sheetContents = useMemo(function () {
|
|
102
104
|
var shouldUseFixedHeight = hasFit && !open && stableFrameSize.current;
|
|
103
|
-
return /* @__PURE__ */
|
|
105
|
+
return /* @__PURE__ */jsxs(Frame, {
|
|
104
106
|
ref: composedContentRef,
|
|
105
107
|
flex: hasFit && open ? 0 : 1,
|
|
106
108
|
flexBasis: hasFit ? "auto" : void 0,
|
|
@@ -108,30 +110,32 @@ function createSheet(param) {
|
|
|
108
110
|
pointerEvents: open ? "auto" : "none",
|
|
109
111
|
"data-state": open ? "open" : "closed",
|
|
110
112
|
...props,
|
|
111
|
-
children: [/* @__PURE__ */
|
|
113
|
+
children: [/* @__PURE__ */jsx(StackZIndexContext, {
|
|
112
114
|
zIndex: resolveViewZIndex(props.zIndex),
|
|
113
115
|
children
|
|
114
|
-
}), adjustPaddingForOffscreenContent && /* @__PURE__ */
|
|
116
|
+
}), adjustPaddingForOffscreenContent && /* @__PURE__ */jsx(View, {
|
|
115
117
|
"data-sheet-offscreen-pad": true,
|
|
116
118
|
height: offscreenSize,
|
|
117
119
|
width: "100%"
|
|
118
120
|
})]
|
|
119
121
|
});
|
|
120
122
|
}, [open, props, frameSize, offscreenSize, adjustPaddingForOffscreenContent, hasFit]);
|
|
121
|
-
return /* @__PURE__ */
|
|
122
|
-
children: [/* @__PURE__ */
|
|
123
|
+
return /* @__PURE__ */jsxs(Fragment, {
|
|
124
|
+
children: [/* @__PURE__ */jsx(RemoveScroll, {
|
|
123
125
|
enabled: !disableRemoveScroll && context.open,
|
|
124
126
|
children: sheetContents
|
|
125
|
-
}), !disableHideBottomOverflow && /* @__PURE__ */
|
|
127
|
+
}), !disableHideBottomOverflow && /* @__PURE__ */jsx(Frame, {
|
|
126
128
|
...props,
|
|
127
129
|
componentName: "SheetCover",
|
|
130
|
+
"data-sheet-cover": "",
|
|
128
131
|
children: null,
|
|
129
132
|
testID: void 0,
|
|
130
133
|
id: void 0,
|
|
131
134
|
position: "absolute",
|
|
132
|
-
|
|
135
|
+
top: "100%",
|
|
133
136
|
zIndex: -1,
|
|
134
|
-
height: context.frameSize,
|
|
137
|
+
height: isWeb ? Math.max(context.frameSize, getMaxViewportHeight()) : context.frameSize,
|
|
138
|
+
maxHeight: isWeb ? "none" : void 0,
|
|
135
139
|
left: 0,
|
|
136
140
|
right: 0,
|
|
137
141
|
borderWidth: 0,
|
|
@@ -151,7 +155,7 @@ function createSheet(param) {
|
|
|
151
155
|
if (impl) SheetImplementation = impl;
|
|
152
156
|
}
|
|
153
157
|
if (isShowingNonSheet || !hydrated) return null;
|
|
154
|
-
return /* @__PURE__ */
|
|
158
|
+
return /* @__PURE__ */jsx(SheetImplementation, {
|
|
155
159
|
ref,
|
|
156
160
|
...props
|
|
157
161
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","useComposedRefs","useIsomorphicLayoutEffect","View","composeEventHandlers","withStaticProperties","resolveViewZIndex","RemoveScroll","useDidFinishSSR","StackZIndexContext","forwardRef","useMemo","useEffect","useRef","Platform","SHEET_HANDLE_NAME","SHEET_NAME","SHEET_OVERLAY_NAME","getNativeSheet","useSheetContext","SheetImplementationCustom","SheetScrollView","useSheetController","useSheetOffscreenSize","createSheet","param","Handle","Frame","Overlay","SheetHandle","styleable","param2","forwardedRef","__scopeSheet","props","context","composedRef","handleRef","wasDraggingRef","scrollBridge","onParentDragging","isDragging","current","onlyShowFrame","ref","onPressIn","onPress","max","snapPoints","length","dismissOnSnapToBottom","nextPos","position","setPosition","open","SheetOverlay","propsIn","element","dismissOnOverlayPress","setOpen","opacity","_context_onOverlayComponent","onOverlayComponent","call","SheetFrame","adjustPaddingForOffscreenContent","disableHideBottomOverflow","children","hasFit","disableRemoveScroll","frameSize","contentRef","composedContentRef","offscreenSize","stableFrameSize","sheetContents","shouldUseFixedHeight","flex","flexBasis","height","pointerEvents","zIndex","width","enabled","componentName","testID","id","bottom","left","right","borderWidth","borderRadius","shadowOpacity","Sheet","Sheet2","hydrated","isShowingNonSheet","SheetImplementation","native","OS","impl","components","ScrollView","Controlled"],"sources":["../../src/createSheet.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Fragment","jsx","jsxs","useComposedRefs","isWeb","useIsomorphicLayoutEffect","View","composeEventHandlers","withStaticProperties","resolveViewZIndex","RemoveScroll","useDidFinishSSR","StackZIndexContext","forwardRef","useEffect","useMemo","useRef","Platform","SHEET_HANDLE_NAME","SHEET_NAME","SHEET_OVERLAY_NAME","getNativeSheet","useSheetContext","SheetImplementationCustom","SheetScrollView","useSheetController","useSheetOffscreenSize","getMaxViewportHeight","createSheet","param","Handle","Frame","Overlay","SheetHandle","styleable","param2","forwardedRef","__scopeSheet","props","context","composedRef","handleRef","wasDraggingRef","scrollBridge","onParentDragging","isDragging","current","onlyShowFrame","ref","onPressIn","onPress","max","snapPoints","length","dismissOnSnapToBottom","nextPos","position","setPosition","open","SheetOverlay","propsIn","element","dismissOnOverlayPress","setOpen","_context_onOverlayComponent","onOverlayComponent","call","SheetFrame","adjustPaddingForOffscreenContent","disableHideBottomOverflow","children","hasFit","disableRemoveScroll","frameSize","contentRef","composedContentRef","offscreenSize","stableFrameSize","sheetContents","shouldUseFixedHeight","flex","flexBasis","height","pointerEvents","zIndex","width","enabled","componentName","testID","id","top","Math","maxHeight","left","right","borderWidth","borderRadius","shadowOpacity","Sheet","Sheet2","hydrated","isShowingNonSheet","SheetImplementation","native","OS","impl","components","ScrollView","Controlled"],"sources":["createSheet.native.js"],"sourcesContent":["import { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nimport { useComposedRefs } from \"@hanzogui/compose-refs\";\nimport { isWeb, useIsomorphicLayoutEffect } from \"@hanzogui/constants\";\nimport { View } from \"@hanzogui/core\";\nimport { composeEventHandlers, withStaticProperties } from \"@hanzogui/helpers\";\nimport { resolveViewZIndex } from \"@hanzogui/portal\";\nimport { RemoveScroll } from \"@hanzogui/remove-scroll\";\nimport { useDidFinishSSR } from \"@hanzogui/use-did-finish-ssr\";\nimport { StackZIndexContext } from \"@hanzogui/z-index-stack\";\nimport { forwardRef, useEffect, useMemo, useRef } from \"react\";\nimport { Platform } from \"react-native\";\nimport { SHEET_HANDLE_NAME, SHEET_NAME, SHEET_OVERLAY_NAME } from \"./constants\";\nimport { getNativeSheet } from \"./nativeSheet\";\nimport { useSheetContext } from \"./SheetContext\";\nimport { SheetImplementationCustom } from \"./SheetImplementationCustom\";\nimport { SheetScrollView } from \"./SheetScrollView\";\nimport { useSheetController } from \"./useSheetController\";\nimport { useSheetOffscreenSize } from \"./useSheetOffscreenSize\";\nimport { getMaxViewportHeight } from \"./webViewport\";\n\nfunction createSheet(param) {\n\tvar { Handle, Frame, Overlay } = param;\n\tvar SheetHandle = Handle.styleable(function(param2, forwardedRef) {\n\t\tvar { __scopeSheet, ...props } = param2;\n\t\tvar context = useSheetContext(SHEET_HANDLE_NAME, __scopeSheet);\n\t\tvar composedRef = useComposedRefs(context.handleRef, forwardedRef);\n\t\tvar wasDraggingRef = useRef(false);\n\t\tuseEffect(function() {\n\t\t\tif (!context.scrollBridge) return;\n\t\t\treturn context.scrollBridge.onParentDragging(function(isDragging) {\n\t\t\t\tif (isDragging) wasDraggingRef.current = true;\n\t\t\t});\n\t\t}, [context.scrollBridge]);\n\t\tif (context.onlyShowFrame) return null;\n\t\treturn /* @__PURE__ */ jsx(Handle, {\n\t\t\tref: composedRef,\n\t\t\tonPressIn: function() {\n\t\t\t\twasDraggingRef.current = false;\n\t\t\t},\n\t\t\tonPress: function() {\n\t\t\t\tif (wasDraggingRef.current) {\n\t\t\t\t\twasDraggingRef.current = false;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tvar max = context.snapPoints.length + (context.dismissOnSnapToBottom ? -1 : 0);\n\t\t\t\tvar nextPos = (context.position + 1) % max;\n\t\t\t\tcontext.setPosition(nextPos);\n\t\t\t},\n\t\t\topen: context.open,\n\t\t\t...props\n\t\t});\n\t});\n\tvar SheetOverlay = Overlay.styleable(function(propsIn, ref) {\n\t\tvar { __scopeSheet, ...props } = propsIn;\n\t\tvar context = useSheetContext(SHEET_OVERLAY_NAME, __scopeSheet);\n\t\tvar element = useMemo(function() {\n\t\t\treturn /* @__PURE__ */ jsx(Overlay, {\n\t\t\t\t...props,\n\t\t\t\tref,\n\t\t\t\tonPress: composeEventHandlers(props.onPress, context.dismissOnOverlayPress ? function() {\n\t\t\t\t\tcontext.setOpen(false);\n\t\t\t\t} : void 0)\n\t\t\t});\n\t\t}, [\n\t\t\tprops,\n\t\t\tref,\n\t\t\tcontext.dismissOnOverlayPress,\n\t\t\tcontext.setOpen\n\t\t]);\n\t\tuseIsomorphicLayoutEffect(function() {\n\t\t\tvar _context_onOverlayComponent;\n\t\t\t(_context_onOverlayComponent = context.onOverlayComponent) === null || _context_onOverlayComponent === void 0 || _context_onOverlayComponent.call(context, element);\n\t\t}, [element]);\n\t\tif (context.onlyShowFrame) return null;\n\t\treturn null;\n\t});\n\tvar SheetFrame = Frame.styleable(function(param2, forwardedRef) {\n\t\tvar { __scopeSheet, adjustPaddingForOffscreenContent, disableHideBottomOverflow, children, ...props } = param2;\n\t\tvar context = useSheetContext(SHEET_NAME, __scopeSheet);\n\t\tvar { hasFit, disableRemoveScroll, frameSize, contentRef, open } = context;\n\t\tvar composedContentRef = useComposedRefs(forwardedRef, contentRef);\n\t\tvar offscreenSize = useSheetOffscreenSize(context);\n\t\tvar stableFrameSize = useRef(frameSize);\n\t\tuseEffect(function() {\n\t\t\tif (open && frameSize) stableFrameSize.current = frameSize;\n\t\t}, [open, frameSize]);\n\t\tvar sheetContents = useMemo(function() {\n\t\t\tvar shouldUseFixedHeight = hasFit && !open && stableFrameSize.current;\n\t\t\treturn /* @__PURE__ */ jsxs(Frame, {\n\t\t\t\tref: composedContentRef,\n\t\t\t\tflex: hasFit && open ? 0 : 1,\n\t\t\t\tflexBasis: hasFit ? \"auto\" : void 0,\n\t\t\t\theight: shouldUseFixedHeight ? stableFrameSize.current : hasFit ? void 0 : frameSize,\n\t\t\t\tpointerEvents: open ? \"auto\" : \"none\",\n\t\t\t\t\"data-state\": open ? \"open\" : \"closed\",\n\t\t\t\t...props,\n\t\t\t\tchildren: [/* @__PURE__ */ jsx(StackZIndexContext, {\n\t\t\t\t\tzIndex: resolveViewZIndex(props.zIndex),\n\t\t\t\t\tchildren\n\t\t\t\t}), adjustPaddingForOffscreenContent && /* @__PURE__ */ jsx(View, {\n\t\t\t\t\t\"data-sheet-offscreen-pad\": true,\n\t\t\t\t\theight: offscreenSize,\n\t\t\t\t\twidth: \"100%\"\n\t\t\t\t})]\n\t\t\t});\n\t\t}, [\n\t\t\topen,\n\t\t\tprops,\n\t\t\tframeSize,\n\t\t\toffscreenSize,\n\t\t\tadjustPaddingForOffscreenContent,\n\t\t\thasFit\n\t\t]);\n\t\treturn /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(RemoveScroll, {\n\t\t\tenabled: !disableRemoveScroll && context.open,\n\t\t\tchildren: sheetContents\n\t\t}), !disableHideBottomOverflow && /* @__PURE__ */ jsx(Frame, {\n\t\t\t...props,\n\t\t\tcomponentName: \"SheetCover\",\n\t\t\t\"data-sheet-cover\": \"\",\n\t\t\tchildren: null,\n\t\t\ttestID: void 0,\n\t\t\tid: void 0,\n\t\t\tposition: \"absolute\",\n\t\t\ttop: \"100%\",\n\t\t\tzIndex: -1,\n\t\t\theight: isWeb ? Math.max(context.frameSize, getMaxViewportHeight()) : context.frameSize,\n\t\t\tmaxHeight: isWeb ? \"none\" : void 0,\n\t\t\tleft: 0,\n\t\t\tright: 0,\n\t\t\tborderWidth: 0,\n\t\t\tborderRadius: 0,\n\t\t\tshadowOpacity: 0\n\t\t})] });\n\t});\n\tvar Sheet = /* @__PURE__ */ forwardRef(function Sheet2(props, ref) {\n\t\tvar hydrated = useDidFinishSSR();\n\t\tvar { isShowingNonSheet } = useSheetController();\n\t\tvar SheetImplementation = SheetImplementationCustom;\n\t\tif (props.native && Platform.OS === \"ios\") {\n\t\t\tvar impl = getNativeSheet(\"ios\");\n\t\t\tif (impl) SheetImplementation = impl;\n\t\t}\n\t\tif (isShowingNonSheet || !hydrated) return null;\n\t\treturn /* @__PURE__ */ jsx(SheetImplementation, {\n\t\t\tref,\n\t\t\t...props\n\t\t});\n\t});\n\tvar components = {\n\t\tFrame: SheetFrame,\n\t\tOverlay: SheetOverlay,\n\t\tHandle: SheetHandle,\n\t\tScrollView: SheetScrollView\n\t};\n\tvar Controlled = withStaticProperties(Sheet, components);\n\treturn withStaticProperties(Sheet, {\n\t\t...components,\n\t\tControlled\n\t});\n}\n\nexport { createSheet };"],"mappings":"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","ignoreList":[]}
|