@hanzogui/sheet 2.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/LICENSE +21 -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.cjs +48 -0
- package/dist/cjs/GestureDetectorWrapper.native.js +53 -0
- package/dist/cjs/GestureDetectorWrapper.native.js.map +1 -0
- package/dist/cjs/GestureSheetContext.cjs +52 -0
- package/dist/cjs/GestureSheetContext.native.js +56 -0
- package/dist/cjs/GestureSheetContext.native.js.map +1 -0
- package/dist/cjs/Sheet.cjs +117 -0
- package/dist/cjs/Sheet.native.js +120 -0
- package/dist/cjs/Sheet.native.js.map +1 -0
- package/dist/cjs/SheetContext.cjs +32 -0
- package/dist/cjs/SheetContext.native.js +35 -0
- package/dist/cjs/SheetContext.native.js.map +1 -0
- package/dist/cjs/SheetController.cjs +65 -0
- package/dist/cjs/SheetController.native.js +71 -0
- package/dist/cjs/SheetController.native.js.map +1 -0
- package/dist/cjs/SheetImplementationCustom.cjs +472 -0
- package/dist/cjs/SheetImplementationCustom.native.js +524 -0
- package/dist/cjs/SheetImplementationCustom.native.js.map +1 -0
- package/dist/cjs/SheetScrollView.cjs +180 -0
- package/dist/cjs/SheetScrollView.native.js +197 -0
- package/dist/cjs/SheetScrollView.native.js.map +1 -0
- package/dist/cjs/constants.cjs +32 -0
- package/dist/cjs/constants.native.js +35 -0
- package/dist/cjs/constants.native.js.map +1 -0
- package/dist/cjs/contexts.cjs +42 -0
- package/dist/cjs/contexts.native.js +45 -0
- package/dist/cjs/contexts.native.js.map +1 -0
- package/dist/cjs/controller.cjs +29 -0
- package/dist/cjs/controller.native.js +32 -0
- package/dist/cjs/controller.native.js.map +1 -0
- package/dist/cjs/createSheet.cjs +191 -0
- package/dist/cjs/createSheet.native.js +208 -0
- package/dist/cjs/createSheet.native.js.map +1 -0
- package/dist/cjs/gestureState.cjs +39 -0
- package/dist/cjs/gestureState.native.js +42 -0
- package/dist/cjs/gestureState.native.js.map +1 -0
- package/dist/cjs/helpers.cjs +31 -0
- package/dist/cjs/helpers.native.js +35 -0
- package/dist/cjs/helpers.native.js.map +1 -0
- package/dist/cjs/index.cjs +28 -0
- package/dist/cjs/index.native.js +31 -0
- package/dist/cjs/index.native.js.map +1 -0
- package/dist/cjs/nativeSheet.cjs +87 -0
- package/dist/cjs/nativeSheet.native.js +101 -0
- package/dist/cjs/nativeSheet.native.js.map +1 -0
- package/dist/cjs/setupGestureHandler.cjs +46 -0
- package/dist/cjs/setupGestureHandler.native.js +50 -0
- package/dist/cjs/setupGestureHandler.native.js.map +1 -0
- package/dist/cjs/types.cjs +16 -0
- package/dist/cjs/types.native.js +19 -0
- package/dist/cjs/types.native.js.map +1 -0
- package/dist/cjs/useGestureHandlerPan.cjs +136 -0
- package/dist/cjs/useGestureHandlerPan.native.js +145 -0
- package/dist/cjs/useGestureHandlerPan.native.js.map +1 -0
- package/dist/cjs/useKeyboardControllerSheet.cjs +38 -0
- package/dist/cjs/useKeyboardControllerSheet.native.js +114 -0
- package/dist/cjs/useKeyboardControllerSheet.native.js.map +1 -0
- package/dist/cjs/useSheet.cjs +27 -0
- package/dist/cjs/useSheet.native.js +32 -0
- package/dist/cjs/useSheet.native.js.map +1 -0
- package/dist/cjs/useSheetController.cjs +50 -0
- package/dist/cjs/useSheetController.native.js +53 -0
- package/dist/cjs/useSheetController.native.js.map +1 -0
- package/dist/cjs/useSheetOffscreenSize.cjs +51 -0
- package/dist/cjs/useSheetOffscreenSize.native.js +61 -0
- package/dist/cjs/useSheetOffscreenSize.native.js.map +1 -0
- package/dist/cjs/useSheetOpenState.cjs +49 -0
- package/dist/cjs/useSheetOpenState.native.js +56 -0
- package/dist/cjs/useSheetOpenState.native.js.map +1 -0
- package/dist/cjs/useSheetProviderProps.cjs +133 -0
- package/dist/cjs/useSheetProviderProps.native.js +153 -0
- package/dist/cjs/useSheetProviderProps.native.js.map +1 -0
- package/dist/cjs/useSheetScrollViewGestures.cjs +123 -0
- package/dist/cjs/useSheetScrollViewGestures.native.js +110 -0
- package/dist/cjs/useSheetScrollViewGestures.native.js.map +1 -0
- package/dist/esm/GestureDetectorWrapper.mjs +25 -0
- package/dist/esm/GestureDetectorWrapper.mjs.map +1 -0
- package/dist/esm/GestureDetectorWrapper.native.js +27 -0
- package/dist/esm/GestureDetectorWrapper.native.js.map +1 -0
- package/dist/esm/GestureSheetContext.mjs +28 -0
- package/dist/esm/GestureSheetContext.mjs.map +1 -0
- package/dist/esm/GestureSheetContext.native.js +29 -0
- package/dist/esm/GestureSheetContext.native.js.map +1 -0
- package/dist/esm/Sheet.mjs +89 -0
- package/dist/esm/Sheet.mjs.map +1 -0
- package/dist/esm/Sheet.native.js +89 -0
- package/dist/esm/Sheet.native.js.map +1 -0
- package/dist/esm/SheetContext.mjs +6 -0
- package/dist/esm/SheetContext.mjs.map +1 -0
- package/dist/esm/SheetContext.native.js +6 -0
- package/dist/esm/SheetContext.native.js.map +1 -0
- package/dist/esm/SheetController.mjs +31 -0
- package/dist/esm/SheetController.mjs.map +1 -0
- package/dist/esm/SheetController.native.js +34 -0
- package/dist/esm/SheetController.native.js.map +1 -0
- package/dist/esm/SheetImplementationCustom.mjs +437 -0
- package/dist/esm/SheetImplementationCustom.mjs.map +1 -0
- package/dist/esm/SheetImplementationCustom.native.js +487 -0
- package/dist/esm/SheetImplementationCustom.native.js.map +1 -0
- package/dist/esm/SheetScrollView.mjs +146 -0
- package/dist/esm/SheetScrollView.mjs.map +1 -0
- package/dist/esm/SheetScrollView.native.js +160 -0
- package/dist/esm/SheetScrollView.native.js.map +1 -0
- package/dist/esm/constants.mjs +6 -0
- package/dist/esm/constants.mjs.map +1 -0
- package/dist/esm/constants.native.js +6 -0
- package/dist/esm/constants.native.js.map +1 -0
- package/dist/esm/contexts.mjs +7 -0
- package/dist/esm/contexts.mjs.map +1 -0
- package/dist/esm/contexts.native.js +7 -0
- package/dist/esm/contexts.native.js.map +1 -0
- package/dist/esm/controller.mjs +4 -0
- package/dist/esm/controller.mjs.map +1 -0
- package/dist/esm/controller.native.js +4 -0
- package/dist/esm/controller.native.js.map +1 -0
- package/dist/esm/createSheet.mjs +168 -0
- package/dist/esm/createSheet.mjs.map +1 -0
- package/dist/esm/createSheet.native.js +182 -0
- package/dist/esm/createSheet.native.js.map +1 -0
- package/dist/esm/gestureState.mjs +13 -0
- package/dist/esm/gestureState.mjs.map +1 -0
- package/dist/esm/gestureState.native.js +13 -0
- package/dist/esm/gestureState.native.js.map +1 -0
- package/dist/esm/helpers.mjs +8 -0
- package/dist/esm/helpers.mjs.map +1 -0
- package/dist/esm/helpers.native.js +9 -0
- package/dist/esm/helpers.native.js.map +1 -0
- package/dist/esm/index.js +12 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/index.mjs +12 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/esm/index.native.js +12 -0
- package/dist/esm/index.native.js.map +1 -0
- package/dist/esm/nativeSheet.mjs +63 -0
- package/dist/esm/nativeSheet.mjs.map +1 -0
- package/dist/esm/nativeSheet.native.js +74 -0
- package/dist/esm/nativeSheet.native.js.map +1 -0
- package/dist/esm/setupGestureHandler.mjs +22 -0
- package/dist/esm/setupGestureHandler.mjs.map +1 -0
- package/dist/esm/setupGestureHandler.native.js +23 -0
- package/dist/esm/setupGestureHandler.native.js.map +1 -0
- package/dist/esm/types.mjs +2 -0
- package/dist/esm/types.mjs.map +1 -0
- package/dist/esm/types.native.js +2 -0
- package/dist/esm/types.native.js.map +1 -0
- package/dist/esm/useGestureHandlerPan.mjs +113 -0
- package/dist/esm/useGestureHandlerPan.mjs.map +1 -0
- package/dist/esm/useGestureHandlerPan.native.js +119 -0
- package/dist/esm/useGestureHandlerPan.native.js.map +1 -0
- package/dist/esm/useKeyboardControllerSheet.mjs +15 -0
- package/dist/esm/useKeyboardControllerSheet.mjs.map +1 -0
- package/dist/esm/useKeyboardControllerSheet.native.js +88 -0
- package/dist/esm/useKeyboardControllerSheet.native.js.map +1 -0
- package/dist/esm/useSheet.mjs +4 -0
- package/dist/esm/useSheet.mjs.map +1 -0
- package/dist/esm/useSheet.native.js +6 -0
- package/dist/esm/useSheet.native.js.map +1 -0
- package/dist/esm/useSheetController.mjs +15 -0
- package/dist/esm/useSheetController.mjs.map +1 -0
- package/dist/esm/useSheetController.native.js +15 -0
- package/dist/esm/useSheetController.native.js.map +1 -0
- package/dist/esm/useSheetOffscreenSize.mjs +28 -0
- package/dist/esm/useSheetOffscreenSize.mjs.map +1 -0
- package/dist/esm/useSheetOffscreenSize.native.js +35 -0
- package/dist/esm/useSheetOffscreenSize.native.js.map +1 -0
- package/dist/esm/useSheetOpenState.mjs +26 -0
- package/dist/esm/useSheetOpenState.mjs.map +1 -0
- package/dist/esm/useSheetOpenState.native.js +30 -0
- package/dist/esm/useSheetOpenState.native.js.map +1 -0
- package/dist/esm/useSheetProviderProps.mjs +99 -0
- package/dist/esm/useSheetProviderProps.mjs.map +1 -0
- package/dist/esm/useSheetProviderProps.native.js +116 -0
- package/dist/esm/useSheetProviderProps.native.js.map +1 -0
- package/dist/esm/useSheetScrollViewGestures.mjs +100 -0
- package/dist/esm/useSheetScrollViewGestures.mjs.map +1 -0
- package/dist/esm/useSheetScrollViewGestures.native.js +84 -0
- package/dist/esm/useSheetScrollViewGestures.native.js.map +1 -0
- package/dist/jsx/GestureDetectorWrapper.mjs +25 -0
- package/dist/jsx/GestureDetectorWrapper.mjs.map +1 -0
- package/dist/jsx/GestureDetectorWrapper.native.js +53 -0
- package/dist/jsx/GestureDetectorWrapper.native.js.map +1 -0
- package/dist/jsx/GestureSheetContext.mjs +28 -0
- package/dist/jsx/GestureSheetContext.mjs.map +1 -0
- package/dist/jsx/GestureSheetContext.native.js +56 -0
- package/dist/jsx/GestureSheetContext.native.js.map +1 -0
- package/dist/jsx/Sheet.mjs +89 -0
- package/dist/jsx/Sheet.mjs.map +1 -0
- package/dist/jsx/Sheet.native.js +120 -0
- package/dist/jsx/Sheet.native.js.map +1 -0
- package/dist/jsx/SheetContext.mjs +6 -0
- package/dist/jsx/SheetContext.mjs.map +1 -0
- package/dist/jsx/SheetContext.native.js +35 -0
- package/dist/jsx/SheetContext.native.js.map +1 -0
- package/dist/jsx/SheetController.mjs +31 -0
- package/dist/jsx/SheetController.mjs.map +1 -0
- package/dist/jsx/SheetController.native.js +71 -0
- package/dist/jsx/SheetController.native.js.map +1 -0
- package/dist/jsx/SheetImplementationCustom.mjs +437 -0
- package/dist/jsx/SheetImplementationCustom.mjs.map +1 -0
- package/dist/jsx/SheetImplementationCustom.native.js +524 -0
- package/dist/jsx/SheetImplementationCustom.native.js.map +1 -0
- package/dist/jsx/SheetScrollView.mjs +146 -0
- package/dist/jsx/SheetScrollView.mjs.map +1 -0
- package/dist/jsx/SheetScrollView.native.js +197 -0
- package/dist/jsx/SheetScrollView.native.js.map +1 -0
- package/dist/jsx/constants.mjs +6 -0
- package/dist/jsx/constants.mjs.map +1 -0
- package/dist/jsx/constants.native.js +35 -0
- package/dist/jsx/constants.native.js.map +1 -0
- package/dist/jsx/contexts.mjs +7 -0
- package/dist/jsx/contexts.mjs.map +1 -0
- package/dist/jsx/contexts.native.js +45 -0
- package/dist/jsx/contexts.native.js.map +1 -0
- package/dist/jsx/controller.mjs +4 -0
- package/dist/jsx/controller.mjs.map +1 -0
- package/dist/jsx/controller.native.js +32 -0
- package/dist/jsx/controller.native.js.map +1 -0
- package/dist/jsx/createSheet.mjs +168 -0
- package/dist/jsx/createSheet.mjs.map +1 -0
- package/dist/jsx/createSheet.native.js +208 -0
- package/dist/jsx/createSheet.native.js.map +1 -0
- package/dist/jsx/gestureState.mjs +13 -0
- package/dist/jsx/gestureState.mjs.map +1 -0
- package/dist/jsx/gestureState.native.js +42 -0
- package/dist/jsx/gestureState.native.js.map +1 -0
- package/dist/jsx/helpers.mjs +8 -0
- package/dist/jsx/helpers.mjs.map +1 -0
- package/dist/jsx/helpers.native.js +35 -0
- package/dist/jsx/helpers.native.js.map +1 -0
- package/dist/jsx/index.js +12 -0
- package/dist/jsx/index.js.map +1 -0
- package/dist/jsx/index.mjs +12 -0
- package/dist/jsx/index.mjs.map +1 -0
- package/dist/jsx/index.native.js +31 -0
- package/dist/jsx/index.native.js.map +1 -0
- package/dist/jsx/nativeSheet.mjs +63 -0
- package/dist/jsx/nativeSheet.mjs.map +1 -0
- package/dist/jsx/nativeSheet.native.js +101 -0
- package/dist/jsx/nativeSheet.native.js.map +1 -0
- package/dist/jsx/setupGestureHandler.mjs +22 -0
- package/dist/jsx/setupGestureHandler.mjs.map +1 -0
- package/dist/jsx/setupGestureHandler.native.js +50 -0
- package/dist/jsx/setupGestureHandler.native.js.map +1 -0
- package/dist/jsx/types.mjs +2 -0
- package/dist/jsx/types.mjs.map +1 -0
- package/dist/jsx/types.native.js +19 -0
- package/dist/jsx/types.native.js.map +1 -0
- package/dist/jsx/useGestureHandlerPan.mjs +113 -0
- package/dist/jsx/useGestureHandlerPan.mjs.map +1 -0
- package/dist/jsx/useGestureHandlerPan.native.js +145 -0
- package/dist/jsx/useGestureHandlerPan.native.js.map +1 -0
- package/dist/jsx/useKeyboardControllerSheet.mjs +15 -0
- package/dist/jsx/useKeyboardControllerSheet.mjs.map +1 -0
- package/dist/jsx/useKeyboardControllerSheet.native.js +114 -0
- package/dist/jsx/useKeyboardControllerSheet.native.js.map +1 -0
- package/dist/jsx/useSheet.mjs +4 -0
- package/dist/jsx/useSheet.mjs.map +1 -0
- package/dist/jsx/useSheet.native.js +32 -0
- package/dist/jsx/useSheet.native.js.map +1 -0
- package/dist/jsx/useSheetController.mjs +15 -0
- package/dist/jsx/useSheetController.mjs.map +1 -0
- package/dist/jsx/useSheetController.native.js +53 -0
- package/dist/jsx/useSheetController.native.js.map +1 -0
- package/dist/jsx/useSheetOffscreenSize.mjs +28 -0
- package/dist/jsx/useSheetOffscreenSize.mjs.map +1 -0
- package/dist/jsx/useSheetOffscreenSize.native.js +61 -0
- package/dist/jsx/useSheetOffscreenSize.native.js.map +1 -0
- package/dist/jsx/useSheetOpenState.mjs +26 -0
- package/dist/jsx/useSheetOpenState.mjs.map +1 -0
- package/dist/jsx/useSheetOpenState.native.js +56 -0
- package/dist/jsx/useSheetOpenState.native.js.map +1 -0
- package/dist/jsx/useSheetProviderProps.mjs +99 -0
- package/dist/jsx/useSheetProviderProps.mjs.map +1 -0
- package/dist/jsx/useSheetProviderProps.native.js +153 -0
- package/dist/jsx/useSheetProviderProps.native.js.map +1 -0
- package/dist/jsx/useSheetScrollViewGestures.mjs +100 -0
- package/dist/jsx/useSheetScrollViewGestures.mjs.map +1 -0
- package/dist/jsx/useSheetScrollViewGestures.native.js +110 -0
- package/dist/jsx/useSheetScrollViewGestures.native.js.map +1 -0
- package/next.md +78 -0
- package/package.json +96 -0
- 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/setup-gesture-handler.cjs +1 -0
- package/src/GestureDetectorWrapper.tsx +41 -0
- package/src/GestureSheetContext.tsx +62 -0
- package/src/Sheet.tsx +114 -0
- package/src/SheetContext.tsx +11 -0
- package/src/SheetController.tsx +44 -0
- package/src/SheetImplementationCustom.tsx +868 -0
- package/src/SheetScrollView.tsx +195 -0
- package/src/constants.tsx +5 -0
- package/src/contexts.ts +9 -0
- package/src/controller.ts +9 -0
- package/src/createSheet.tsx +296 -0
- package/src/gestureState.ts +24 -0
- package/src/helpers.tsx +31 -0
- package/src/index.ts +11 -0
- package/src/nativeSheet.tsx +89 -0
- package/src/setupGestureHandler.ts +34 -0
- package/src/types.tsx +181 -0
- package/src/useGestureHandlerPan.tsx +364 -0
- package/src/useKeyboardControllerSheet.native.ts +136 -0
- package/src/useKeyboardControllerSheet.ts +26 -0
- package/src/useSheet.tsx +3 -0
- package/src/useSheetController.tsx +27 -0
- package/src/useSheetOffscreenSize.tsx +49 -0
- package/src/useSheetOpenState.tsx +33 -0
- package/src/useSheetProviderProps.tsx +223 -0
- package/src/useSheetScrollViewGestures.native.ts +163 -0
- package/src/useSheetScrollViewGestures.ts +194 -0
- package/tsconfig.json +56 -0
- package/types/GestureDetectorWrapper.d.ts +14 -0
- package/types/GestureSheetContext.d.ts +36 -0
- package/types/Sheet.d.ts +183 -0
- package/types/SheetContext.d.ts +43 -0
- package/types/SheetController.d.ts +6 -0
- package/types/SheetImplementationCustom.d.ts +36 -0
- package/types/SheetScrollView.d.ts +40 -0
- package/types/constants.d.ts +5 -0
- package/types/contexts.d.ts +6 -0
- package/types/controller.d.ts +3 -0
- package/types/createSheet.d.ts +194 -0
- package/types/gestureState.d.ts +11 -0
- package/types/helpers.d.ts +2 -0
- package/types/index.d.ts +12 -0
- package/types/nativeSheet.d.ts +10 -0
- package/types/setupGestureHandler.d.ts +11 -0
- package/types/types.d.ts +147 -0
- package/types/useGestureHandlerPan.d.ts +44 -0
- package/types/useKeyboardControllerSheet.d.ts +7 -0
- package/types/useKeyboardControllerSheet.native.d.ts +13 -0
- package/types/useSheet.d.ts +2 -0
- package/types/useSheetController.d.ts +17 -0
- package/types/useSheetOffscreenSize.d.ts +3 -0
- package/types/useSheetOpenState.d.ts +9 -0
- package/types/useSheetProviderProps.d.ts +36 -0
- package/types/useSheetScrollViewGestures.d.ts +12 -0
- package/types/useSheetScrollViewGestures.native.d.ts +21 -0
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { useCallback, useEffect, useRef, useState } from "react";
|
|
2
|
+
import { Keyboard, Platform } from "react-native";
|
|
3
|
+
var isKeyboardControllerEnabled = function () {
|
|
4
|
+
return !1;
|
|
5
|
+
},
|
|
6
|
+
getKeyboardControllerState = function () {
|
|
7
|
+
return {};
|
|
8
|
+
};
|
|
9
|
+
try {
|
|
10
|
+
var nativeModule = require("@hanzo/gui-native");
|
|
11
|
+
isKeyboardControllerEnabled = nativeModule.isKeyboardControllerEnabled, getKeyboardControllerState = nativeModule.getKeyboardControllerState;
|
|
12
|
+
} catch {}
|
|
13
|
+
function useKeyboardControllerSheet(options) {
|
|
14
|
+
var {
|
|
15
|
+
enabled
|
|
16
|
+
} = options,
|
|
17
|
+
[keyboardHeight, setKeyboardHeight] = useState(0),
|
|
18
|
+
[isKeyboardVisible, setIsKeyboardVisible] = useState(!1),
|
|
19
|
+
keyboardControllerEnabled = isKeyboardControllerEnabled(),
|
|
20
|
+
pauseKeyboardHandler = useRef(!1),
|
|
21
|
+
pendingHide = useRef(!1),
|
|
22
|
+
dismissKeyboard = useCallback(function () {
|
|
23
|
+
if (Keyboard.dismiss(), keyboardControllerEnabled) try {
|
|
24
|
+
var _KeyboardController_dismiss,
|
|
25
|
+
{
|
|
26
|
+
KeyboardController
|
|
27
|
+
} = getKeyboardControllerState();
|
|
28
|
+
KeyboardController == null || (_KeyboardController_dismiss = KeyboardController.dismiss) === null || _KeyboardController_dismiss === void 0 || _KeyboardController_dismiss.call(KeyboardController);
|
|
29
|
+
} catch {}
|
|
30
|
+
},
|
|
31
|
+
// ignore errors from keyboard-controller
|
|
32
|
+
[keyboardControllerEnabled]),
|
|
33
|
+
flushPendingHide = useCallback(function () {
|
|
34
|
+
pendingHide.current && (pendingHide.current = !1, setIsKeyboardVisible(!1), setKeyboardHeight(0));
|
|
35
|
+
}, []);
|
|
36
|
+
return useEffect(function () {
|
|
37
|
+
if (!(!enabled || !keyboardControllerEnabled)) {
|
|
38
|
+
var {
|
|
39
|
+
KeyboardEvents
|
|
40
|
+
} = getKeyboardControllerState();
|
|
41
|
+
if (KeyboardEvents?.addListener) {
|
|
42
|
+
var showSub = KeyboardEvents.addListener("keyboardWillShow", function (e) {
|
|
43
|
+
var _e_height,
|
|
44
|
+
height = (_e_height = e?.height) !== null && _e_height !== void 0 ? _e_height : 0;
|
|
45
|
+
height > 0 && setKeyboardHeight(height), setIsKeyboardVisible(!0);
|
|
46
|
+
}),
|
|
47
|
+
hideSub = KeyboardEvents.addListener("keyboardWillHide", function () {
|
|
48
|
+
if (pauseKeyboardHandler.current) {
|
|
49
|
+
pendingHide.current = !0;
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
setIsKeyboardVisible(!1), setKeyboardHeight(0);
|
|
53
|
+
});
|
|
54
|
+
return function () {
|
|
55
|
+
var _showSub_remove, _hideSub_remove;
|
|
56
|
+
showSub == null || (_showSub_remove = showSub.remove) === null || _showSub_remove === void 0 || _showSub_remove.call(showSub), hideSub == null || (_hideSub_remove = hideSub.remove) === null || _hideSub_remove === void 0 || _hideSub_remove.call(hideSub);
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}, [enabled, keyboardControllerEnabled]), useEffect(function () {
|
|
61
|
+
if (enabled && !keyboardControllerEnabled) {
|
|
62
|
+
var showEvent = Platform.OS === "ios" ? "keyboardWillShow" : "keyboardDidShow",
|
|
63
|
+
hideEvent = Platform.OS === "ios" ? "keyboardWillHide" : "keyboardDidHide",
|
|
64
|
+
showListener = Keyboard.addListener(showEvent, function (e) {
|
|
65
|
+
setKeyboardHeight(e.endCoordinates.height), setIsKeyboardVisible(!0);
|
|
66
|
+
}),
|
|
67
|
+
hideListener = Keyboard.addListener(hideEvent, function () {
|
|
68
|
+
if (pauseKeyboardHandler.current) {
|
|
69
|
+
pendingHide.current = !0;
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
setIsKeyboardVisible(!1), setKeyboardHeight(0);
|
|
73
|
+
});
|
|
74
|
+
return function () {
|
|
75
|
+
showListener.remove(), hideListener.remove();
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
}, [enabled, keyboardControllerEnabled]), {
|
|
79
|
+
keyboardControllerEnabled,
|
|
80
|
+
keyboardHeight,
|
|
81
|
+
isKeyboardVisible,
|
|
82
|
+
dismissKeyboard,
|
|
83
|
+
pauseKeyboardHandler,
|
|
84
|
+
flushPendingHide
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
export { useKeyboardControllerSheet };
|
|
88
|
+
//# sourceMappingURL=useKeyboardControllerSheet.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useRef","useState","Keyboard","Platform","isKeyboardControllerEnabled","getKeyboardControllerState","nativeModule","require","useKeyboardControllerSheet","options","enabled","keyboardHeight","setKeyboardHeight","isKeyboardVisible","setIsKeyboardVisible","keyboardControllerEnabled","pauseKeyboardHandler","pendingHide","dismissKeyboard","dismiss","_KeyboardController_dismiss","KeyboardController","call","flushPendingHide","current","KeyboardEvents","addListener","showSub","e","_e_height","height","hideSub","_showSub_remove","_hideSub_remove","remove","showEvent","OS","hideEvent","showListener","endCoordinates","hideListener"],"sources":["../../src/useKeyboardControllerSheet.native.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useSheetContext","useSheet"],"sources":["../../src/useSheet.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,eAAA,QAAuB;AAEzB,MAAMC,QAAA,GAAWA,CAAA,KAAMD,eAAA,CAAgB,IAAI,MAAS","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useSheetContext","useSheet"],"sources":["../../src/useSheet.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,eAAA,QAAuB;AAEzB,IAAAC,QAAM,YAAAA,CAAA,EAAiB","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
const useSheetController = () => {
|
|
3
|
+
const controller = React.useContext(SheetControllerContext),
|
|
4
|
+
isHidden = controller?.hidden,
|
|
5
|
+
isShowingNonSheet = isHidden && controller?.open;
|
|
6
|
+
return {
|
|
7
|
+
controller,
|
|
8
|
+
isHidden,
|
|
9
|
+
isShowingNonSheet,
|
|
10
|
+
disableDrag: controller?.disableDrag
|
|
11
|
+
};
|
|
12
|
+
},
|
|
13
|
+
SheetControllerContext = React.createContext(null);
|
|
14
|
+
export { SheetControllerContext, useSheetController };
|
|
15
|
+
//# sourceMappingURL=useSheetController.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useSheetController","controller","useContext","SheetControllerContext","isHidden","hidden","isShowingNonSheet","open","disableDrag","createContext"],"sources":["../../src/useSheetController.tsx"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,KAAA,MAAW;AAEX,MAAMC,kBAAA,GAAqBA,CAAA,KAAM;IACtC,MAAMC,UAAA,GAAaF,KAAA,CAAMG,UAAA,CAAWC,sBAAsB;MACpDC,QAAA,GAAWH,UAAA,EAAYI,MAAA;MACvBC,iBAAA,GAAoBF,QAAA,IAAYH,UAAA,EAAYM,IAAA;IAClD,OAAO;MACLN,UAAA;MACAG,QAAA;MACAE,iBAAA;MACAE,WAAA,EAAaP,UAAA,EAAYO;IAC3B;EACF;EAEaL,sBAAA,GACXJ,KAAA,CAAMU,aAAA,CAAkD,IAAI","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
var useSheetController = function () {
|
|
3
|
+
var controller = React.useContext(SheetControllerContext),
|
|
4
|
+
isHidden = controller?.hidden,
|
|
5
|
+
isShowingNonSheet = isHidden && controller?.open;
|
|
6
|
+
return {
|
|
7
|
+
controller,
|
|
8
|
+
isHidden,
|
|
9
|
+
isShowingNonSheet,
|
|
10
|
+
disableDrag: controller?.disableDrag
|
|
11
|
+
};
|
|
12
|
+
},
|
|
13
|
+
SheetControllerContext = /* @__PURE__ */React.createContext(null);
|
|
14
|
+
export { SheetControllerContext, useSheetController };
|
|
15
|
+
//# sourceMappingURL=useSheetController.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useSheetController","controller","useContext","SheetControllerContext","isHidden","hidden","isShowingNonSheet","open","disableDrag","createContext"],"sources":["../../src/useSheetController.tsx"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,KAAA,MAAW;AAEX,IAAAC,kBAAM,YAAAA,CAAA,EAA2B;IACtC,IAAAC,UAAM,GAAAF,KAAa,CAAAG,UAAM,CAAAC,sBAAW;MAAsBC,QACpD,GAAAH,UAAW,EAAAI,MAAY;MAAAC,iBACvB,GAAAF,QAAoB,IAAAH,UAAY,EAAAM,IAAY;IAClD,OAAO;MACLN,UAAA;MACAG,QAAA;MACAE,iBAAA;MACAE,WAAA,EAAaP,UAAA,EAAYO;IAC3B;EACF;EAEaL,sBAAA,GACX,eAAMJ,KAAkD,CAAAU,aAAI","ignoreList":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
const useSheetOffscreenSize = ({
|
|
2
|
+
snapPoints,
|
|
3
|
+
position,
|
|
4
|
+
screenSize,
|
|
5
|
+
frameSize,
|
|
6
|
+
snapPointsMode
|
|
7
|
+
}) => {
|
|
8
|
+
if (snapPointsMode === "fit") return 0;
|
|
9
|
+
if (snapPointsMode === "constant") {
|
|
10
|
+
const maxSize2 = Number(snapPoints[0]),
|
|
11
|
+
currentSize2 = Number(snapPoints[position] ?? 0);
|
|
12
|
+
return maxSize2 - currentSize2;
|
|
13
|
+
}
|
|
14
|
+
if (snapPointsMode === "percent") {
|
|
15
|
+
const maxPercentOpened = Number(snapPoints[0]) / 100,
|
|
16
|
+
percentOpened = Number(snapPoints[position] ?? 0) / 100;
|
|
17
|
+
return (maxPercentOpened - percentOpened) * screenSize;
|
|
18
|
+
}
|
|
19
|
+
const maxSnapPoint = snapPoints[0];
|
|
20
|
+
if (maxSnapPoint === "fit") return 0;
|
|
21
|
+
const maxSize = typeof maxSnapPoint == "string" ? Number(maxSnapPoint.slice(0, -1)) / 100 * screenSize : maxSnapPoint,
|
|
22
|
+
currentSnapPoint = snapPoints[position] ?? 0,
|
|
23
|
+
currentSize = typeof currentSnapPoint == "string" ? Number(currentSnapPoint.slice(0, -1)) / 100 * screenSize : currentSnapPoint,
|
|
24
|
+
offscreenSize = maxSize - currentSize;
|
|
25
|
+
return Number.isNaN(offscreenSize) ? 0 : offscreenSize;
|
|
26
|
+
};
|
|
27
|
+
export { useSheetOffscreenSize };
|
|
28
|
+
//# sourceMappingURL=useSheetOffscreenSize.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useSheetOffscreenSize","snapPoints","position","screenSize","frameSize","snapPointsMode","maxSize2","Number","currentSize2","maxPercentOpened","percentOpened","maxSnapPoint","maxSize","slice","currentSnapPoint","currentSize","offscreenSize","isNaN"],"sources":["../../src/useSheetOffscreenSize.tsx"],"sourcesContent":[null],"mappings":"AAEO,MAAMA,qBAAA,GAAwBA,CAAC;EACpCC,UAAA;EACAC,QAAA;EACAC,UAAA;EACAC,SAAA;EACAC;AACF,MAAyB;EACvB,IAAIA,cAAA,KAAmB,OACrB,OAAO;EAGT,IAAIA,cAAA,KAAmB,YAAY;IACjC,MAAMC,QAAA,GAAUC,MAAA,CAAON,UAAA,CAAW,CAAC,CAAC;MAC9BO,YAAA,GAAcD,MAAA,CAAON,UAAA,CAAWC,QAAQ,KAAK,CAAC;IAEpD,OADsBI,QAAA,GAAUE,YAAA;EAElC;EAEA,IAAIH,cAAA,KAAmB,WAAW;IAChC,MAAMI,gBAAA,GAAmBF,MAAA,CAAON,UAAA,CAAW,CAAC,CAAC,IAAI;MAC3CS,aAAA,GAAgBH,MAAA,CAAON,UAAA,CAAWC,QAAQ,KAAK,CAAC,IAAI;IAG1D,QAFsBO,gBAAA,GAAmBC,aAAA,IACHP,UAAA;EAExC;EAGA,MAAMQ,YAAA,GAAeV,UAAA,CAAW,CAAC;EACjC,IAAIU,YAAA,KAAiB,OACnB,OAAO;EAGT,MAAMC,OAAA,GACJ,OAAOD,YAAA,IAAiB,WACnBJ,MAAA,CAAOI,YAAA,CAAaE,KAAA,CAAM,GAAG,EAAE,CAAC,IAAI,MAAOV,UAAA,GAC5CQ,YAAA;IACAG,gBAAA,GAAmBb,UAAA,CAAWC,QAAQ,KAAK;IAC3Ca,WAAA,GACJ,OAAOD,gBAAA,IAAqB,WACvBP,MAAA,CAAOO,gBAAA,CAAiBD,KAAA,CAAM,GAAG,EAAE,CAAC,IAAI,MAAOV,UAAA,GAChDW,gBAAA;IACAE,aAAA,GAAgBJ,OAAA,GAAUG,WAAA;EAChC,OAAIR,MAAA,CAAOU,KAAA,CAAMD,aAAa,IACrB,IAEFA,aAAA;AACT","ignoreList":[]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
var useSheetOffscreenSize = function (param) {
|
|
2
|
+
var {
|
|
3
|
+
snapPoints,
|
|
4
|
+
position,
|
|
5
|
+
screenSize,
|
|
6
|
+
frameSize,
|
|
7
|
+
snapPointsMode
|
|
8
|
+
} = param;
|
|
9
|
+
if (snapPointsMode === "fit") return 0;
|
|
10
|
+
if (snapPointsMode === "constant") {
|
|
11
|
+
var maxSize = Number(snapPoints[0]),
|
|
12
|
+
_snapPoints_position,
|
|
13
|
+
currentSize = Number((_snapPoints_position = snapPoints[position]) !== null && _snapPoints_position !== void 0 ? _snapPoints_position : 0),
|
|
14
|
+
offscreenSize = maxSize - currentSize;
|
|
15
|
+
return offscreenSize;
|
|
16
|
+
}
|
|
17
|
+
if (snapPointsMode === "percent") {
|
|
18
|
+
var maxPercentOpened = Number(snapPoints[0]) / 100,
|
|
19
|
+
_snapPoints_position1,
|
|
20
|
+
percentOpened = Number((_snapPoints_position1 = snapPoints[position]) !== null && _snapPoints_position1 !== void 0 ? _snapPoints_position1 : 0) / 100,
|
|
21
|
+
percentHidden = maxPercentOpened - percentOpened,
|
|
22
|
+
offscreenSize1 = percentHidden * screenSize;
|
|
23
|
+
return offscreenSize1;
|
|
24
|
+
}
|
|
25
|
+
var maxSnapPoint = snapPoints[0];
|
|
26
|
+
if (maxSnapPoint === "fit") return 0;
|
|
27
|
+
var maxSize1 = typeof maxSnapPoint == "string" ? Number(maxSnapPoint.slice(0, -1)) / 100 * screenSize : maxSnapPoint,
|
|
28
|
+
_snapPoints_position2,
|
|
29
|
+
currentSnapPoint = (_snapPoints_position2 = snapPoints[position]) !== null && _snapPoints_position2 !== void 0 ? _snapPoints_position2 : 0,
|
|
30
|
+
currentSize1 = typeof currentSnapPoint == "string" ? Number(currentSnapPoint.slice(0, -1)) / 100 * screenSize : currentSnapPoint,
|
|
31
|
+
offscreenSize2 = maxSize1 - currentSize1;
|
|
32
|
+
return Number.isNaN(offscreenSize2) ? 0 : offscreenSize2;
|
|
33
|
+
};
|
|
34
|
+
export { useSheetOffscreenSize };
|
|
35
|
+
//# sourceMappingURL=useSheetOffscreenSize.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useSheetOffscreenSize","param","snapPoints","position","screenSize","frameSize","snapPointsMode","maxSize","Number","_snapPoints_position","currentSize","offscreenSize","maxPercentOpened","_snapPoints_position1","percentOpened","percentHidden","offscreenSize1","maxSnapPoint","maxSize1","slice","_snapPoints_position2","currentSnapPoint","currentSize1","offscreenSize2","isNaN"],"sources":["../../src/useSheetOffscreenSize.tsx"],"sourcesContent":[null],"mappings":"AAEO,IAAAA,qBAAM,YAAAA,CAAyBC,KAAA;EACpC;IAAAC,UAAA;IAAAC,QAAA;IAAAC,UAAA;IAAAC,SAAA;IAAAC;EAAA,IAAAL,KAAA;EACA,IAAAK,cAAA,YACA;EACA,IAAAA,cAAA;IACA,IAAAC,OAAA,GAAAC,MAAA,CAAAN,UAAA;MAAAO,oBAAA;MAAAC,WAAA,GAAAF,MAAA,EAAAC,oBAAA,GAAAP,UAAA,CAAAC,QAAA,eAAAM,oBAAA,cAAAA,oBAAA;MAAAE,aAAA,GAAAJ,OAAA,GAAAG,WAAA;IACF,OAAyBC,aAAA;EACvB;EACE,IAAAL,cAAO;IAGT,IAAIM,gBAAA,GAAmBJ,MAAA,CAAAN,UAAY;MAAAW,qBAAA;MAAAC,aAAA,GAAAN,MAAA,EAAAK,qBAAA,GAAAX,UAAA,CAAAC,QAAA,eAAAU,qBAAA,cAAAA,qBAAA;MAAAE,aAAA,GAAAH,gBAAA,GAAAE,aAAA;MAAAE,cAAA,GAAAD,aAAA,GAAAX,UAAA;IACjC,OAAMY,cAAU;EAGhB;EACF,IAAAC,YAAA,GAAAf,UAAA;EAEA,IAAIe,YAAA,UAAmB,EACrB,OAAM;EAIN,IAAAC,QAFsB,UAAAD,YAAmB,YACH,GAAAT,MAAA,CAAAS,YAAA,CAAAE,KAAA,iBAAAf,UAAA,GAAAa,YAAA;IAAAG,qBAAA;IAAAC,gBAAA,IAAAD,qBAAA,GAAAlB,UAAA,CAAAC,QAAA,eAAAiB,qBAAA,cAAAA,qBAAA;IAAAE,YAAA,UAAAD,gBAAA,eAAAb,MAAA,CAAAa,gBAAA,CAAAF,KAAA,iBAAAf,UAAA,GAAAiB,gBAAA;IAAAE,cAAA,GAAAL,QAAA,GAAAI,YAAA;EAExC,OAAAd,MAAA,CAAAgB,KAAA,CAAAD,cAAA,QAAAA,cAAA;AAGA;AACA,SACEvB,qBAAO","ignoreList":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { useControllableState } from "@hanzo/gui-use-controllable-state";
|
|
2
|
+
import { useSheetController } from "./useSheetController.mjs";
|
|
3
|
+
const useSheetOpenState = props => {
|
|
4
|
+
const {
|
|
5
|
+
isHidden,
|
|
6
|
+
controller
|
|
7
|
+
} = useSheetController(),
|
|
8
|
+
onOpenChangeInternal = val => {
|
|
9
|
+
controller?.onOpenChange?.(val), props.onOpenChange?.(val);
|
|
10
|
+
},
|
|
11
|
+
propVal = props.preferAdaptParentOpenState ? controller?.open ?? props.open : props.open ?? controller?.open,
|
|
12
|
+
[open, setOpen] = useControllableState({
|
|
13
|
+
prop: propVal,
|
|
14
|
+
defaultProp: props.defaultOpen ?? !1,
|
|
15
|
+
onChange: onOpenChangeInternal,
|
|
16
|
+
strategy: "most-recent-wins"
|
|
17
|
+
});
|
|
18
|
+
return {
|
|
19
|
+
open,
|
|
20
|
+
setOpen,
|
|
21
|
+
isHidden,
|
|
22
|
+
controller
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
export { useSheetOpenState };
|
|
26
|
+
//# sourceMappingURL=useSheetOpenState.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useControllableState","useSheetController","useSheetOpenState","props","isHidden","controller","onOpenChangeInternal","val","onOpenChange","propVal","preferAdaptParentOpenState","open","setOpen","prop","defaultProp","defaultOpen","onChange","strategy"],"sources":["../../src/useSheetOpenState.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,oBAAA,QAA4B;AAGrC,SAASC,kBAAA,QAA0B;AAE5B,MAAMC,iBAAA,GAAqBC,KAAA,IAAsB;EACtD,MAAM;MAAEC,QAAA;MAAUC;IAAW,IAAIJ,kBAAA,CAAmB;IAE9CK,oBAAA,GAAwBC,GAAA,IAAiB;MAC7CF,UAAA,EAAYG,YAAA,GAAeD,GAAG,GAC9BJ,KAAA,CAAMK,YAAA,GAAeD,GAAG;IAC1B;IAEME,OAAA,GAAUN,KAAA,CAAMO,0BAAA,GACjBL,UAAA,EAAYM,IAAA,IAAQR,KAAA,CAAMQ,IAAA,GAC1BR,KAAA,CAAMQ,IAAA,IAAQN,UAAA,EAAYM,IAAA;IAEzB,CAACA,IAAA,EAAMC,OAAO,IAAIZ,oBAAA,CAAqB;MAC3Ca,IAAA,EAAMJ,OAAA;MACNK,WAAA,EAAaX,KAAA,CAAMY,WAAA,IAAe;MAClCC,QAAA,EAAUV,oBAAA;MACVW,QAAA,EAAU;IACZ,CAAC;EAED,OAAO;IACLN,IAAA;IACAC,OAAA;IACAR,QAAA;IACAC;EACF;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { useControllableState } from "@hanzo/gui-use-controllable-state";
|
|
2
|
+
import { useSheetController } from "./useSheetController.native.js";
|
|
3
|
+
var useSheetOpenState = function (props) {
|
|
4
|
+
var {
|
|
5
|
+
isHidden,
|
|
6
|
+
controller
|
|
7
|
+
} = useSheetController(),
|
|
8
|
+
onOpenChangeInternal = function (val) {
|
|
9
|
+
var _controller_onOpenChange, _props_onOpenChange;
|
|
10
|
+
controller == null || (_controller_onOpenChange = controller.onOpenChange) === null || _controller_onOpenChange === void 0 || _controller_onOpenChange.call(controller, val), (_props_onOpenChange = props.onOpenChange) === null || _props_onOpenChange === void 0 || _props_onOpenChange.call(props, val);
|
|
11
|
+
},
|
|
12
|
+
_controller_open,
|
|
13
|
+
_props_open,
|
|
14
|
+
propVal = props.preferAdaptParentOpenState ? (_controller_open = controller?.open) !== null && _controller_open !== void 0 ? _controller_open : props.open : (_props_open = props.open) !== null && _props_open !== void 0 ? _props_open : controller?.open,
|
|
15
|
+
_props_defaultOpen,
|
|
16
|
+
[open, setOpen] = useControllableState({
|
|
17
|
+
prop: propVal,
|
|
18
|
+
defaultProp: (_props_defaultOpen = props.defaultOpen) !== null && _props_defaultOpen !== void 0 ? _props_defaultOpen : !1,
|
|
19
|
+
onChange: onOpenChangeInternal,
|
|
20
|
+
strategy: "most-recent-wins"
|
|
21
|
+
});
|
|
22
|
+
return {
|
|
23
|
+
open,
|
|
24
|
+
setOpen,
|
|
25
|
+
isHidden,
|
|
26
|
+
controller
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
export { useSheetOpenState };
|
|
30
|
+
//# sourceMappingURL=useSheetOpenState.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useControllableState","useSheetController","useSheetOpenState","props","isHidden","controller","onOpenChangeInternal","val","_controller_onOpenChange","_props_onOpenChange","onOpenChange","call","_controller_open","_props_open","propVal","preferAdaptParentOpenState","open","_props_defaultOpen","setOpen","prop","defaultProp","defaultOpen","onChange","strategy"],"sources":["../../src/useSheetOpenState.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,oBAAA,QAA4B;AAGrC,SAASC,kBAAA,QAA0B;AAE5B,IAAAC,iBAAM,YAAAA,CAAqBC,KAAsB;EACtD;MAAMC,QAAE;MAAAC;IAAU,IAAWJ,kBAAI;IAAmBK,oBAE9C,YAAAA,CAAwBC,GAAiB;MAC7C,IAAAC,wBAA2B,EAAGC,mBACxB;MACRJ,UAEM,IAAU,IAAM,KAAAG,wBACjB,GAAAH,UAAY,CAAAK,YAAc,MAC1B,QAAMF,wBAEL,KAAC,KAAM,KAAOA,wBAAyB,CAAAG,IAAA,CAAAN,UAAA,EAAAE,GAAA,IAAAE,mBAAA,GAAAN,KAAA,CAAAO,YAAA,cAAAD,mBAAA,eAAAA,mBAAA,CAAAE,IAAA,CAAAR,KAAA,EAAAI,GAAA;IAAA;IAC3CK,gBAAM;IAAAC,WAAA;IAAAC,OAAA,GAAAX,KAAA,CAAAY,0BAAA,IAAAH,gBAAA,GAAAP,UAAA,EAAAW,IAAA,cAAAJ,gBAAA,cAAAA,gBAAA,GAAAT,KAAA,CAAAa,IAAA,IAAAH,WAAA,GAAAV,KAAA,CAAAa,IAAA,cAAAH,WAAA,cAAAA,WAAA,GAAAR,UAAA,EAAAW,IAAA;IAAAC,kBAAA;IAAA,CAAAD,IAAA,EAAAE,OAAA,IAAAlB,oBAAA;MACNmB,IAAA,EAAAL,OAAa;MACbM,WAAU,GAAAH,kBAAA,GAAAd,KAAA,CAAAkB,WAAA,cAAAJ,kBAAA,cAAAA,kBAAA;MACVK,QAAA,EAAUhB,oBAAA;MACXiB,QAAA;IAED;EAAO,OACL;IACAP,IAAA;IACAE,OAAA;IACAd,QAAA;IACFC;EACF","ignoreList":[]}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { useConfiguration } from "@hanzo/gui-core";
|
|
3
|
+
import { useConstant } from "@hanzo/gui-use-constant";
|
|
4
|
+
import { useControllableState } from "@hanzo/gui-use-controllable-state";
|
|
5
|
+
function useSheetProviderProps(props, state, options = {}) {
|
|
6
|
+
const handleRef = React.useRef(null),
|
|
7
|
+
contentRef = React.useRef(null),
|
|
8
|
+
[frameSize, setFrameSize] = React.useState(0),
|
|
9
|
+
[maxContentSize, setMaxContentSize] = React.useState(0),
|
|
10
|
+
snapPointsMode = props.snapPointsMode ?? "percent",
|
|
11
|
+
snapPointsProp = props.snapPoints ?? (snapPointsMode === "percent" ? [80] : snapPointsMode === "constant" ? [256] : ["fit"]),
|
|
12
|
+
hasFit = snapPointsProp[0] === "fit",
|
|
13
|
+
snapPoints = React.useMemo(() => props.dismissOnSnapToBottom ? [...snapPointsProp, 0] : snapPointsProp, [JSON.stringify(snapPointsProp), props.dismissOnSnapToBottom]),
|
|
14
|
+
[position_, setPositionImmediate] = useControllableState({
|
|
15
|
+
prop: props.position,
|
|
16
|
+
defaultProp: props.defaultPosition || (state.open ? 0 : -1),
|
|
17
|
+
onChange: props.onPositionChange,
|
|
18
|
+
strategy: "most-recent-wins"
|
|
19
|
+
}),
|
|
20
|
+
position = state.open === !1 ? -1 : position_,
|
|
21
|
+
{
|
|
22
|
+
open
|
|
23
|
+
} = state,
|
|
24
|
+
setPosition = React.useCallback(next => {
|
|
25
|
+
props.dismissOnSnapToBottom && next === snapPoints.length - 1 ? state.setOpen(!1) : setPositionImmediate(next);
|
|
26
|
+
}, [props.dismissOnSnapToBottom, snapPoints.length, setPositionImmediate, state.setOpen]);
|
|
27
|
+
process.env.NODE_ENV === "development" && (snapPointsMode === "mixed" && snapPoints.some(p => {
|
|
28
|
+
if (typeof p == "string") {
|
|
29
|
+
if (p === "fit") return !1;
|
|
30
|
+
if (p.endsWith("%")) {
|
|
31
|
+
const n = Number(p.slice(0, -1));
|
|
32
|
+
return n < 0 || n > 100;
|
|
33
|
+
}
|
|
34
|
+
return !0;
|
|
35
|
+
}
|
|
36
|
+
return typeof p != "number" || p < 0;
|
|
37
|
+
}) && console.warn('\u26A0\uFE0F Invalid snapPoint given, snapPoints must be positive numeric values, string percentages between 0-100%, or "fit" when snapPointsMode is mixed'), snapPointsMode === "mixed" && snapPoints.indexOf("fit") > 0 && console.warn('\u26A0\uFE0F Invalid snapPoint given, "fit" must be the first/largest snap point when snapPointsMode is mixed'), snapPointsMode === "fit" && (snapPoints.length !== (props.dismissOnSnapToBottom ? 2 : 1) || snapPoints[0] !== "fit") && console.warn("\u26A0\uFE0F Invalid snapPoint given, there are no snap points when snapPointsMode is fit"), snapPointsMode === "constant" && snapPoints.some(p => typeof p != "number" || p < 0) && console.warn("\u26A0\uFE0F Invalid snapPoint given, snapPoints must be positive numeric values when snapPointsMode is constant"), snapPointsMode === "percent" && snapPoints.some(p => typeof p != "number" || p < 0 || p > 100) && console.warn("\u26A0\uFE0F Invalid snapPoint given, snapPoints must be numeric values between 0 and 100 when snapPointsMode is percent")), open && props.dismissOnSnapToBottom && position === snapPoints.length - 1 && setPositionImmediate(0);
|
|
38
|
+
const shouldSetPositionOpen = open && position < 0;
|
|
39
|
+
React.useEffect(() => {
|
|
40
|
+
shouldSetPositionOpen && setPosition(0);
|
|
41
|
+
}, [setPosition, shouldSetPositionOpen]);
|
|
42
|
+
const {
|
|
43
|
+
animationDriver
|
|
44
|
+
} = useConfiguration();
|
|
45
|
+
if (!animationDriver) throw new Error(process.env.NODE_ENV === "production" ? "\u274C 008" : "Must set animations in tamagui.config.ts");
|
|
46
|
+
const scrollBridge = useConstant(() => {
|
|
47
|
+
const parentDragListeners = /* @__PURE__ */new Set(),
|
|
48
|
+
bridge = {
|
|
49
|
+
hasScrollableContent: !1,
|
|
50
|
+
enabled: !1,
|
|
51
|
+
y: 0,
|
|
52
|
+
paneY: 0,
|
|
53
|
+
paneMinY: 0,
|
|
54
|
+
scrollStartY: -1,
|
|
55
|
+
drag: () => {},
|
|
56
|
+
release: () => {},
|
|
57
|
+
scrollLock: !1,
|
|
58
|
+
isParentDragging: !1,
|
|
59
|
+
onParentDragging: cb => (parentDragListeners.add(cb), () => {
|
|
60
|
+
parentDragListeners.delete(cb);
|
|
61
|
+
}),
|
|
62
|
+
setParentDragging: val => {
|
|
63
|
+
val !== bridge.isParentDragging && (bridge.isParentDragging = val, parentDragListeners.forEach(cb => cb(val)));
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
return bridge;
|
|
67
|
+
});
|
|
68
|
+
let disableRemoveScroll;
|
|
69
|
+
props.disableRemoveScroll !== void 0 ? disableRemoveScroll = props.disableRemoveScroll || !open || !props.modal : props.forceRemoveScrollEnabled !== void 0 ? (process.env.NODE_ENV === "development" && console.warn("[Sheet] forceRemoveScrollEnabled is deprecated. Use disableRemoveScroll instead."), disableRemoveScroll = !props.forceRemoveScrollEnabled) : disableRemoveScroll = !open || !props.modal;
|
|
70
|
+
const maxSnapPoint = snapPoints[0];
|
|
71
|
+
return {
|
|
72
|
+
screenSize: snapPointsMode === "percent" ? frameSize / ((typeof maxSnapPoint == "number" ? maxSnapPoint : 100) / 100) : maxContentSize,
|
|
73
|
+
maxSnapPoint,
|
|
74
|
+
disableRemoveScroll,
|
|
75
|
+
scrollBridge,
|
|
76
|
+
modal: !!props.modal,
|
|
77
|
+
open: state.open,
|
|
78
|
+
setOpen: state.setOpen,
|
|
79
|
+
hidden: !!state.isHidden,
|
|
80
|
+
contentRef,
|
|
81
|
+
handleRef,
|
|
82
|
+
frameSize,
|
|
83
|
+
setFrameSize,
|
|
84
|
+
dismissOnOverlayPress: props.dismissOnOverlayPress ?? !0,
|
|
85
|
+
dismissOnSnapToBottom: props.dismissOnSnapToBottom ?? !1,
|
|
86
|
+
onOverlayComponent: options.onOverlayComponent,
|
|
87
|
+
scope: props.__scopeSheet,
|
|
88
|
+
hasFit,
|
|
89
|
+
position,
|
|
90
|
+
snapPoints,
|
|
91
|
+
snapPointsMode,
|
|
92
|
+
setMaxContentSize,
|
|
93
|
+
setPosition,
|
|
94
|
+
setPositionImmediate,
|
|
95
|
+
onlyShowFrame: !1
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
export { useSheetProviderProps };
|
|
99
|
+
//# sourceMappingURL=useSheetProviderProps.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useConfiguration","useConstant","useControllableState","useSheetProviderProps","props","state","options","handleRef","useRef","contentRef","frameSize","setFrameSize","useState","maxContentSize","setMaxContentSize","snapPointsMode","snapPointsProp","snapPoints","hasFit","useMemo","dismissOnSnapToBottom","JSON","stringify","position_","setPositionImmediate","prop","position","defaultProp","defaultPosition","open","onChange","onPositionChange","strategy","setPosition","useCallback","next","length","setOpen","process","env","NODE_ENV","some","p","endsWith","n","Number","slice","console","warn","indexOf","shouldSetPositionOpen","useEffect","animationDriver","Error","scrollBridge","parentDragListeners","Set","bridge","hasScrollableContent","enabled","y","paneY","paneMinY","scrollStartY","drag","release","scrollLock","isParentDragging","onParentDragging","cb","add","delete","setParentDragging","val","forEach","disableRemoveScroll","modal","forceRemoveScrollEnabled","maxSnapPoint","screenSize","hidden","isHidden","dismissOnOverlayPress","onOverlayComponent","scope","__scopeSheet","onlyShowFrame"],"sources":["../../src/useSheetProviderProps.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { useConfiguration } from "@hanzo/gui-core";
|
|
3
|
+
import { useConstant } from "@hanzo/gui-use-constant";
|
|
4
|
+
import { useControllableState } from "@hanzo/gui-use-controllable-state";
|
|
5
|
+
function useSheetProviderProps(props, state) {
|
|
6
|
+
var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {},
|
|
7
|
+
handleRef = React.useRef(null),
|
|
8
|
+
contentRef = React.useRef(null),
|
|
9
|
+
[frameSize, setFrameSize] = React.useState(0),
|
|
10
|
+
[maxContentSize, setMaxContentSize] = React.useState(0),
|
|
11
|
+
_props_snapPointsMode,
|
|
12
|
+
snapPointsMode = (_props_snapPointsMode = props.snapPointsMode) !== null && _props_snapPointsMode !== void 0 ? _props_snapPointsMode : "percent",
|
|
13
|
+
_props_snapPoints,
|
|
14
|
+
snapPointsProp = (_props_snapPoints = props.snapPoints) !== null && _props_snapPoints !== void 0 ? _props_snapPoints : snapPointsMode === "percent" ? [80] : snapPointsMode === "constant" ? [256] : ["fit"],
|
|
15
|
+
hasFit = snapPointsProp[0] === "fit",
|
|
16
|
+
snapPoints = React.useMemo(function () {
|
|
17
|
+
return props.dismissOnSnapToBottom ? [...snapPointsProp, 0] : snapPointsProp;
|
|
18
|
+
}, [JSON.stringify(snapPointsProp), props.dismissOnSnapToBottom]),
|
|
19
|
+
[position_, setPositionImmediate] = useControllableState({
|
|
20
|
+
prop: props.position,
|
|
21
|
+
defaultProp: props.defaultPosition || (state.open ? 0 : -1),
|
|
22
|
+
onChange: props.onPositionChange,
|
|
23
|
+
strategy: "most-recent-wins"
|
|
24
|
+
}),
|
|
25
|
+
position = state.open === !1 ? -1 : position_,
|
|
26
|
+
{
|
|
27
|
+
open
|
|
28
|
+
} = state,
|
|
29
|
+
setPosition = React.useCallback(function (next) {
|
|
30
|
+
props.dismissOnSnapToBottom && next === snapPoints.length - 1 ? state.setOpen(!1) : setPositionImmediate(next);
|
|
31
|
+
}, [props.dismissOnSnapToBottom, snapPoints.length, setPositionImmediate, state.setOpen]);
|
|
32
|
+
process.env.NODE_ENV === "development" && (snapPointsMode === "mixed" && snapPoints.some(function (p) {
|
|
33
|
+
if (typeof p == "string") {
|
|
34
|
+
if (p === "fit") return !1;
|
|
35
|
+
if (p.endsWith("%")) {
|
|
36
|
+
var n = Number(p.slice(0, -1));
|
|
37
|
+
return n < 0 || n > 100;
|
|
38
|
+
}
|
|
39
|
+
return !0;
|
|
40
|
+
}
|
|
41
|
+
return typeof p != "number" || p < 0;
|
|
42
|
+
}) && console.warn('\u26A0\uFE0F Invalid snapPoint given, snapPoints must be positive numeric values, string percentages between 0-100%, or "fit" when snapPointsMode is mixed'), snapPointsMode === "mixed" && snapPoints.indexOf("fit") > 0 && console.warn('\u26A0\uFE0F Invalid snapPoint given, "fit" must be the first/largest snap point when snapPointsMode is mixed'), snapPointsMode === "fit" && (snapPoints.length !== (props.dismissOnSnapToBottom ? 2 : 1) || snapPoints[0] !== "fit") && console.warn("\u26A0\uFE0F Invalid snapPoint given, there are no snap points when snapPointsMode is fit"), snapPointsMode === "constant" && snapPoints.some(function (p) {
|
|
43
|
+
return typeof p != "number" || p < 0;
|
|
44
|
+
}) && console.warn("\u26A0\uFE0F Invalid snapPoint given, snapPoints must be positive numeric values when snapPointsMode is constant"), snapPointsMode === "percent" && snapPoints.some(function (p) {
|
|
45
|
+
return typeof p != "number" || p < 0 || p > 100;
|
|
46
|
+
}) && console.warn("\u26A0\uFE0F Invalid snapPoint given, snapPoints must be numeric values between 0 and 100 when snapPointsMode is percent")), open && props.dismissOnSnapToBottom && position === snapPoints.length - 1 && setPositionImmediate(0);
|
|
47
|
+
var shouldSetPositionOpen = open && position < 0;
|
|
48
|
+
React.useEffect(function () {
|
|
49
|
+
shouldSetPositionOpen && setPosition(0);
|
|
50
|
+
}, [setPosition, shouldSetPositionOpen]);
|
|
51
|
+
var {
|
|
52
|
+
animationDriver
|
|
53
|
+
} = useConfiguration();
|
|
54
|
+
if (!animationDriver) throw new Error(process.env.NODE_ENV === "production" ? "\u274C 008" : "Must set animations in tamagui.config.ts");
|
|
55
|
+
var scrollBridge = useConstant(function () {
|
|
56
|
+
var parentDragListeners = /* @__PURE__ */new Set(),
|
|
57
|
+
bridge = {
|
|
58
|
+
hasScrollableContent: !1,
|
|
59
|
+
enabled: !1,
|
|
60
|
+
y: 0,
|
|
61
|
+
paneY: 0,
|
|
62
|
+
paneMinY: 0,
|
|
63
|
+
scrollStartY: -1,
|
|
64
|
+
drag: function () {},
|
|
65
|
+
release: function () {},
|
|
66
|
+
scrollLock: !1,
|
|
67
|
+
isParentDragging: !1,
|
|
68
|
+
onParentDragging: function (cb) {
|
|
69
|
+
return parentDragListeners.add(cb), function () {
|
|
70
|
+
parentDragListeners.delete(cb);
|
|
71
|
+
};
|
|
72
|
+
},
|
|
73
|
+
setParentDragging: function (val) {
|
|
74
|
+
val !== bridge.isParentDragging && (bridge.isParentDragging = val, parentDragListeners.forEach(function (cb) {
|
|
75
|
+
return cb(val);
|
|
76
|
+
}));
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
return bridge;
|
|
80
|
+
}),
|
|
81
|
+
disableRemoveScroll;
|
|
82
|
+
props.disableRemoveScroll !== void 0 ? disableRemoveScroll = props.disableRemoveScroll || !open || !props.modal : props.forceRemoveScrollEnabled !== void 0 ? (process.env.NODE_ENV === "development" && console.warn("[Sheet] forceRemoveScrollEnabled is deprecated. Use disableRemoveScroll instead."), disableRemoveScroll = !props.forceRemoveScrollEnabled) : disableRemoveScroll = !open || !props.modal;
|
|
83
|
+
var maxSnapPoint = snapPoints[0],
|
|
84
|
+
screenSize = snapPointsMode === "percent" ? frameSize / ((typeof maxSnapPoint == "number" ? maxSnapPoint : 100) / 100) : maxContentSize,
|
|
85
|
+
_props_dismissOnOverlayPress,
|
|
86
|
+
_props_dismissOnSnapToBottom,
|
|
87
|
+
providerProps = {
|
|
88
|
+
screenSize,
|
|
89
|
+
maxSnapPoint,
|
|
90
|
+
disableRemoveScroll,
|
|
91
|
+
scrollBridge,
|
|
92
|
+
modal: !!props.modal,
|
|
93
|
+
open: state.open,
|
|
94
|
+
setOpen: state.setOpen,
|
|
95
|
+
hidden: !!state.isHidden,
|
|
96
|
+
contentRef,
|
|
97
|
+
handleRef,
|
|
98
|
+
frameSize,
|
|
99
|
+
setFrameSize,
|
|
100
|
+
dismissOnOverlayPress: (_props_dismissOnOverlayPress = props.dismissOnOverlayPress) !== null && _props_dismissOnOverlayPress !== void 0 ? _props_dismissOnOverlayPress : !0,
|
|
101
|
+
dismissOnSnapToBottom: (_props_dismissOnSnapToBottom = props.dismissOnSnapToBottom) !== null && _props_dismissOnSnapToBottom !== void 0 ? _props_dismissOnSnapToBottom : !1,
|
|
102
|
+
onOverlayComponent: options.onOverlayComponent,
|
|
103
|
+
scope: props.__scopeSheet,
|
|
104
|
+
hasFit,
|
|
105
|
+
position,
|
|
106
|
+
snapPoints,
|
|
107
|
+
snapPointsMode,
|
|
108
|
+
setMaxContentSize,
|
|
109
|
+
setPosition,
|
|
110
|
+
setPositionImmediate,
|
|
111
|
+
onlyShowFrame: !1
|
|
112
|
+
};
|
|
113
|
+
return providerProps;
|
|
114
|
+
}
|
|
115
|
+
export { useSheetProviderProps };
|
|
116
|
+
//# sourceMappingURL=useSheetProviderProps.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useConfiguration","useConstant","useControllableState","useSheetProviderProps","props","state","options","arguments","length","handleRef","useRef","contentRef","frameSize","setFrameSize","useState","maxContentSize","setMaxContentSize","_props_snapPointsMode","snapPointsMode","_props_snapPoints","snapPointsProp","snapPoints","hasFit","useMemo","dismissOnSnapToBottom","JSON","stringify","position_","setPositionImmediate","prop","position","defaultProp","defaultPosition","open","onChange","onPositionChange","strategy","setPosition","useCallback","next","setOpen","process","env","NODE_ENV","some","p","endsWith","n","Number","slice","console","warn","indexOf","shouldSetPositionOpen","useEffect","animationDriver","Error","scrollBridge","parentDragListeners","Set","bridge","hasScrollableContent","enabled","y","paneY","paneMinY","scrollStartY","drag","release","scrollLock","isParentDragging","onParentDragging","cb","add","delete","setParentDragging","val","forEach","disableRemoveScroll","modal","forceRemoveScrollEnabled","maxSnapPoint","screenSize","_props_dismissOnOverlayPress","_props_dismissOnSnapToBottom","providerProps","hidden","isHidden","dismissOnOverlayPress","onOverlayComponent","scope","__scopeSheet"],"sources":["../../src/useSheetProviderProps.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|