@onekeyfe/react-native-native-sheet 3.0.129 → 3.0.130
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/README.md +41 -8
- package/android/src/main/java/com/onekey/nativesheet/NativeSheetView.kt +610 -41
- package/ios/NativeSheetContainerView.swift +355 -46
- package/lib/module/NativeSheetHeight.js +43 -0
- package/lib/module/NativeSheetHeight.js.map +1 -0
- package/lib/module/NativeSheetRegistry.js +176 -0
- package/lib/module/NativeSheetRegistry.js.map +1 -0
- package/lib/module/index.js +180 -20
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/NativeSheetHeight.d.ts +20 -0
- package/lib/typescript/src/NativeSheetHeight.d.ts.map +1 -0
- package/lib/typescript/src/NativeSheetRegistry.d.ts +22 -0
- package/lib/typescript/src/NativeSheetRegistry.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +38 -12
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/NativeSheetHeight.ts +66 -0
- package/src/NativeSheetRegistry.ts +202 -0
- package/src/index.tsx +294 -19
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const PRESENTATION_CLOSE_FALLBACK_MS = 5_000;
|
|
4
|
+
let nextId = 1;
|
|
5
|
+
let entries = [];
|
|
6
|
+
const listeners = new Set();
|
|
7
|
+
let securityFallbackTimer;
|
|
8
|
+
const closeFallbackTimers = new Map();
|
|
9
|
+
let registryBlocked = false;
|
|
10
|
+
function clearCloseFallbackTimer(id) {
|
|
11
|
+
const timer = closeFallbackTimers.get(id);
|
|
12
|
+
if (timer) {
|
|
13
|
+
clearTimeout(timer);
|
|
14
|
+
closeFallbackTimers.delete(id);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
function emitChange() {
|
|
18
|
+
listeners.forEach(listener => listener());
|
|
19
|
+
}
|
|
20
|
+
export function subscribeNativeSheetRegistry(listener) {
|
|
21
|
+
listeners.add(listener);
|
|
22
|
+
return () => listeners.delete(listener);
|
|
23
|
+
}
|
|
24
|
+
export function getNativeSheetRegistrySnapshot() {
|
|
25
|
+
return entries;
|
|
26
|
+
}
|
|
27
|
+
export function addNativeSheetRegistryEntry(options, content) {
|
|
28
|
+
const id = nextId;
|
|
29
|
+
nextId += 1;
|
|
30
|
+
if (registryBlocked) {
|
|
31
|
+
options.onOpenChange?.(true);
|
|
32
|
+
options.onOpenChange?.(false);
|
|
33
|
+
options.onDismiss?.('security');
|
|
34
|
+
options.onAnimationComplete?.({
|
|
35
|
+
open: false
|
|
36
|
+
});
|
|
37
|
+
return id;
|
|
38
|
+
}
|
|
39
|
+
const entry = {
|
|
40
|
+
id,
|
|
41
|
+
open: true,
|
|
42
|
+
presentationRequested: false,
|
|
43
|
+
content,
|
|
44
|
+
options
|
|
45
|
+
};
|
|
46
|
+
entries = [...entries, entry];
|
|
47
|
+
options.onOpenChange?.(true);
|
|
48
|
+
emitChange();
|
|
49
|
+
return id;
|
|
50
|
+
}
|
|
51
|
+
export function closeNativeSheetRegistryEntry(id) {
|
|
52
|
+
const entry = entries.find(item => item.id === id);
|
|
53
|
+
if (!entry || !entry.open) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
entry.options.onOpenChange?.(false);
|
|
57
|
+
if (!entry.presentationRequested) {
|
|
58
|
+
entries = entries.filter(item => item.id !== id);
|
|
59
|
+
entry.options.onDismiss?.('programmatic');
|
|
60
|
+
entry.options.onAnimationComplete?.({
|
|
61
|
+
open: false
|
|
62
|
+
});
|
|
63
|
+
} else {
|
|
64
|
+
entries = entries.map(item => item.id === id ? {
|
|
65
|
+
...item,
|
|
66
|
+
open: false
|
|
67
|
+
} : item);
|
|
68
|
+
if (!closeFallbackTimers.has(id)) {
|
|
69
|
+
closeFallbackTimers.set(id, setTimeout(() => {
|
|
70
|
+
closeFallbackTimers.delete(id);
|
|
71
|
+
const pendingEntry = entries.find(item => item.id === id);
|
|
72
|
+
if (!pendingEntry) {
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
finishNativeSheetRegistryEntry(id, 'programmatic');
|
|
76
|
+
pendingEntry.options.onAnimationComplete?.({
|
|
77
|
+
open: false
|
|
78
|
+
});
|
|
79
|
+
}, PRESENTATION_CLOSE_FALLBACK_MS));
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
emitChange();
|
|
83
|
+
}
|
|
84
|
+
export function markNativeSheetRegistryEntryPresentationRequested(id) {
|
|
85
|
+
entries = entries.map(entry => entry.id === id && !entry.presentationRequested ? {
|
|
86
|
+
...entry,
|
|
87
|
+
presentationRequested: true
|
|
88
|
+
} : entry);
|
|
89
|
+
}
|
|
90
|
+
export function finishNativeSheetRegistryEntry(id, reason) {
|
|
91
|
+
const entry = entries.find(item => item.id === id);
|
|
92
|
+
if (!entry) {
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
clearCloseFallbackTimer(id);
|
|
96
|
+
if (entry.open) {
|
|
97
|
+
entry.options.onOpenChange?.(false);
|
|
98
|
+
}
|
|
99
|
+
entries = entries.filter(item => item.id !== id);
|
|
100
|
+
entry.options.onDismiss?.(reason);
|
|
101
|
+
emitChange();
|
|
102
|
+
}
|
|
103
|
+
export function finishAllNativeSheetRegistryEntries(reason) {
|
|
104
|
+
const currentEntries = entries;
|
|
105
|
+
if (!currentEntries.length) {
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
entries = [];
|
|
109
|
+
currentEntries.forEach(entry => {
|
|
110
|
+
clearCloseFallbackTimer(entry.id);
|
|
111
|
+
if (entry.open) {
|
|
112
|
+
entry.options.onOpenChange?.(false);
|
|
113
|
+
}
|
|
114
|
+
entry.options.onDismiss?.(reason);
|
|
115
|
+
entry.options.onAnimationComplete?.({
|
|
116
|
+
open: false
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
emitChange();
|
|
120
|
+
}
|
|
121
|
+
export function requestSecurityDismissAllNativeSheets() {
|
|
122
|
+
if (!entries.length) {
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
const unpresentedEntries = entries.filter(entry => !entry.presentationRequested);
|
|
126
|
+
const presentedEntries = entries.filter(entry => entry.presentationRequested);
|
|
127
|
+
unpresentedEntries.forEach(entry => {
|
|
128
|
+
if (entry.open) {
|
|
129
|
+
entry.options.onOpenChange?.(false);
|
|
130
|
+
}
|
|
131
|
+
entry.options.onDismiss?.('security');
|
|
132
|
+
entry.options.onAnimationComplete?.({
|
|
133
|
+
open: false
|
|
134
|
+
});
|
|
135
|
+
});
|
|
136
|
+
entries = presentedEntries.map(entry => {
|
|
137
|
+
if (entry.open) {
|
|
138
|
+
entry.options.onOpenChange?.(false);
|
|
139
|
+
return {
|
|
140
|
+
...entry,
|
|
141
|
+
open: false
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
return entry;
|
|
145
|
+
});
|
|
146
|
+
emitChange();
|
|
147
|
+
if (!entries.length) {
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
if (securityFallbackTimer) {
|
|
151
|
+
clearTimeout(securityFallbackTimer);
|
|
152
|
+
}
|
|
153
|
+
securityFallbackTimer = setTimeout(() => {
|
|
154
|
+
securityFallbackTimer = undefined;
|
|
155
|
+
finishAllNativeSheetRegistryEntries('security');
|
|
156
|
+
}, 500);
|
|
157
|
+
}
|
|
158
|
+
export function setNativeSheetRegistryBlocked(blocked) {
|
|
159
|
+
registryBlocked = blocked;
|
|
160
|
+
if (blocked) {
|
|
161
|
+
requestSecurityDismissAllNativeSheets();
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
export function resetNativeSheetRegistryForTests() {
|
|
165
|
+
if (securityFallbackTimer) {
|
|
166
|
+
clearTimeout(securityFallbackTimer);
|
|
167
|
+
securityFallbackTimer = undefined;
|
|
168
|
+
}
|
|
169
|
+
closeFallbackTimers.forEach(clearTimeout);
|
|
170
|
+
closeFallbackTimers.clear();
|
|
171
|
+
entries = [];
|
|
172
|
+
nextId = 1;
|
|
173
|
+
registryBlocked = false;
|
|
174
|
+
listeners.clear();
|
|
175
|
+
}
|
|
176
|
+
//# sourceMappingURL=NativeSheetRegistry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["PRESENTATION_CLOSE_FALLBACK_MS","nextId","entries","listeners","Set","securityFallbackTimer","closeFallbackTimers","Map","registryBlocked","clearCloseFallbackTimer","id","timer","get","clearTimeout","delete","emitChange","forEach","listener","subscribeNativeSheetRegistry","add","getNativeSheetRegistrySnapshot","addNativeSheetRegistryEntry","options","content","onOpenChange","onDismiss","onAnimationComplete","open","entry","presentationRequested","closeNativeSheetRegistryEntry","find","item","filter","map","has","set","setTimeout","pendingEntry","finishNativeSheetRegistryEntry","markNativeSheetRegistryEntryPresentationRequested","reason","finishAllNativeSheetRegistryEntries","currentEntries","length","requestSecurityDismissAllNativeSheets","unpresentedEntries","presentedEntries","undefined","setNativeSheetRegistryBlocked","blocked","resetNativeSheetRegistryForTests","clear"],"sourceRoot":"../../src","sources":["NativeSheetRegistry.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { createContext, useCallback, useContext } from 'react';
|
|
3
|
+
import { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState, useSyncExternalStore } from 'react';
|
|
4
4
|
import { StyleSheet, useWindowDimensions, View } from 'react-native';
|
|
5
5
|
import RNCNativeSheet from './NativeSheetNativeComponent';
|
|
6
|
-
import {
|
|
6
|
+
import { resolveNativeSheetHeight, resolveNativeSheetLayoutConstraints } from "./NativeSheetHeight.js";
|
|
7
|
+
import { addNativeSheetRegistryEntry, closeNativeSheetRegistryEntry, finishNativeSheetRegistryEntry, getNativeSheetRegistrySnapshot, markNativeSheetRegistryEntryPresentationRequested, setNativeSheetRegistryBlocked, subscribeNativeSheetRegistry } from "./NativeSheetRegistry.js";
|
|
8
|
+
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
7
9
|
const NativeSheetSecurityContext = /*#__PURE__*/createContext(false);
|
|
8
10
|
|
|
9
11
|
/**
|
|
@@ -15,6 +17,10 @@ export function NativeSheetSecurityProvider({
|
|
|
15
17
|
blocked,
|
|
16
18
|
children
|
|
17
19
|
}) {
|
|
20
|
+
useEffect(() => {
|
|
21
|
+
setNativeSheetRegistryBlocked(blocked);
|
|
22
|
+
return () => setNativeSheetRegistryBlocked(false);
|
|
23
|
+
}, [blocked]);
|
|
18
24
|
return /*#__PURE__*/_jsx(NativeSheetSecurityContext.Provider, {
|
|
19
25
|
value: blocked,
|
|
20
26
|
children: children
|
|
@@ -27,38 +33,134 @@ export function NativeSheetSecurityProvider({
|
|
|
27
33
|
* Fabric mounts the same child view into the platform sheet without serializing
|
|
28
34
|
* business content through the native bridge.
|
|
29
35
|
*/
|
|
30
|
-
|
|
36
|
+
function NativeSheetComponent({
|
|
31
37
|
open,
|
|
32
38
|
height,
|
|
39
|
+
maxHeight,
|
|
33
40
|
children,
|
|
34
41
|
onDismiss,
|
|
35
42
|
onPresented,
|
|
36
|
-
|
|
37
|
-
|
|
43
|
+
onAnimationComplete,
|
|
44
|
+
onOpenChange,
|
|
45
|
+
dismissOnSnapToBottom,
|
|
46
|
+
disableDrag = false,
|
|
47
|
+
dismissOnPanDown,
|
|
48
|
+
dismissOnOverlayPress,
|
|
49
|
+
dismissOnBackdropPress,
|
|
38
50
|
dismissOnBackPress = true,
|
|
39
51
|
showHandle = true,
|
|
40
52
|
cornerRadius = 32,
|
|
41
53
|
dimAmount = 0.4,
|
|
42
54
|
backgroundColor,
|
|
43
|
-
testID
|
|
55
|
+
testID,
|
|
56
|
+
onPresentationRequested
|
|
44
57
|
}) {
|
|
45
58
|
const securityBlocked = useContext(NativeSheetSecurityContext);
|
|
46
59
|
const {
|
|
60
|
+
height: windowHeight,
|
|
47
61
|
width
|
|
48
62
|
} = useWindowDimensions();
|
|
63
|
+
const [measurement, setMeasurement] = useState();
|
|
64
|
+
const lockedHeightRef = useRef(undefined);
|
|
65
|
+
const dismissNotifiedRef = useRef(false);
|
|
66
|
+
const wasOpenRef = useRef(false);
|
|
67
|
+
const openCycleRef = useRef(0);
|
|
68
|
+
const explicitHeightForOpenRef = useRef(false);
|
|
69
|
+
if (open && !wasOpenRef.current) {
|
|
70
|
+
openCycleRef.current += 1;
|
|
71
|
+
dismissNotifiedRef.current = false;
|
|
72
|
+
explicitHeightForOpenRef.current = height !== undefined;
|
|
73
|
+
} else if (open && height !== undefined) {
|
|
74
|
+
explicitHeightForOpenRef.current = true;
|
|
75
|
+
}
|
|
76
|
+
wasOpenRef.current = open;
|
|
77
|
+
const shouldAutoMeasure = !explicitHeightForOpenRef.current;
|
|
78
|
+
const resolvedMaxHeight = maxHeight ?? Math.floor(windowHeight * 0.92);
|
|
79
|
+
if (open) {
|
|
80
|
+
lockedHeightRef.current = resolveNativeSheetHeight({
|
|
81
|
+
currentHeight: lockedHeightRef.current,
|
|
82
|
+
explicitHeight: height,
|
|
83
|
+
measuredHeight: measurement?.openCycle === openCycleRef.current ? measurement.height : undefined,
|
|
84
|
+
maxHeight: resolvedMaxHeight,
|
|
85
|
+
shouldAutoMeasure
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
const lockedHeight = lockedHeightRef.current;
|
|
89
|
+
const resolvedDismissOnPanDown = !disableDrag && (dismissOnSnapToBottom ?? dismissOnPanDown ?? true);
|
|
90
|
+
const resolvedDismissOnBackdropPress = dismissOnOverlayPress ?? dismissOnBackdropPress ?? false;
|
|
91
|
+
const layoutConstraints = useMemo(() => resolveNativeSheetLayoutConstraints({
|
|
92
|
+
lockedHeight,
|
|
93
|
+
maxHeight: resolvedMaxHeight,
|
|
94
|
+
shouldAutoMeasure
|
|
95
|
+
}), [lockedHeight, resolvedMaxHeight, shouldAutoMeasure]);
|
|
96
|
+
const notifyDismiss = useCallback(reason => {
|
|
97
|
+
if (dismissNotifiedRef.current) {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
dismissNotifiedRef.current = true;
|
|
101
|
+
lockedHeightRef.current = undefined;
|
|
102
|
+
onOpenChange?.(false);
|
|
103
|
+
onDismiss?.(reason);
|
|
104
|
+
onAnimationComplete?.({
|
|
105
|
+
open: false
|
|
106
|
+
});
|
|
107
|
+
}, [onAnimationComplete, onDismiss, onOpenChange]);
|
|
49
108
|
const handleDismiss = useCallback(event => {
|
|
50
|
-
|
|
51
|
-
}, [
|
|
109
|
+
notifyDismiss(event.nativeEvent.reason);
|
|
110
|
+
}, [notifyDismiss]);
|
|
111
|
+
useEffect(() => {
|
|
112
|
+
if (!securityBlocked || !open) {
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
// Native normally acknowledges the no-animation security dismissal. This
|
|
116
|
+
// fallback also covers an open request blocked before native presentation.
|
|
117
|
+
const timer = setTimeout(() => notifyDismiss('security'), 500);
|
|
118
|
+
return () => clearTimeout(timer);
|
|
119
|
+
}, [notifyDismiss, open, securityBlocked]);
|
|
120
|
+
useEffect(() => {
|
|
121
|
+
if (open && lockedHeight && !securityBlocked) {
|
|
122
|
+
onPresentationRequested?.();
|
|
123
|
+
}
|
|
124
|
+
}, [lockedHeight, onPresentationRequested, open, securityBlocked]);
|
|
52
125
|
const handlePresented = useCallback(event => {
|
|
53
126
|
onPresented?.(event.nativeEvent.height);
|
|
54
|
-
|
|
127
|
+
onAnimationComplete?.({
|
|
128
|
+
open: true
|
|
129
|
+
});
|
|
130
|
+
}, [onAnimationComplete, onPresented]);
|
|
131
|
+
const handleContentLayout = useCallback(event => {
|
|
132
|
+
if (!open || !shouldAutoMeasure) {
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
const nextHeight = Math.ceil(event.nativeEvent.layout.height);
|
|
136
|
+
if (nextHeight > 0) {
|
|
137
|
+
const nextMeasurement = {
|
|
138
|
+
height: Math.min(nextHeight, resolvedMaxHeight),
|
|
139
|
+
openCycle: openCycleRef.current
|
|
140
|
+
};
|
|
141
|
+
setMeasurement(currentMeasurement => {
|
|
142
|
+
if (currentMeasurement?.height === nextMeasurement.height && currentMeasurement.openCycle === nextMeasurement.openCycle) {
|
|
143
|
+
return currentMeasurement;
|
|
144
|
+
}
|
|
145
|
+
return nextMeasurement;
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
}, [open, resolvedMaxHeight, shouldAutoMeasure]);
|
|
149
|
+
const hostStyle = useMemo(() => [styles.stagingHost, {
|
|
150
|
+
width,
|
|
151
|
+
...(layoutConstraints.hostHeight !== undefined ? {
|
|
152
|
+
height: layoutConstraints.hostHeight
|
|
153
|
+
} : {
|
|
154
|
+
maxHeight: layoutConstraints.hostMaxHeight
|
|
155
|
+
})
|
|
156
|
+
}], [layoutConstraints, width]);
|
|
55
157
|
return /*#__PURE__*/_jsx(RNCNativeSheet, {
|
|
56
158
|
testID: testID,
|
|
57
|
-
open: open,
|
|
58
|
-
sheetHeight:
|
|
159
|
+
open: open && Boolean(lockedHeight),
|
|
160
|
+
sheetHeight: lockedHeight ?? 1,
|
|
59
161
|
securityBlocked: securityBlocked,
|
|
60
|
-
dismissOnPanDown:
|
|
61
|
-
dismissOnBackdropPress:
|
|
162
|
+
dismissOnPanDown: resolvedDismissOnPanDown,
|
|
163
|
+
dismissOnBackdropPress: resolvedDismissOnBackdropPress,
|
|
62
164
|
dismissOnBackPress: dismissOnBackPress,
|
|
63
165
|
showHandle: showHandle,
|
|
64
166
|
cornerRadius: cornerRadius,
|
|
@@ -66,18 +168,72 @@ export function NativeSheet({
|
|
|
66
168
|
sheetBackgroundColor: backgroundColor,
|
|
67
169
|
onDismiss: handleDismiss,
|
|
68
170
|
onPresented: handlePresented,
|
|
69
|
-
style:
|
|
70
|
-
width,
|
|
71
|
-
height
|
|
72
|
-
}],
|
|
171
|
+
style: hostStyle,
|
|
73
172
|
children: /*#__PURE__*/_jsx(View, {
|
|
74
173
|
pointerEvents: "auto",
|
|
75
|
-
style: styles.content,
|
|
174
|
+
style: layoutConstraints.shouldFillHost ? styles.content : undefined,
|
|
76
175
|
collapsable: false,
|
|
77
|
-
children:
|
|
78
|
-
|
|
176
|
+
children: shouldAutoMeasure ? /*#__PURE__*/_jsx(View, {
|
|
177
|
+
collapsable: false,
|
|
178
|
+
style: styles.autoMeasureContent,
|
|
179
|
+
onLayout: handleContentLayout,
|
|
180
|
+
children: children
|
|
181
|
+
}) : children
|
|
182
|
+
}, `open-cycle-${openCycleRef.current}`)
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
function showNativeSheet(options) {
|
|
186
|
+
let id;
|
|
187
|
+
let closeRequestedBeforeRegistration = false;
|
|
188
|
+
const close = () => {
|
|
189
|
+
if (id === undefined) {
|
|
190
|
+
closeRequestedBeforeRegistration = true;
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
closeNativeSheetRegistryEntry(id);
|
|
194
|
+
};
|
|
195
|
+
const content = typeof options.renderContent === 'function' ? options.renderContent({
|
|
196
|
+
close
|
|
197
|
+
}) : options.renderContent;
|
|
198
|
+
id = addNativeSheetRegistryEntry(options, content);
|
|
199
|
+
if (closeRequestedBeforeRegistration) {
|
|
200
|
+
closeNativeSheetRegistryEntry(id);
|
|
201
|
+
}
|
|
202
|
+
return {
|
|
203
|
+
close
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
function NativeSheetHostEntry({
|
|
207
|
+
entry
|
|
208
|
+
}) {
|
|
209
|
+
const handleOpenChange = useCallback(nextOpen => {
|
|
210
|
+
if (!nextOpen) {
|
|
211
|
+
closeNativeSheetRegistryEntry(entry.id);
|
|
212
|
+
}
|
|
213
|
+
}, [entry.id]);
|
|
214
|
+
const handleDismiss = useCallback(reason => finishNativeSheetRegistryEntry(entry.id, reason), [entry.id]);
|
|
215
|
+
const handlePresentationRequested = useCallback(() => markNativeSheetRegistryEntryPresentationRequested(entry.id), [entry.id]);
|
|
216
|
+
return /*#__PURE__*/_jsx(NativeSheetComponent, {
|
|
217
|
+
...entry.options,
|
|
218
|
+
open: entry.open,
|
|
219
|
+
onOpenChange: handleOpenChange,
|
|
220
|
+
onPresented: entry.options.onPresented,
|
|
221
|
+
onPresentationRequested: handlePresentationRequested,
|
|
222
|
+
onDismiss: handleDismiss,
|
|
223
|
+
children: entry.content
|
|
79
224
|
});
|
|
80
225
|
}
|
|
226
|
+
export function NativeSheetHost() {
|
|
227
|
+
const entries = useSyncExternalStore(subscribeNativeSheetRegistry, getNativeSheetRegistrySnapshot, getNativeSheetRegistrySnapshot);
|
|
228
|
+
return /*#__PURE__*/_jsx(_Fragment, {
|
|
229
|
+
children: entries.map(entry => /*#__PURE__*/_jsx(NativeSheetHostEntry, {
|
|
230
|
+
entry: entry
|
|
231
|
+
}, entry.id))
|
|
232
|
+
});
|
|
233
|
+
}
|
|
234
|
+
export const NativeSheet = Object.assign(NativeSheetComponent, {
|
|
235
|
+
show: showNativeSheet
|
|
236
|
+
});
|
|
81
237
|
const styles = StyleSheet.create({
|
|
82
238
|
stagingHost: {
|
|
83
239
|
position: 'absolute',
|
|
@@ -87,6 +243,10 @@ const styles = StyleSheet.create({
|
|
|
87
243
|
},
|
|
88
244
|
content: {
|
|
89
245
|
flex: 1
|
|
246
|
+
},
|
|
247
|
+
autoMeasureContent: {
|
|
248
|
+
alignSelf: 'stretch',
|
|
249
|
+
flexShrink: 0
|
|
90
250
|
}
|
|
91
251
|
});
|
|
92
252
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createContext","useCallback","useContext","StyleSheet","useWindowDimensions","View","RNCNativeSheet","jsx","_jsx","NativeSheetSecurityContext","NativeSheetSecurityProvider","blocked","children","Provider","value","
|
|
1
|
+
{"version":3,"names":["createContext","useCallback","useContext","useEffect","useMemo","useRef","useState","useSyncExternalStore","StyleSheet","useWindowDimensions","View","RNCNativeSheet","resolveNativeSheetHeight","resolveNativeSheetLayoutConstraints","addNativeSheetRegistryEntry","closeNativeSheetRegistryEntry","finishNativeSheetRegistryEntry","getNativeSheetRegistrySnapshot","markNativeSheetRegistryEntryPresentationRequested","setNativeSheetRegistryBlocked","subscribeNativeSheetRegistry","jsx","_jsx","Fragment","_Fragment","NativeSheetSecurityContext","NativeSheetSecurityProvider","blocked","children","Provider","value","NativeSheetComponent","open","height","maxHeight","onDismiss","onPresented","onAnimationComplete","onOpenChange","dismissOnSnapToBottom","disableDrag","dismissOnPanDown","dismissOnOverlayPress","dismissOnBackdropPress","dismissOnBackPress","showHandle","cornerRadius","dimAmount","backgroundColor","testID","onPresentationRequested","securityBlocked","windowHeight","width","measurement","setMeasurement","lockedHeightRef","undefined","dismissNotifiedRef","wasOpenRef","openCycleRef","explicitHeightForOpenRef","current","shouldAutoMeasure","resolvedMaxHeight","Math","floor","currentHeight","explicitHeight","measuredHeight","openCycle","lockedHeight","resolvedDismissOnPanDown","resolvedDismissOnBackdropPress","layoutConstraints","notifyDismiss","reason","handleDismiss","event","nativeEvent","timer","setTimeout","clearTimeout","handlePresented","handleContentLayout","nextHeight","ceil","layout","nextMeasurement","min","currentMeasurement","hostStyle","styles","stagingHost","hostHeight","hostMaxHeight","Boolean","sheetHeight","sheetBackgroundColor","style","pointerEvents","shouldFillHost","content","collapsable","autoMeasureContent","onLayout","showNativeSheet","options","id","closeRequestedBeforeRegistration","close","renderContent","NativeSheetHostEntry","entry","handleOpenChange","nextOpen","handlePresentationRequested","NativeSheetHost","entries","map","NativeSheet","Object","assign","show","create","position","left","bottom","opacity","flex","alignSelf","flexShrink"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface ResolveNativeSheetHeightOptions {
|
|
2
|
+
currentHeight?: number;
|
|
3
|
+
explicitHeight?: number;
|
|
4
|
+
measuredHeight?: number;
|
|
5
|
+
maxHeight: number;
|
|
6
|
+
shouldAutoMeasure: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface ResolveNativeSheetLayoutConstraintsOptions {
|
|
9
|
+
lockedHeight?: number;
|
|
10
|
+
maxHeight: number;
|
|
11
|
+
shouldAutoMeasure: boolean;
|
|
12
|
+
}
|
|
13
|
+
export interface NativeSheetLayoutConstraints {
|
|
14
|
+
hostHeight?: number;
|
|
15
|
+
hostMaxHeight?: number;
|
|
16
|
+
shouldFillHost: boolean;
|
|
17
|
+
}
|
|
18
|
+
export declare function resolveNativeSheetLayoutConstraints({ lockedHeight, maxHeight, shouldAutoMeasure, }: ResolveNativeSheetLayoutConstraintsOptions): NativeSheetLayoutConstraints;
|
|
19
|
+
export declare function resolveNativeSheetHeight({ currentHeight, explicitHeight, measuredHeight, maxHeight, shouldAutoMeasure, }: ResolveNativeSheetHeightOptions): number | undefined;
|
|
20
|
+
//# sourceMappingURL=NativeSheetHeight.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NativeSheetHeight.d.ts","sourceRoot":"","sources":["../../../src/NativeSheetHeight.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,+BAA+B;IAC9C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,0CAA0C;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,4BAA4B;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,wBAAgB,mCAAmC,CAAC,EAClD,YAAY,EACZ,SAAS,EACT,iBAAiB,GAClB,EAAE,0CAA0C,GAAG,4BAA4B,CAiB3E;AAED,wBAAgB,wBAAwB,CAAC,EACvC,aAAa,EACb,cAAc,EACd,cAAc,EACd,SAAS,EACT,iBAAiB,GAClB,EAAE,+BAA+B,GAAG,MAAM,GAAG,SAAS,CAgBtD"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { NativeSheetDismissReason, NativeSheetShowOptions } from './index';
|
|
3
|
+
export interface NativeSheetRegistryEntry {
|
|
4
|
+
id: number;
|
|
5
|
+
open: boolean;
|
|
6
|
+
presentationRequested: boolean;
|
|
7
|
+
content: ReactNode;
|
|
8
|
+
options: NativeSheetShowOptions;
|
|
9
|
+
}
|
|
10
|
+
type RegistryListener = () => void;
|
|
11
|
+
export declare function subscribeNativeSheetRegistry(listener: RegistryListener): () => boolean;
|
|
12
|
+
export declare function getNativeSheetRegistrySnapshot(): readonly NativeSheetRegistryEntry[];
|
|
13
|
+
export declare function addNativeSheetRegistryEntry(options: NativeSheetShowOptions, content: ReactNode): number;
|
|
14
|
+
export declare function closeNativeSheetRegistryEntry(id: number): void;
|
|
15
|
+
export declare function markNativeSheetRegistryEntryPresentationRequested(id: number): void;
|
|
16
|
+
export declare function finishNativeSheetRegistryEntry(id: number, reason: NativeSheetDismissReason): void;
|
|
17
|
+
export declare function finishAllNativeSheetRegistryEntries(reason: NativeSheetDismissReason): void;
|
|
18
|
+
export declare function requestSecurityDismissAllNativeSheets(): void;
|
|
19
|
+
export declare function setNativeSheetRegistryBlocked(blocked: boolean): void;
|
|
20
|
+
export declare function resetNativeSheetRegistryForTests(): void;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=NativeSheetRegistry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NativeSheetRegistry.d.ts","sourceRoot":"","sources":["../../../src/NativeSheetRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEhF,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,OAAO,CAAC;IACd,qBAAqB,EAAE,OAAO,CAAC;IAC/B,OAAO,EAAE,SAAS,CAAC;IACnB,OAAO,EAAE,sBAAsB,CAAC;CACjC;AAED,KAAK,gBAAgB,GAAG,MAAM,IAAI,CAAC;AAuBnC,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,gBAAgB,iBAGtE;AAED,wBAAgB,8BAA8B,wCAE7C;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,sBAAsB,EAC/B,OAAO,EAAE,SAAS,UAsBnB;AAED,wBAAgB,6BAA6B,CAAC,EAAE,EAAE,MAAM,QA8BvD;AAED,wBAAgB,iDAAiD,CAAC,EAAE,EAAE,MAAM,QAM3E;AAED,wBAAgB,8BAA8B,CAC5C,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,wBAAwB,QAajC;AAED,wBAAgB,mCAAmC,CACjD,MAAM,EAAE,wBAAwB,QAgBjC;AAED,wBAAgB,qCAAqC,SAmCpD;AAED,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,OAAO,QAK7D;AAED,wBAAgB,gCAAgC,SAW/C"}
|
|
@@ -1,18 +1,31 @@
|
|
|
1
|
-
import { type PropsWithChildren } from 'react';
|
|
1
|
+
import { type ReactNode, type PropsWithChildren } from 'react';
|
|
2
2
|
import { type ColorValue } from 'react-native';
|
|
3
3
|
export type NativeSheetDismissReason = 'back' | 'backdrop' | 'pan' | 'programmatic' | 'security' | 'system';
|
|
4
4
|
export interface NativeSheetProps extends PropsWithChildren {
|
|
5
5
|
/** Controls whether the sheet is presented. */
|
|
6
6
|
open: boolean;
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* native
|
|
8
|
+
* Outer height in points/dp. Changes while open animate the native surface
|
|
9
|
+
* from its bottom edge. When omitted, settled content-size changes update the
|
|
10
|
+
* native height automatically.
|
|
11
11
|
*/
|
|
12
|
-
height
|
|
12
|
+
height?: number;
|
|
13
|
+
/** Maximum auto-fit height. Defaults to 92% of the current window height. */
|
|
14
|
+
maxHeight?: number;
|
|
13
15
|
onDismiss?: (reason: NativeSheetDismissReason) => void;
|
|
14
16
|
onPresented?: (height: number) => void;
|
|
17
|
+
onAnimationComplete?: (info: NativeSheetAnimationInfo) => void;
|
|
18
|
+
/** Matches the React Native Sheet callback for controlled open state. */
|
|
19
|
+
onOpenChange?: (open: boolean) => void;
|
|
20
|
+
/** Matches the React Native Sheet drag-dismiss option. */
|
|
21
|
+
dismissOnSnapToBottom?: boolean;
|
|
22
|
+
/** Disables the native drag gesture. */
|
|
23
|
+
disableDrag?: boolean;
|
|
24
|
+
/** @deprecated Use dismissOnSnapToBottom. */
|
|
15
25
|
dismissOnPanDown?: boolean;
|
|
26
|
+
/** Matches the React Native Sheet overlay-dismiss option. */
|
|
27
|
+
dismissOnOverlayPress?: boolean;
|
|
28
|
+
/** @deprecated Use dismissOnOverlayPress. */
|
|
16
29
|
dismissOnBackdropPress?: boolean;
|
|
17
30
|
dismissOnBackPress?: boolean;
|
|
18
31
|
showHandle?: boolean;
|
|
@@ -21,6 +34,21 @@ export interface NativeSheetProps extends PropsWithChildren {
|
|
|
21
34
|
backgroundColor?: ColorValue;
|
|
22
35
|
testID?: string;
|
|
23
36
|
}
|
|
37
|
+
export type NativeSheetAnimationInfo = Readonly<{
|
|
38
|
+
open: boolean;
|
|
39
|
+
}>;
|
|
40
|
+
export interface NativeSheetShowControls {
|
|
41
|
+
close: () => void;
|
|
42
|
+
}
|
|
43
|
+
export interface NativeSheetShowOptions extends Omit<NativeSheetProps, 'children' | 'open' | 'onDismiss' | 'onOpenChange'> {
|
|
44
|
+
renderContent: ReactNode | ((controls: NativeSheetShowControls) => ReactNode);
|
|
45
|
+
onOpenChange?: (open: boolean) => void;
|
|
46
|
+
onDismiss?: (reason: NativeSheetDismissReason) => void;
|
|
47
|
+
onAnimationComplete?: (info: NativeSheetAnimationInfo) => void;
|
|
48
|
+
}
|
|
49
|
+
export interface NativeSheetShowHandle {
|
|
50
|
+
close: () => void;
|
|
51
|
+
}
|
|
24
52
|
/**
|
|
25
53
|
* Blocks every descendant sheet while security UI is visible. Consumers must
|
|
26
54
|
* place this provider above all NativeSheet instances and bind `blocked` to the
|
|
@@ -29,12 +57,10 @@ export interface NativeSheetProps extends PropsWithChildren {
|
|
|
29
57
|
export declare function NativeSheetSecurityProvider({ blocked, children, }: PropsWithChildren<{
|
|
30
58
|
blocked: boolean;
|
|
31
59
|
}>): import("react/jsx-runtime").JSX.Element;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
*/
|
|
38
|
-
export declare function NativeSheet({ open, height, children, onDismiss, onPresented, dismissOnPanDown, dismissOnBackdropPress, dismissOnBackPress, showHandle, cornerRadius, dimAmount, backgroundColor, testID, }: NativeSheetProps): import("react/jsx-runtime").JSX.Element;
|
|
60
|
+
declare function showNativeSheet(options: NativeSheetShowOptions): NativeSheetShowHandle;
|
|
61
|
+
export declare function NativeSheetHost(): import("react/jsx-runtime").JSX.Element;
|
|
62
|
+
export declare const NativeSheet: ((props: NativeSheetProps) => ReactNode) & {
|
|
63
|
+
show: typeof showNativeSheet;
|
|
64
|
+
};
|
|
39
65
|
export type { NativeSheetDismissEvent, NativeSheetNativeProps, NativeSheetPresentedEvent, } from './NativeSheetNativeComponent';
|
|
40
66
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,iBAAiB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,iBAAiB,EAQvB,MAAM,OAAO,CAAC;AAEf,OAAO,EACL,KAAK,UAAU,EAMhB,MAAM,cAAc,CAAC;AAoBtB,MAAM,MAAM,wBAAwB,GAChC,MAAM,GACN,UAAU,GACV,KAAK,GACL,cAAc,GACd,UAAU,GACV,QAAQ,CAAC;AAEb,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD,+CAA+C;IAC/C,IAAI,EAAE,OAAO,CAAC;IACd;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,wBAAwB,KAAK,IAAI,CAAC;IACvD,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,IAAI,CAAC;IAC/D,yEAAyE;IACzE,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,0DAA0D;IAC1D,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,wCAAwC;IACxC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,6CAA6C;IAC7C,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,6DAA6D;IAC7D,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,6CAA6C;IAC7C,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,UAAU,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,wBAAwB,GAAG,QAAQ,CAAC;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAEnE,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,sBACf,SAAQ,IAAI,CACV,gBAAgB,EAChB,UAAU,GAAG,MAAM,GAAG,WAAW,GAAG,cAAc,CACnD;IACD,aAAa,EAAE,SAAS,GAAG,CAAC,CAAC,QAAQ,EAAE,uBAAuB,KAAK,SAAS,CAAC,CAAC;IAC9E,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,wBAAwB,KAAK,IAAI,CAAC;IACvD,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,IAAI,CAAC;CAChE;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAQD;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,EAC1C,OAAO,EACP,QAAQ,GACT,EAAE,iBAAiB,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,2CAUzC;AAkMD,iBAAS,eAAe,CACtB,OAAO,EAAE,sBAAsB,GAC9B,qBAAqB,CAmBvB;AAsCD,wBAAgB,eAAe,4CAa9B;AAED,eAAO,MAAM,WAAW,EAAE,CAAC,CAAC,KAAK,EAAE,gBAAgB,KAAK,SAAS,CAAC,GAAG;IACnE,IAAI,EAAE,OAAO,eAAe,CAAC;CACmC,CAAC;AAkBnE,YAAY,EACV,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,8BAA8B,CAAC"}
|
package/package.json
CHANGED