@tamagui/sheet 3.0.0-beta.922.1 → 3.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/dist/cjs/Sheet.cjs +48 -16
- package/dist/cjs/Sheet.native.cjs +46 -17
- package/dist/cjs/Sheet.native.js +46 -17
- package/dist/cjs/Sheet.native.js.map +1 -1
- package/dist/cjs/SheetDragSurface.cjs +50 -0
- package/dist/{jsx/GestureDetectorWrapper.native.js → cjs/SheetDragSurface.native.cjs} +24 -12
- package/dist/cjs/{GestureDetectorWrapper.native.js → SheetDragSurface.native.js} +25 -11
- package/dist/cjs/SheetDragSurface.native.js.map +1 -0
- package/dist/cjs/SheetImplementationCustom.cjs +41 -58
- package/dist/cjs/SheetImplementationCustom.native.cjs +43 -59
- package/dist/cjs/SheetImplementationCustom.native.js +43 -59
- package/dist/cjs/SheetImplementationCustom.native.js.map +1 -1
- package/dist/cjs/SheetScrollView.cjs +15 -3
- package/dist/cjs/SheetScrollView.native.cjs +17 -4
- package/dist/cjs/SheetScrollView.native.js +17 -4
- package/dist/cjs/SheetScrollView.native.js.map +1 -1
- package/dist/cjs/nativeSheet.cjs +3 -59
- package/dist/cjs/nativeSheet.native.cjs +70 -58
- package/dist/cjs/nativeSheet.native.js +70 -58
- package/dist/cjs/nativeSheet.native.js.map +1 -1
- package/dist/cjs/stableViewportHeight.cjs +27 -0
- package/dist/cjs/stableViewportHeight.native.cjs +29 -0
- package/dist/cjs/stableViewportHeight.native.js +31 -0
- package/dist/cjs/stableViewportHeight.native.js.map +1 -0
- package/dist/cjs/useSheetOffscreenSize.cjs +3 -1
- package/dist/cjs/useSheetOffscreenSize.native.cjs +3 -2
- package/dist/cjs/useSheetOffscreenSize.native.js +3 -2
- package/dist/cjs/useSheetOffscreenSize.native.js.map +1 -1
- package/dist/cjs/useSheetOpenState.cjs +13 -6
- package/dist/cjs/useSheetOpenState.native.cjs +15 -5
- package/dist/cjs/useSheetOpenState.native.js +15 -5
- package/dist/cjs/useSheetOpenState.native.js.map +1 -1
- package/dist/cjs/useSheetProviderProps.cjs +5 -94
- package/dist/cjs/useSheetProviderProps.native.cjs +5 -103
- package/dist/cjs/useSheetProviderProps.native.js +5 -103
- package/dist/cjs/useSheetProviderProps.native.js.map +1 -1
- package/dist/cjs/useSheetState.cjs +120 -0
- package/dist/cjs/useSheetState.native.cjs +131 -0
- package/dist/cjs/useSheetState.native.js +133 -0
- package/dist/cjs/useSheetState.native.js.map +1 -0
- package/dist/esm/Sheet.mjs +48 -15
- package/dist/esm/Sheet.mjs.map +1 -1
- package/dist/esm/Sheet.native.js +46 -17
- package/dist/esm/Sheet.native.js.map +1 -1
- package/dist/esm/SheetDragSurface.mjs +25 -0
- package/dist/esm/SheetDragSurface.mjs.map +1 -0
- package/dist/esm/SheetDragSurface.native.js +34 -0
- package/dist/esm/SheetDragSurface.native.js.map +1 -0
- package/dist/esm/SheetImplementationCustom.mjs +39 -56
- package/dist/esm/SheetImplementationCustom.mjs.map +1 -1
- package/dist/esm/SheetImplementationCustom.native.js +41 -57
- package/dist/esm/SheetImplementationCustom.native.js.map +1 -1
- package/dist/esm/SheetScrollView.mjs +16 -4
- package/dist/esm/SheetScrollView.mjs.map +1 -1
- package/dist/esm/SheetScrollView.native.js +18 -5
- package/dist/esm/SheetScrollView.native.js.map +1 -1
- package/dist/esm/nativeSheet.mjs +3 -60
- package/dist/esm/nativeSheet.mjs.map +1 -1
- package/dist/esm/nativeSheet.native.js +70 -58
- package/dist/esm/nativeSheet.native.js.map +1 -1
- package/dist/esm/stableViewportHeight.mjs +8 -0
- package/dist/esm/stableViewportHeight.mjs.map +1 -0
- package/dist/esm/stableViewportHeight.native.js +8 -0
- package/dist/esm/stableViewportHeight.native.js.map +1 -0
- package/dist/esm/useKeyboardControllerSheet.native.js +0 -5
- package/dist/esm/useSheetOffscreenSize.mjs +3 -1
- package/dist/esm/useSheetOffscreenSize.mjs.map +1 -1
- package/dist/esm/useSheetOffscreenSize.native.js +3 -2
- package/dist/esm/useSheetOffscreenSize.native.js.map +1 -1
- package/dist/esm/useSheetOpenState.mjs +14 -7
- package/dist/esm/useSheetOpenState.mjs.map +1 -1
- package/dist/esm/useSheetOpenState.native.js +16 -6
- package/dist/esm/useSheetOpenState.native.js.map +1 -1
- package/dist/esm/useSheetProviderProps.mjs +5 -88
- package/dist/esm/useSheetProviderProps.mjs.map +1 -1
- package/dist/esm/useSheetProviderProps.native.js +5 -97
- package/dist/esm/useSheetProviderProps.native.js.map +1 -1
- package/dist/esm/useSheetState.mjs +95 -0
- package/dist/esm/useSheetState.mjs.map +1 -0
- package/dist/esm/useSheetState.native.js +104 -0
- package/dist/esm/useSheetState.native.js.map +1 -0
- package/dist/jsx/Sheet.mjs +48 -15
- package/dist/jsx/Sheet.mjs.map +1 -1
- package/dist/jsx/Sheet.native.cjs +46 -17
- package/dist/jsx/Sheet.native.js +46 -17
- package/dist/jsx/Sheet.native.js.map +1 -1
- package/dist/jsx/SheetDragSurface.mjs +25 -0
- package/dist/jsx/SheetDragSurface.mjs.map +1 -0
- package/dist/{cjs/GestureDetectorWrapper.native.cjs → jsx/SheetDragSurface.native.cjs} +24 -10
- package/dist/jsx/{GestureDetectorWrapper.native.cjs → SheetDragSurface.native.js} +26 -10
- package/dist/jsx/SheetDragSurface.native.js.map +1 -0
- package/dist/jsx/SheetImplementationCustom.mjs +39 -56
- package/dist/jsx/SheetImplementationCustom.mjs.map +1 -1
- package/dist/jsx/SheetImplementationCustom.native.cjs +43 -59
- package/dist/jsx/SheetImplementationCustom.native.js +43 -59
- package/dist/jsx/SheetImplementationCustom.native.js.map +1 -1
- package/dist/jsx/SheetScrollView.mjs +16 -4
- package/dist/jsx/SheetScrollView.mjs.map +1 -1
- package/dist/jsx/SheetScrollView.native.cjs +17 -4
- package/dist/jsx/SheetScrollView.native.js +17 -4
- package/dist/jsx/SheetScrollView.native.js.map +1 -1
- package/dist/jsx/nativeSheet.mjs +3 -60
- package/dist/jsx/nativeSheet.mjs.map +1 -1
- package/dist/jsx/nativeSheet.native.cjs +70 -58
- package/dist/jsx/nativeSheet.native.js +70 -58
- package/dist/jsx/nativeSheet.native.js.map +1 -1
- package/dist/jsx/stableViewportHeight.mjs +8 -0
- package/dist/jsx/stableViewportHeight.mjs.map +1 -0
- package/dist/jsx/stableViewportHeight.native.cjs +29 -0
- package/dist/jsx/stableViewportHeight.native.js +31 -0
- package/dist/jsx/stableViewportHeight.native.js.map +1 -0
- package/dist/jsx/useSheetOffscreenSize.mjs +3 -1
- package/dist/jsx/useSheetOffscreenSize.mjs.map +1 -1
- package/dist/jsx/useSheetOffscreenSize.native.cjs +3 -2
- package/dist/jsx/useSheetOffscreenSize.native.js +3 -2
- package/dist/jsx/useSheetOffscreenSize.native.js.map +1 -1
- package/dist/jsx/useSheetOpenState.mjs +14 -7
- package/dist/jsx/useSheetOpenState.mjs.map +1 -1
- package/dist/jsx/useSheetOpenState.native.cjs +15 -5
- package/dist/jsx/useSheetOpenState.native.js +15 -5
- package/dist/jsx/useSheetOpenState.native.js.map +1 -1
- package/dist/jsx/useSheetProviderProps.mjs +5 -88
- package/dist/jsx/useSheetProviderProps.mjs.map +1 -1
- package/dist/jsx/useSheetProviderProps.native.cjs +5 -103
- package/dist/jsx/useSheetProviderProps.native.js +5 -103
- package/dist/jsx/useSheetProviderProps.native.js.map +1 -1
- package/dist/jsx/useSheetState.mjs +95 -0
- package/dist/jsx/useSheetState.mjs.map +1 -0
- package/dist/jsx/useSheetState.native.cjs +131 -0
- package/dist/jsx/useSheetState.native.js +133 -0
- package/dist/jsx/useSheetState.native.js.map +1 -0
- package/package.json +27 -22
- package/src/Sheet.tsx +45 -18
- package/src/SheetDragSurface.native.tsx +42 -0
- package/src/SheetDragSurface.tsx +40 -0
- package/src/SheetImplementationCustom.tsx +67 -92
- package/src/SheetScrollView.tsx +26 -4
- package/src/nativeSheet.native.tsx +110 -0
- package/src/nativeSheet.ts +16 -0
- package/src/stableViewportHeight.native.ts +9 -0
- package/src/stableViewportHeight.ts +15 -0
- package/src/types.tsx +44 -1
- package/src/useSheetOffscreenSize.tsx +3 -7
- package/src/useSheetOpenState.tsx +18 -8
- package/src/useSheetProviderProps.tsx +18 -149
- package/src/useSheetScrollViewGestures.native.ts +4 -1
- package/src/useSheetState.tsx +139 -0
- package/types/Sheet.d.ts +71 -167
- package/types/Sheet.d.ts.map +1 -1
- package/types/SheetDragSurface.d.ts +11 -0
- package/types/SheetDragSurface.d.ts.map +1 -0
- package/types/SheetDragSurface.native.d.ts +11 -0
- package/types/SheetDragSurface.native.d.ts.map +1 -0
- package/types/SheetImplementationCustom.d.ts +1 -2
- package/types/SheetImplementationCustom.d.ts.map +1 -1
- package/types/SheetScrollView.d.ts +3 -3
- package/types/SheetScrollView.d.ts.map +1 -1
- package/types/nativeSheet.d.ts +8 -9
- package/types/nativeSheet.d.ts.map +1 -1
- package/types/nativeSheet.native.d.ts +4 -0
- package/types/nativeSheet.native.d.ts.map +1 -0
- package/types/stableViewportHeight.d.ts +12 -0
- package/types/stableViewportHeight.d.ts.map +1 -0
- package/types/stableViewportHeight.native.d.ts +6 -0
- package/types/stableViewportHeight.native.d.ts.map +1 -0
- package/types/types.d.ts +34 -1
- package/types/types.d.ts.map +1 -1
- package/types/useSheetOffscreenSize.d.ts +1 -1
- package/types/useSheetOffscreenSize.d.ts.map +1 -1
- package/types/useSheetOpenState.d.ts +3 -1
- package/types/useSheetOpenState.d.ts.map +1 -1
- package/types/useSheetProviderProps.d.ts +15 -13
- package/types/useSheetProviderProps.d.ts.map +1 -1
- package/types/useSheetScrollViewGestures.native.d.ts +1 -1
- package/types/useSheetScrollViewGestures.native.d.ts.map +1 -1
- package/types/useSheetState.d.ts +26 -0
- package/types/useSheetState.d.ts.map +1 -0
- package/dist/cjs/GestureDetectorWrapper.cjs +0 -44
- package/dist/cjs/GestureDetectorWrapper.native.js.map +0 -1
- package/dist/esm/GestureDetectorWrapper.mjs +0 -25
- package/dist/esm/GestureDetectorWrapper.mjs.map +0 -1
- package/dist/esm/GestureDetectorWrapper.native.js +0 -26
- package/dist/esm/GestureDetectorWrapper.native.js.map +0 -1
- package/dist/jsx/GestureDetectorWrapper.mjs +0 -25
- package/dist/jsx/GestureDetectorWrapper.mjs.map +0 -1
- package/dist/jsx/GestureDetectorWrapper.native.js.map +0 -1
- package/src/GestureDetectorWrapper.tsx +0 -38
- package/src/nativeSheet.tsx +0 -86
- package/types/GestureDetectorWrapper.d.ts +0 -14
- package/types/GestureDetectorWrapper.d.ts.map +0 -1
package/dist/jsx/nativeSheet.mjs
CHANGED
|
@@ -1,64 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import { View } from "react-native-web";
|
|
4
|
-
import { SheetNativeSystemContext, SheetProvider } from "./SheetContext.mjs";
|
|
5
|
-
import { useSheetOpenState } from "./useSheetOpenState.mjs";
|
|
6
|
-
import { useSheetProviderProps } from "./useSheetProviderProps.mjs";
|
|
7
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
-
|
|
9
|
-
const nativeSheets = { ios: null };
|
|
10
|
-
function getNativeSheet(platform) {
|
|
11
|
-
return nativeSheets[platform];
|
|
12
|
-
}
|
|
13
|
-
function setupNativeSheet(platform, RNIOSModal) {
|
|
14
|
-
const { ModalSheetView, ModalSheetViewMainContent } = RNIOSModal;
|
|
15
|
-
if (platform === "ios") {
|
|
16
|
-
nativeSheets[platform] = (props) => {
|
|
17
|
-
const state = useSheetOpenState(props);
|
|
18
|
-
const providerProps = useSheetProviderProps(props, state);
|
|
19
|
-
const { open, setOpen } = state;
|
|
20
|
-
const ref = useRef(void 0);
|
|
21
|
-
useEffect(() => {
|
|
22
|
-
if (open) {
|
|
23
|
-
ref.current?.presentModal();
|
|
24
|
-
} else {
|
|
25
|
-
ref.current?.dismissModal();
|
|
26
|
-
}
|
|
27
|
-
}, [open]);
|
|
28
|
-
function setOpenInternal(next) {
|
|
29
|
-
props.onOpenChange?.(open);
|
|
30
|
-
setOpen(next);
|
|
31
|
-
}
|
|
32
|
-
return /* @__PURE__ */ jsx(SheetNativeSystemContext.Provider, {
|
|
33
|
-
value: true,
|
|
34
|
-
children: /* @__PURE__ */ jsxs(SheetProvider, {
|
|
35
|
-
setHasScrollView: emptyFn,
|
|
36
|
-
keyboardOccludedHeight: 0,
|
|
37
|
-
isKeyboardVisible: false,
|
|
38
|
-
keyboardStableFrameHeight: 0,
|
|
39
|
-
...providerProps,
|
|
40
|
-
onlyShowContainer: true,
|
|
41
|
-
children: [/* @__PURE__ */ jsx(ModalSheetView, {
|
|
42
|
-
ref,
|
|
43
|
-
onModalDidDismiss: () => setOpenInternal(false),
|
|
44
|
-
children: /* @__PURE__ */ jsx(ModalSheetViewMainContent, { children: /* @__PURE__ */ jsx(View, {
|
|
45
|
-
style: { flex: 1 },
|
|
46
|
-
children: props.children
|
|
47
|
-
}) })
|
|
48
|
-
}), /* @__PURE__ */ jsx(YStack, {
|
|
49
|
-
position: "absolute",
|
|
50
|
-
display: "none",
|
|
51
|
-
pointerEvents: "none",
|
|
52
|
-
width: 0,
|
|
53
|
-
height: 0,
|
|
54
|
-
children: props.children
|
|
55
|
-
})]
|
|
56
|
-
})
|
|
57
|
-
});
|
|
58
|
-
};
|
|
59
|
-
}
|
|
1
|
+
function getNativeSheet(_platform) {
|
|
2
|
+
return null;
|
|
60
3
|
}
|
|
61
|
-
|
|
4
|
+
function setupNativeSheet(_platform, _Renderer) {}
|
|
62
5
|
|
|
63
6
|
export { getNativeSheet, setupNativeSheet };
|
|
64
7
|
//# sourceMappingURL=nativeSheet.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nativeSheet.js","names":[],"sources":["jsx/nativeSheet.js"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"nativeSheet.js","names":[],"sources":["jsx/nativeSheet.js"],"sourcesContent":["function getNativeSheet(_platform) {\n return null;\n}\nfunction setupNativeSheet(_platform, _Renderer) {\n}\nexport {\n getNativeSheet,\n setupNativeSheet\n};\n//# sourceMappingURL=nativeSheet.js.map\n"],"mappings":";AAAA,SAAS,eAAe,WAAW;CACjC,OAAO;AACT;AACA,SAAS,iBAAiB,WAAW,WAAW,CAChD"}
|
|
@@ -20,74 +20,86 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
20
20
|
return to;
|
|
21
21
|
};
|
|
22
22
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
23
|
-
var
|
|
24
|
-
__export(
|
|
23
|
+
var nativeSheet_native_exports = {};
|
|
24
|
+
__export(nativeSheet_native_exports, {
|
|
25
25
|
getNativeSheet: () => getNativeSheet,
|
|
26
26
|
setupNativeSheet: () => setupNativeSheet
|
|
27
27
|
});
|
|
28
|
-
module.exports = __toCommonJS(
|
|
28
|
+
module.exports = __toCommonJS(nativeSheet_native_exports);
|
|
29
29
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
30
|
-
var
|
|
30
|
+
var import_core = require("@tamagui/core");
|
|
31
31
|
var import_react = require("react");
|
|
32
32
|
var import_react_native = require("react-native");
|
|
33
33
|
var import_SheetContext = require("./SheetContext.native.js");
|
|
34
34
|
var import_useSheetOpenState = require("./useSheetOpenState.native.js");
|
|
35
|
-
var
|
|
36
|
-
var nativeSheets = {
|
|
35
|
+
var import_useSheetState = require("./useSheetState.native.js");
|
|
36
|
+
var nativeSheets = {};
|
|
37
37
|
function getNativeSheet(platform) {
|
|
38
|
-
return
|
|
38
|
+
if (import_react_native.Platform.OS !== platform) return null;
|
|
39
|
+
var _nativeSheets_platform;
|
|
40
|
+
return (_nativeSheets_platform = nativeSheets[platform]) !== null && _nativeSheets_platform !== void 0 ? _nativeSheets_platform : null;
|
|
39
41
|
}
|
|
40
|
-
function setupNativeSheet(platform,
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
42
|
+
function setupNativeSheet(platform, Renderer) {
|
|
43
|
+
nativeSheets[platform] = (0, import_core.createRefComponent)(function NativeSheet(props, ref) {
|
|
44
|
+
var state = (0, import_useSheetOpenState.useSheetOpenState)(props, "prop-wins");
|
|
45
|
+
var { maxContentSize, ...sheetState } = (0, import_useSheetState.useSheetState)(props, state);
|
|
46
|
+
var { open, setOpen } = state;
|
|
47
|
+
var openRef = (0, import_react.useRef)(open);
|
|
48
|
+
openRef.current = open;
|
|
49
|
+
var [dismissed, setDismissed] = (0, import_react.useState)(!open);
|
|
50
|
+
var [previousOpen, setPreviousOpen] = (0, import_react.useState)(open);
|
|
51
|
+
if (previousOpen !== open) {
|
|
52
|
+
setPreviousOpen(open);
|
|
53
|
+
if (open) setDismissed(false);
|
|
54
|
+
}
|
|
55
|
+
var { snapPoints, snapPointsMode } = sheetState;
|
|
56
|
+
var points = (0, import_react.useMemo)(function() {
|
|
57
|
+
var authored = props.dismissOnSnapToBottom ? snapPoints.slice(0, -1) : snapPoints;
|
|
58
|
+
return authored.map(function(point) {
|
|
59
|
+
if (point === "fit" && (snapPointsMode === "fit" || snapPointsMode === "mixed")) return { type: "fit" };
|
|
60
|
+
var percent = snapPointsMode === "percent" || snapPointsMode === "mixed" && typeof point === "string" && point.endsWith("%");
|
|
61
|
+
var value = percent && typeof point === "string" ? Number(point.slice(0, -1)) : point;
|
|
62
|
+
if (typeof value !== "number" || !Number.isFinite(value) || value < 0 || percent && value > 100) {
|
|
63
|
+
throw new Error(`Invalid native Sheet snap point: ${String(point)}`);
|
|
55
64
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
}
|
|
62
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_SheetContext.SheetNativeSystemContext.Provider, {
|
|
63
|
-
value: true,
|
|
64
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_SheetContext.SheetProvider, {
|
|
65
|
-
setHasScrollView: emptyFn,
|
|
66
|
-
keyboardOccludedHeight: 0,
|
|
67
|
-
isKeyboardVisible: false,
|
|
68
|
-
keyboardStableFrameHeight: 0,
|
|
69
|
-
...providerProps,
|
|
70
|
-
onlyShowContainer: true,
|
|
71
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ModalSheetView, {
|
|
72
|
-
ref,
|
|
73
|
-
onModalDidDismiss: function() {
|
|
74
|
-
return setOpenInternal(false);
|
|
75
|
-
},
|
|
76
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ModalSheetViewMainContent, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_native.View, {
|
|
77
|
-
style: { flex: 1 },
|
|
78
|
-
children: props.children
|
|
79
|
-
}) })
|
|
80
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_stacks.YStack, {
|
|
81
|
-
position: "absolute",
|
|
82
|
-
display: "none",
|
|
83
|
-
pointerEvents: "none",
|
|
84
|
-
width: 0,
|
|
85
|
-
height: 0,
|
|
86
|
-
children: props.children
|
|
87
|
-
})]
|
|
88
|
-
})
|
|
65
|
+
if (snapPointsMode === "fit") throw new Error("Native Sheet fit mode requires a fit snap point");
|
|
66
|
+
return {
|
|
67
|
+
type: percent ? "percent" : "height",
|
|
68
|
+
value
|
|
69
|
+
};
|
|
89
70
|
});
|
|
90
|
-
}
|
|
91
|
-
|
|
71
|
+
}, [
|
|
72
|
+
snapPoints,
|
|
73
|
+
snapPointsMode,
|
|
74
|
+
props.dismissOnSnapToBottom
|
|
75
|
+
]);
|
|
76
|
+
if (!points.length) throw new Error("Native Sheet requires a snap point");
|
|
77
|
+
var position = open && (sheetState.position < 0 || props.dismissOnSnapToBottom && sheetState.position === points.length) ? 0 : sheetState.position;
|
|
78
|
+
if (open && (!Number.isInteger(position) || position >= points.length)) throw new Error("Native Sheet position must select an authored snap point");
|
|
79
|
+
var { defaultOpen, defaultPosition, unmountChildrenWhenHidden, children, ...rendererProps } = props;
|
|
80
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_SheetContext.SheetNativeSystemContext.Provider, {
|
|
81
|
+
value: true,
|
|
82
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_SheetContext.SheetProvider, {
|
|
83
|
+
...sheetState,
|
|
84
|
+
onlyShowContainer: true,
|
|
85
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Renderer, {
|
|
86
|
+
...rendererProps,
|
|
87
|
+
ref,
|
|
88
|
+
unmountChildrenWhenHidden,
|
|
89
|
+
open,
|
|
90
|
+
onOpenChange: setOpen,
|
|
91
|
+
position,
|
|
92
|
+
onPositionChange: sheetState.setPosition,
|
|
93
|
+
snapPoints: points,
|
|
94
|
+
onDismiss: function() {
|
|
95
|
+
var _state_onNativeDismiss;
|
|
96
|
+
if (openRef.current) return;
|
|
97
|
+
setDismissed(true);
|
|
98
|
+
(_state_onNativeDismiss = state.onNativeDismiss) === null || _state_onNativeDismiss === void 0 ? void 0 : _state_onNativeDismiss.call(state);
|
|
99
|
+
},
|
|
100
|
+
children: unmountChildrenWhenHidden && dismissed ? null : children
|
|
101
|
+
})
|
|
102
|
+
})
|
|
103
|
+
});
|
|
104
|
+
});
|
|
92
105
|
}
|
|
93
|
-
var emptyFn = function() {};
|
|
@@ -20,76 +20,88 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
20
20
|
return to;
|
|
21
21
|
};
|
|
22
22
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
23
|
-
var
|
|
24
|
-
__export(
|
|
23
|
+
var nativeSheet_native_exports = {};
|
|
24
|
+
__export(nativeSheet_native_exports, {
|
|
25
25
|
getNativeSheet: () => getNativeSheet,
|
|
26
26
|
setupNativeSheet: () => setupNativeSheet
|
|
27
27
|
});
|
|
28
|
-
module.exports = __toCommonJS(
|
|
28
|
+
module.exports = __toCommonJS(nativeSheet_native_exports);
|
|
29
29
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
30
|
-
var
|
|
30
|
+
var import_core = require("@tamagui/core");
|
|
31
31
|
var import_react = require("react");
|
|
32
32
|
var import_react_native = require("react-native");
|
|
33
33
|
var import_SheetContext = require("./SheetContext.native.js");
|
|
34
34
|
var import_useSheetOpenState = require("./useSheetOpenState.native.js");
|
|
35
|
-
var
|
|
36
|
-
var nativeSheets = {
|
|
35
|
+
var import_useSheetState = require("./useSheetState.native.js");
|
|
36
|
+
var nativeSheets = {};
|
|
37
37
|
function getNativeSheet(platform) {
|
|
38
|
-
return
|
|
38
|
+
if (import_react_native.Platform.OS !== platform) return null;
|
|
39
|
+
var _nativeSheets_platform;
|
|
40
|
+
return (_nativeSheets_platform = nativeSheets[platform]) !== null && _nativeSheets_platform !== void 0 ? _nativeSheets_platform : null;
|
|
39
41
|
}
|
|
40
|
-
function setupNativeSheet(platform,
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
42
|
+
function setupNativeSheet(platform, Renderer) {
|
|
43
|
+
nativeSheets[platform] = (0, import_core.createRefComponent)(function NativeSheet(props, ref) {
|
|
44
|
+
var state = (0, import_useSheetOpenState.useSheetOpenState)(props, "prop-wins");
|
|
45
|
+
var { maxContentSize, ...sheetState } = (0, import_useSheetState.useSheetState)(props, state);
|
|
46
|
+
var { open, setOpen } = state;
|
|
47
|
+
var openRef = (0, import_react.useRef)(open);
|
|
48
|
+
openRef.current = open;
|
|
49
|
+
var [dismissed, setDismissed] = (0, import_react.useState)(!open);
|
|
50
|
+
var [previousOpen, setPreviousOpen] = (0, import_react.useState)(open);
|
|
51
|
+
if (previousOpen !== open) {
|
|
52
|
+
setPreviousOpen(open);
|
|
53
|
+
if (open) setDismissed(false);
|
|
54
|
+
}
|
|
55
|
+
var { snapPoints, snapPointsMode } = sheetState;
|
|
56
|
+
var points = (0, import_react.useMemo)(function() {
|
|
57
|
+
var authored = props.dismissOnSnapToBottom ? snapPoints.slice(0, -1) : snapPoints;
|
|
58
|
+
return authored.map(function(point) {
|
|
59
|
+
if (point === "fit" && (snapPointsMode === "fit" || snapPointsMode === "mixed")) return { type: "fit" };
|
|
60
|
+
var percent = snapPointsMode === "percent" || snapPointsMode === "mixed" && typeof point === "string" && point.endsWith("%");
|
|
61
|
+
var value = percent && typeof point === "string" ? Number(point.slice(0, -1)) : point;
|
|
62
|
+
if (typeof value !== "number" || !Number.isFinite(value) || value < 0 || percent && value > 100) {
|
|
63
|
+
throw new Error(`Invalid native Sheet snap point: ${String(point)}`);
|
|
55
64
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
}
|
|
62
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_SheetContext.SheetNativeSystemContext.Provider, {
|
|
63
|
-
value: true,
|
|
64
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_SheetContext.SheetProvider, {
|
|
65
|
-
setHasScrollView: emptyFn,
|
|
66
|
-
keyboardOccludedHeight: 0,
|
|
67
|
-
isKeyboardVisible: false,
|
|
68
|
-
keyboardStableFrameHeight: 0,
|
|
69
|
-
...providerProps,
|
|
70
|
-
onlyShowContainer: true,
|
|
71
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ModalSheetView, {
|
|
72
|
-
ref,
|
|
73
|
-
onModalDidDismiss: function() {
|
|
74
|
-
return setOpenInternal(false);
|
|
75
|
-
},
|
|
76
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ModalSheetViewMainContent, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_native.View, {
|
|
77
|
-
style: { flex: 1 },
|
|
78
|
-
children: props.children
|
|
79
|
-
}) })
|
|
80
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_stacks.YStack, {
|
|
81
|
-
position: "absolute",
|
|
82
|
-
display: "none",
|
|
83
|
-
pointerEvents: "none",
|
|
84
|
-
width: 0,
|
|
85
|
-
height: 0,
|
|
86
|
-
children: props.children
|
|
87
|
-
})]
|
|
88
|
-
})
|
|
65
|
+
if (snapPointsMode === "fit") throw new Error("Native Sheet fit mode requires a fit snap point");
|
|
66
|
+
return {
|
|
67
|
+
type: percent ? "percent" : "height",
|
|
68
|
+
value
|
|
69
|
+
};
|
|
89
70
|
});
|
|
90
|
-
}
|
|
91
|
-
|
|
71
|
+
}, [
|
|
72
|
+
snapPoints,
|
|
73
|
+
snapPointsMode,
|
|
74
|
+
props.dismissOnSnapToBottom
|
|
75
|
+
]);
|
|
76
|
+
if (!points.length) throw new Error("Native Sheet requires a snap point");
|
|
77
|
+
var position = open && (sheetState.position < 0 || props.dismissOnSnapToBottom && sheetState.position === points.length) ? 0 : sheetState.position;
|
|
78
|
+
if (open && (!Number.isInteger(position) || position >= points.length)) throw new Error("Native Sheet position must select an authored snap point");
|
|
79
|
+
var { defaultOpen, defaultPosition, unmountChildrenWhenHidden, children, ...rendererProps } = props;
|
|
80
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_SheetContext.SheetNativeSystemContext.Provider, {
|
|
81
|
+
value: true,
|
|
82
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_SheetContext.SheetProvider, {
|
|
83
|
+
...sheetState,
|
|
84
|
+
onlyShowContainer: true,
|
|
85
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Renderer, {
|
|
86
|
+
...rendererProps,
|
|
87
|
+
ref,
|
|
88
|
+
unmountChildrenWhenHidden,
|
|
89
|
+
open,
|
|
90
|
+
onOpenChange: setOpen,
|
|
91
|
+
position,
|
|
92
|
+
onPositionChange: sheetState.setPosition,
|
|
93
|
+
snapPoints: points,
|
|
94
|
+
onDismiss: function() {
|
|
95
|
+
var _state_onNativeDismiss;
|
|
96
|
+
if (openRef.current) return;
|
|
97
|
+
setDismissed(true);
|
|
98
|
+
(_state_onNativeDismiss = state.onNativeDismiss) === null || _state_onNativeDismiss === void 0 ? void 0 : _state_onNativeDismiss.call(state);
|
|
99
|
+
},
|
|
100
|
+
children: unmountChildrenWhenHidden && dismissed ? null : children
|
|
101
|
+
})
|
|
102
|
+
})
|
|
103
|
+
});
|
|
104
|
+
});
|
|
92
105
|
}
|
|
93
|
-
var emptyFn = function() {};
|
|
94
106
|
|
|
95
107
|
//# sourceMappingURL=nativeSheet.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nativeSheet.native.js","names":[],"sources":["jsx/nativeSheet.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar
|
|
1
|
+
{"version":3,"file":"nativeSheet.native.js","names":[],"sources":["jsx/nativeSheet.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar nativeSheet_native_exports = {};\n__export(nativeSheet_native_exports, {\n getNativeSheet: () => getNativeSheet,\n setupNativeSheet: () => setupNativeSheet\n});\nmodule.exports = __toCommonJS(nativeSheet_native_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_core = require(\"@tamagui/core\");\nvar import_react = require(\"react\");\nvar import_react_native = require(\"react-native\");\nvar import_SheetContext = require(\"./SheetContext\");\nvar import_useSheetOpenState = require(\"./useSheetOpenState\");\nvar import_useSheetState = require(\"./useSheetState\");\nvar nativeSheets = {};\nfunction getNativeSheet(platform) {\n if (import_react_native.Platform.OS !== platform) return null;\n var _nativeSheets_platform;\n return (_nativeSheets_platform = nativeSheets[platform]) !== null && _nativeSheets_platform !== void 0 ? _nativeSheets_platform : null;\n}\nfunction setupNativeSheet(platform, Renderer) {\n nativeSheets[platform] = (0, import_core.createRefComponent)(function NativeSheet(props, ref) {\n var state = (0, import_useSheetOpenState.useSheetOpenState)(props, \"prop-wins\");\n var { maxContentSize, ...sheetState } = (0, import_useSheetState.useSheetState)(props, state);\n var { open, setOpen } = state;\n var openRef = (0, import_react.useRef)(open);\n openRef.current = open;\n var [dismissed, setDismissed] = (0, import_react.useState)(!open);\n var [previousOpen, setPreviousOpen] = (0, import_react.useState)(open);\n if (previousOpen !== open) {\n setPreviousOpen(open);\n if (open) setDismissed(false);\n }\n var { snapPoints, snapPointsMode } = sheetState;\n var points = (0, import_react.useMemo)(function() {\n var authored = props.dismissOnSnapToBottom ? snapPoints.slice(0, -1) : snapPoints;\n return authored.map(function(point) {\n if (point === \"fit\" && (snapPointsMode === \"fit\" || snapPointsMode === \"mixed\")) return {\n type: \"fit\"\n };\n var percent = snapPointsMode === \"percent\" || snapPointsMode === \"mixed\" && typeof point === \"string\" && point.endsWith(\"%\");\n var value = percent && typeof point === \"string\" ? Number(point.slice(0, -1)) : point;\n if (typeof value !== \"number\" || !Number.isFinite(value) || value < 0 || percent && value > 100) {\n throw new Error(`Invalid native Sheet snap point: ${String(point)}`);\n }\n if (snapPointsMode === \"fit\") throw new Error(\"Native Sheet fit mode requires a fit snap point\");\n return {\n type: percent ? \"percent\" : \"height\",\n value\n };\n });\n }, [\n snapPoints,\n snapPointsMode,\n props.dismissOnSnapToBottom\n ]);\n if (!points.length) throw new Error(\"Native Sheet requires a snap point\");\n var position = open && (sheetState.position < 0 || props.dismissOnSnapToBottom && sheetState.position === points.length) ? 0 : sheetState.position;\n if (open && (!Number.isInteger(position) || position >= points.length)) throw new Error(\"Native Sheet position must select an authored snap point\");\n var { defaultOpen, defaultPosition, unmountChildrenWhenHidden, children, ...rendererProps } = props;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_SheetContext.SheetNativeSystemContext.Provider, {\n value: true,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_SheetContext.SheetProvider, {\n ...sheetState,\n onlyShowContainer: true,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Renderer, {\n ...rendererProps,\n ref,\n unmountChildrenWhenHidden,\n open,\n onOpenChange: setOpen,\n position,\n onPositionChange: sheetState.setPosition,\n snapPoints: points,\n onDismiss: function() {\n var _state_onNativeDismiss;\n if (openRef.current) return;\n setDismissed(true);\n (_state_onNativeDismiss = state.onNativeDismiss) === null || _state_onNativeDismiss === void 0 ? void 0 : _state_onNativeDismiss.call(state);\n },\n children: unmountChildrenWhenHidden && dismissed ? null : children\n })\n })\n });\n });\n}\n//# sourceMappingURL=nativeSheet.native.js.map\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stableViewportHeight.js","names":[],"sources":["jsx/stableViewportHeight.js"],"sourcesContent":["import { getStableLayoutViewportHeight } from \"./webViewport\";\nfunction getStableViewportHeight() {\n return getStableLayoutViewportHeight();\n}\nexport {\n getStableViewportHeight\n};\n//# sourceMappingURL=stableViewportHeight.js.map\n"],"mappings":";;;AACA,SAAS,0BAA0B;CACjC,OAAO,8BAA8B;AACvC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
16
|
+
get: () => from[key],
|
|
17
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
23
|
+
var stableViewportHeight_native_exports = {};
|
|
24
|
+
__export(stableViewportHeight_native_exports, { getStableViewportHeight: () => getStableViewportHeight });
|
|
25
|
+
module.exports = __toCommonJS(stableViewportHeight_native_exports);
|
|
26
|
+
var import_react_native = require("react-native");
|
|
27
|
+
function getStableViewportHeight() {
|
|
28
|
+
return import_react_native.Dimensions.get("screen").height;
|
|
29
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
16
|
+
get: () => from[key],
|
|
17
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
23
|
+
var stableViewportHeight_native_exports = {};
|
|
24
|
+
__export(stableViewportHeight_native_exports, { getStableViewportHeight: () => getStableViewportHeight });
|
|
25
|
+
module.exports = __toCommonJS(stableViewportHeight_native_exports);
|
|
26
|
+
var import_react_native = require("react-native");
|
|
27
|
+
function getStableViewportHeight() {
|
|
28
|
+
return import_react_native.Dimensions.get("screen").height;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=stableViewportHeight.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stableViewportHeight.native.js","names":[],"sources":["jsx/stableViewportHeight.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar stableViewportHeight_native_exports = {};\n__export(stableViewportHeight_native_exports, {\n getStableViewportHeight: () => getStableViewportHeight\n});\nmodule.exports = __toCommonJS(stableViewportHeight_native_exports);\nvar import_react_native = require(\"react-native\");\nfunction getStableViewportHeight() {\n return import_react_native.Dimensions.get(\"screen\").height;\n}\n//# sourceMappingURL=stableViewportHeight.native.js.map\n"],"mappings":";;;AACA,IAAI,YAAY,OAAO;AACvB,IAAI,mBAAmB,OAAO;AAC9B,IAAI,oBAAoB,OAAO;AAC/B,IAAI,eAAe,OAAO,UAAU;AACpC,IAAI,YAAY,QAAQ,QAAQ;CAC9B,KAAK,IAAI,QAAQ,KACf,UAAU,QAAQ,MAAM;EAAE,KAAK,IAAI;EAAO,YAAY;CAAK,CAAC;AAChE;AACA,IAAI,eAAe,IAAI,MAAM,QAAQ,SAAS;CAC5C,IAAI,QAAQ,OAAO,SAAS,YAAY,OAAO,SAAS,YAAY;EAClE,KAAK,IAAI,OAAO,kBAAkB,IAAI,GACpC,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,QAAQ,QACzC,UAAU,IAAI,KAAK;GAAE,WAAW,KAAK;GAAM,YAAY,EAAE,OAAO,iBAAiB,MAAM,GAAG,MAAM,KAAK;EAAW,CAAC;CACvH;CACA,OAAO;AACT;AACA,IAAI,gBAAgB,QAAQ,YAAY,UAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,IAAI,sCAAsC,CAAC;AAC3C,SAAS,qCAAqC,EAC5C,+BAA+B,wBACjC,CAAC;AACD,OAAO,UAAU,aAAa,mCAAmC;AACjE,IAAI,sBAAsB,QAAQ,cAAc;AAChD,SAAS,0BAA0B;CACjC,OAAO,oBAAoB,WAAW,IAAI,QAAQ,CAAC,CAAC;AACtD"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
const useSheetOffscreenSize = (
|
|
1
|
+
const useSheetOffscreenSize = (context) => {
|
|
2
|
+
if (context.onlyShowContainer) return 0;
|
|
3
|
+
const { snapPoints, position, screenSize, frameSize, snapPointsMode } = context;
|
|
2
4
|
if (snapPointsMode === "fit") {
|
|
3
5
|
return 0;
|
|
4
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSheetOffscreenSize.js","names":[],"sources":["jsx/useSheetOffscreenSize.js"],"sourcesContent":["const useSheetOffscreenSize = ({\n
|
|
1
|
+
{"version":3,"file":"useSheetOffscreenSize.js","names":[],"sources":["jsx/useSheetOffscreenSize.js"],"sourcesContent":["const useSheetOffscreenSize = (context) => {\n if (context.onlyShowContainer) return 0;\n const { snapPoints, position, screenSize, frameSize, snapPointsMode } = context;\n if (snapPointsMode === \"fit\") {\n return 0;\n }\n if (snapPointsMode === \"constant\") {\n const maxSize2 = Number(snapPoints[0]);\n const currentSize2 = Number(snapPoints[position] ?? 0);\n const offscreenSize2 = maxSize2 - currentSize2;\n return offscreenSize2;\n }\n if (snapPointsMode === \"percent\") {\n const maxPercentOpened = Number(snapPoints[0]) / 100;\n const percentOpened = Number(snapPoints[position] ?? 0) / 100;\n const percentHidden = maxPercentOpened - percentOpened;\n const offscreenSize2 = percentHidden * screenSize;\n return offscreenSize2;\n }\n const maxSnapPoint = snapPoints[0];\n if (maxSnapPoint === \"fit\") {\n return 0;\n }\n const maxSize = typeof maxSnapPoint === \"string\" ? Number(maxSnapPoint.slice(0, -1)) / 100 * screenSize : maxSnapPoint;\n const currentSnapPoint = snapPoints[position] ?? 0;\n const currentSize = typeof currentSnapPoint === \"string\" ? Number(currentSnapPoint.slice(0, -1)) / 100 * screenSize : currentSnapPoint;\n const offscreenSize = maxSize - currentSize;\n if (Number.isNaN(offscreenSize)) {\n return 0;\n }\n return offscreenSize;\n};\nexport {\n useSheetOffscreenSize\n};\n//# sourceMappingURL=useSheetOffscreenSize.js.map\n"],"mappings":";AAAA,MAAM,yBAAyB,YAAY;CACzC,IAAI,QAAQ,mBAAmB,OAAO;CACtC,MAAM,EAAE,YAAY,UAAU,YAAY,WAAW,mBAAmB;CACxE,IAAI,mBAAmB,OAAO;EAC5B,OAAO;CACT;CACA,IAAI,mBAAmB,YAAY;EACjC,MAAM,WAAW,OAAO,WAAW,EAAE;EACrC,MAAM,eAAe,OAAO,WAAW,aAAa,CAAC;EACrD,MAAM,iBAAiB,WAAW;EAClC,OAAO;CACT;CACA,IAAI,mBAAmB,WAAW;EAChC,MAAM,mBAAmB,OAAO,WAAW,EAAE,IAAI;EACjD,MAAM,gBAAgB,OAAO,WAAW,aAAa,CAAC,IAAI;EAC1D,MAAM,gBAAgB,mBAAmB;EACzC,MAAM,iBAAiB,gBAAgB;EACvC,OAAO;CACT;CACA,MAAM,eAAe,WAAW;CAChC,IAAI,iBAAiB,OAAO;EAC1B,OAAO;CACT;CACA,MAAM,UAAU,OAAO,iBAAiB,WAAW,OAAO,aAAa,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,aAAa;CAC1G,MAAM,mBAAmB,WAAW,aAAa;CACjD,MAAM,cAAc,OAAO,qBAAqB,WAAW,OAAO,iBAAiB,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,aAAa;CACtH,MAAM,gBAAgB,UAAU;CAChC,IAAI,OAAO,MAAM,aAAa,GAAG;EAC/B,OAAO;CACT;CACA,OAAO;AACT"}
|
|
@@ -23,8 +23,9 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
23
23
|
var useSheetOffscreenSize_exports = {};
|
|
24
24
|
__export(useSheetOffscreenSize_exports, { useSheetOffscreenSize: () => useSheetOffscreenSize });
|
|
25
25
|
module.exports = __toCommonJS(useSheetOffscreenSize_exports);
|
|
26
|
-
var useSheetOffscreenSize = function(
|
|
27
|
-
|
|
26
|
+
var useSheetOffscreenSize = function(context) {
|
|
27
|
+
if (context.onlyShowContainer) return 0;
|
|
28
|
+
var { snapPoints, position, screenSize, frameSize, snapPointsMode } = context;
|
|
28
29
|
if (snapPointsMode === "fit") {
|
|
29
30
|
return 0;
|
|
30
31
|
}
|
|
@@ -23,8 +23,9 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
23
23
|
var useSheetOffscreenSize_exports = {};
|
|
24
24
|
__export(useSheetOffscreenSize_exports, { useSheetOffscreenSize: () => useSheetOffscreenSize });
|
|
25
25
|
module.exports = __toCommonJS(useSheetOffscreenSize_exports);
|
|
26
|
-
var useSheetOffscreenSize = function(
|
|
27
|
-
|
|
26
|
+
var useSheetOffscreenSize = function(context) {
|
|
27
|
+
if (context.onlyShowContainer) return 0;
|
|
28
|
+
var { snapPoints, position, screenSize, frameSize, snapPointsMode } = context;
|
|
28
29
|
if (snapPointsMode === "fit") {
|
|
29
30
|
return 0;
|
|
30
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSheetOffscreenSize.native.js","names":[],"sources":["jsx/useSheetOffscreenSize.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar useSheetOffscreenSize_exports = {};\n__export(useSheetOffscreenSize_exports, {\n useSheetOffscreenSize: () => useSheetOffscreenSize\n});\nmodule.exports = __toCommonJS(useSheetOffscreenSize_exports);\nvar useSheetOffscreenSize = function(
|
|
1
|
+
{"version":3,"file":"useSheetOffscreenSize.native.js","names":[],"sources":["jsx/useSheetOffscreenSize.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar useSheetOffscreenSize_exports = {};\n__export(useSheetOffscreenSize_exports, {\n useSheetOffscreenSize: () => useSheetOffscreenSize\n});\nmodule.exports = __toCommonJS(useSheetOffscreenSize_exports);\nvar useSheetOffscreenSize = function(context) {\n if (context.onlyShowContainer) return 0;\n var { snapPoints, position, screenSize, frameSize, snapPointsMode } = context;\n if (snapPointsMode === \"fit\") {\n return 0;\n }\n if (snapPointsMode === \"constant\") {\n var maxSize = Number(snapPoints[0]);\n var _snapPoints_position;\n var currentSize = Number((_snapPoints_position = snapPoints[position]) !== null && _snapPoints_position !== void 0 ? _snapPoints_position : 0);\n var offscreenSize = maxSize - currentSize;\n return offscreenSize;\n }\n if (snapPointsMode === \"percent\") {\n var maxPercentOpened = Number(snapPoints[0]) / 100;\n var _snapPoints_position1;\n var percentOpened = Number((_snapPoints_position1 = snapPoints[position]) !== null && _snapPoints_position1 !== void 0 ? _snapPoints_position1 : 0) / 100;\n var percentHidden = maxPercentOpened - percentOpened;\n var offscreenSize1 = percentHidden * screenSize;\n return offscreenSize1;\n }\n var maxSnapPoint = snapPoints[0];\n if (maxSnapPoint === \"fit\") {\n return 0;\n }\n var maxSize1 = typeof maxSnapPoint === \"string\" ? Number(maxSnapPoint.slice(0, -1)) / 100 * screenSize : maxSnapPoint;\n var _snapPoints_position2;\n var currentSnapPoint = (_snapPoints_position2 = snapPoints[position]) !== null && _snapPoints_position2 !== void 0 ? _snapPoints_position2 : 0;\n var currentSize1 = typeof currentSnapPoint === \"string\" ? Number(currentSnapPoint.slice(0, -1)) / 100 * screenSize : currentSnapPoint;\n var offscreenSize2 = maxSize1 - currentSize1;\n if (Number.isNaN(offscreenSize2)) {\n return 0;\n }\n return offscreenSize2;\n};\n//# sourceMappingURL=useSheetOffscreenSize.js.map\n"],"mappings":";;;AACA,IAAI,YAAY,OAAO;AACvB,IAAI,mBAAmB,OAAO;AAC9B,IAAI,oBAAoB,OAAO;AAC/B,IAAI,eAAe,OAAO,UAAU;AACpC,IAAI,YAAY,QAAQ,QAAQ;CAC9B,KAAK,IAAI,QAAQ,KACf,UAAU,QAAQ,MAAM;EAAE,KAAK,IAAI;EAAO,YAAY;CAAK,CAAC;AAChE;AACA,IAAI,eAAe,IAAI,MAAM,QAAQ,SAAS;CAC5C,IAAI,QAAQ,OAAO,SAAS,YAAY,OAAO,SAAS,YAAY;EAClE,KAAK,IAAI,OAAO,kBAAkB,IAAI,GACpC,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,QAAQ,QACzC,UAAU,IAAI,KAAK;GAAE,WAAW,KAAK;GAAM,YAAY,EAAE,OAAO,iBAAiB,MAAM,GAAG,MAAM,KAAK;EAAW,CAAC;CACvH;CACA,OAAO;AACT;AACA,IAAI,gBAAgB,QAAQ,YAAY,UAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,IAAI,gCAAgC,CAAC;AACrC,SAAS,+BAA+B,EACtC,6BAA6B,sBAC/B,CAAC;AACD,OAAO,UAAU,aAAa,6BAA6B;AAC3D,IAAI,wBAAwB,SAAS,SAAS;CAC5C,IAAI,QAAQ,mBAAmB,OAAO;CACtC,IAAI,EAAE,YAAY,UAAU,YAAY,WAAW,mBAAmB;CACtE,IAAI,mBAAmB,OAAO;EAC5B,OAAO;CACT;CACA,IAAI,mBAAmB,YAAY;EACjC,IAAI,UAAU,OAAO,WAAW,EAAE;EAClC,IAAI;EACJ,IAAI,cAAc,QAAQ,uBAAuB,WAAW,eAAe,QAAQ,yBAAyB,KAAK,IAAI,uBAAuB,CAAC;EAC7I,IAAI,gBAAgB,UAAU;EAC9B,OAAO;CACT;CACA,IAAI,mBAAmB,WAAW;EAChC,IAAI,mBAAmB,OAAO,WAAW,EAAE,IAAI;EAC/C,IAAI;EACJ,IAAI,gBAAgB,QAAQ,wBAAwB,WAAW,eAAe,QAAQ,0BAA0B,KAAK,IAAI,wBAAwB,CAAC,IAAI;EACtJ,IAAI,gBAAgB,mBAAmB;EACvC,IAAI,iBAAiB,gBAAgB;EACrC,OAAO;CACT;CACA,IAAI,eAAe,WAAW;CAC9B,IAAI,iBAAiB,OAAO;EAC1B,OAAO;CACT;CACA,IAAI,WAAW,OAAO,iBAAiB,WAAW,OAAO,aAAa,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,aAAa;CACzG,IAAI;CACJ,IAAI,oBAAoB,wBAAwB,WAAW,eAAe,QAAQ,0BAA0B,KAAK,IAAI,wBAAwB;CAC7I,IAAI,eAAe,OAAO,qBAAqB,WAAW,OAAO,iBAAiB,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,aAAa;CACrH,IAAI,iBAAiB,WAAW;CAChC,IAAI,OAAO,MAAM,cAAc,GAAG;EAChC,OAAO;CACT;CACA,OAAO;AACT"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import { useAdaptContext, useAdaptTarget } from "@tamagui/adapt";
|
|
1
|
+
import { useAdaptContext, useAdaptTarget, useAdaptTargetScope } from "@tamagui/adapt";
|
|
2
2
|
import React from "react";
|
|
3
3
|
import { useControllableState } from "@tamagui/use-controllable-state";
|
|
4
4
|
import { useSheetController } from "./useSheetController.mjs";
|
|
5
5
|
|
|
6
|
-
const useSheetOpenState = (props) => {
|
|
7
|
-
const
|
|
8
|
-
const adapt = useAdaptTarget();
|
|
6
|
+
const useSheetOpenState = (props, strategy = "most-recent-wins") => {
|
|
7
|
+
const adaptTargetScope = useAdaptTargetScope();
|
|
8
|
+
const adapt = useAdaptTarget(adaptTargetScope ?? void 0);
|
|
9
|
+
const adaptContext = useAdaptContext(adaptTargetScope ?? void 0);
|
|
9
10
|
const { isHidden: controllerIsHidden, controller: legacyController } = useSheetController(props.scope);
|
|
10
|
-
const shouldUseAdapt = Boolean(adaptContext.open !== void 0 || adaptContext.onOpenChange);
|
|
11
|
+
const shouldUseAdapt = adaptTargetScope === adaptContext.scopeName && Boolean(adaptContext.open !== void 0 || adaptContext.onOpenChange);
|
|
11
12
|
const isHidden = shouldUseAdapt ? !adaptContext.active : controllerIsHidden;
|
|
12
13
|
const wasHiddenRef = React.useRef(isHidden);
|
|
13
14
|
const controllerOpen = shouldUseAdapt ? Boolean(adaptContext.open) && !adaptContext.handoff.hidden : legacyController?.open;
|
|
@@ -41,13 +42,19 @@ const useSheetOpenState = (props) => {
|
|
|
41
42
|
prop: propVal,
|
|
42
43
|
defaultProp: props.defaultOpen ?? false,
|
|
43
44
|
onChange: onOpenChangeInternal,
|
|
44
|
-
strategy
|
|
45
|
+
strategy
|
|
45
46
|
});
|
|
46
47
|
return {
|
|
47
48
|
open,
|
|
48
49
|
setOpen,
|
|
49
50
|
isHidden,
|
|
50
|
-
controller
|
|
51
|
+
controller,
|
|
52
|
+
strategy,
|
|
53
|
+
onNativeDismiss: shouldUseAdapt ? () => adapt?.handoff.onTransition({
|
|
54
|
+
phase: "end",
|
|
55
|
+
cause: "close",
|
|
56
|
+
finished: true
|
|
57
|
+
}) : void 0
|
|
51
58
|
};
|
|
52
59
|
};
|
|
53
60
|
|