@onekeyfe/react-native-native-overlay 3.0.162-alpha.272 → 6.7.0-12
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/android/src/main/java/com/onekey/nativeoverlay/NativeOverlayAnimation.kt +5 -10
- package/android/src/main/java/com/onekey/nativeoverlay/NativeOverlayEntryRootView.kt +23 -2
- package/android/src/main/java/com/onekey/nativeoverlay/NativeOverlayHost.kt +17 -12
- package/android/src/main/java/com/onekey/nativeoverlay/NativeOverlayView.kt +3 -1
- package/android/src/test/java/com/onekey/nativeoverlay/NativeOverlayBackTest.kt +295 -0
- package/android/src/test/java/com/onekey/nativeoverlay/NativeOverlayMotionTest.kt +101 -0
- package/docs/SPEC.md +171 -30
- package/ios/NativeOverlayContainerView.swift +20 -7
- package/ios/NativeOverlaySheetController.swift +37 -1
- package/lib/module/OverlayStore.js +13 -1
- package/lib/module/OverlayStore.js.map +1 -1
- package/lib/module/OverlayView.web.js +104 -25
- package/lib/module/OverlayView.web.js.map +1 -1
- package/lib/module/useOverlayController.js +11 -3
- package/lib/module/useOverlayController.js.map +1 -1
- package/lib/module/web/animateTransition.js +20 -12
- package/lib/module/web/animateTransition.js.map +1 -1
- package/lib/module/web/overlayLayers.js +16 -0
- package/lib/module/web/overlayLayers.js.map +1 -1
- package/lib/module/web/useKeyboardShift.js +1 -1
- package/lib/module/web/useKeyboardShift.js.map +1 -1
- package/lib/module/web/useSheetDrag.js +22 -2
- package/lib/module/web/useSheetDrag.js.map +1 -1
- package/lib/typescript/src/OverlayStore.d.ts +2 -0
- package/lib/typescript/src/OverlayStore.d.ts.map +1 -1
- package/lib/typescript/src/OverlayView.web.d.ts.map +1 -1
- package/lib/typescript/src/useOverlayController.d.ts.map +1 -1
- package/lib/typescript/src/web/animateTransition.d.ts +2 -2
- package/lib/typescript/src/web/animateTransition.d.ts.map +1 -1
- package/lib/typescript/src/web/overlayLayers.d.ts +1 -0
- package/lib/typescript/src/web/overlayLayers.d.ts.map +1 -1
- package/lib/typescript/src/web/useSheetDrag.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/OverlayStore.ts +13 -1
- package/src/OverlayView.web.tsx +193 -56
- package/src/useOverlayController.ts +11 -4
- package/src/web/animateTransition.ts +30 -11
- package/src/web/overlayLayers.ts +20 -0
- package/src/web/useKeyboardShift.ts +1 -1
- package/src/web/useSheetDrag.ts +23 -2
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { useEffect, useId, useLayoutEffect, useRef } from 'react';
|
|
3
|
+
import { useCallback, useEffect, useId, useLayoutEffect, useRef, useSyncExternalStore } from 'react';
|
|
4
4
|
import { createPortal } from 'react-dom';
|
|
5
5
|
import { StyleSheet, View } from 'react-native';
|
|
6
6
|
import { OverlayLevelProvider } from "./OverlayLevelContext.js";
|
|
7
7
|
import { OVERLAY_LEVEL_ORDER, isBlockingLevel } from "./OverlayLevels.js";
|
|
8
8
|
import { OVERLAY_OWNER_ATTRIBUTE } from "./OverlayPageHost.web.js";
|
|
9
|
+
import { overlayStore } from "./OverlayStore.js";
|
|
9
10
|
import { useOverlayController } from "./useOverlayController.js";
|
|
10
11
|
import { animateBackdrop, animateTransition } from "./web/animateTransition.js";
|
|
11
|
-
import { ENTRY_ATTRIBUTE, getOverlayLayerRoot, getOverlayPageHost, registerOverlayDismissRequester, scheduleOverlayInertSync } from "./web/overlayLayers.js";
|
|
12
|
+
import { ENTRY_ATTRIBUTE, getOverlayLayerRoot, getOverlayPageHost, registerOverlayDismissRequester, scheduleOverlayInertSync, subscribeOverlayPageHost } from "./web/overlayLayers.js";
|
|
12
13
|
import { useKeyboardShift } from "./web/useKeyboardShift.js";
|
|
13
14
|
import { useSheetDrag } from "./web/useSheetDrag.js";
|
|
14
15
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -56,6 +57,7 @@ function WebOverlayEntry({
|
|
|
56
57
|
const keyboardLayerRef = useRef(null);
|
|
57
58
|
const backdropRef = useRef(null);
|
|
58
59
|
const directionRef = useRef(undefined);
|
|
60
|
+
const runningAnimationsRef = useRef([]);
|
|
59
61
|
const restoreFocusRef = useRef(null);
|
|
60
62
|
const callbacksRef = useRef({
|
|
61
63
|
onPresented,
|
|
@@ -65,6 +67,16 @@ function WebOverlayEntry({
|
|
|
65
67
|
onPresented,
|
|
66
68
|
onDismissed
|
|
67
69
|
};
|
|
70
|
+
useLayoutEffect(() => {
|
|
71
|
+
if (!isSheet && sheetRef.current) {
|
|
72
|
+
// The host now survives a presentation switch; clear any in-flight pan.
|
|
73
|
+
sheetRef.current.style.removeProperty('transform');
|
|
74
|
+
sheetRef.current.style.removeProperty('transition');
|
|
75
|
+
if (backdropRef.current) {
|
|
76
|
+
backdropRef.current.style.opacity = '1';
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}, [isSheet]);
|
|
68
80
|
useLayoutEffect(() => {
|
|
69
81
|
const content = contentRef.current;
|
|
70
82
|
if (!content) {
|
|
@@ -77,23 +89,47 @@ function WebOverlayEntry({
|
|
|
77
89
|
const neverEntered = directionRef.current === undefined;
|
|
78
90
|
directionRef.current = direction;
|
|
79
91
|
scheduleOverlayInertSync();
|
|
92
|
+
const interruptedFrames = new Map();
|
|
93
|
+
for (const running of runningAnimationsRef.current) {
|
|
94
|
+
const target = running.effect?.target;
|
|
95
|
+
if (running.playState === 'running' && target instanceof HTMLElement) {
|
|
96
|
+
const style = getComputedStyle(target);
|
|
97
|
+
interruptedFrames.set(target, {
|
|
98
|
+
opacity: style.opacity,
|
|
99
|
+
transform: style.transform
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
running.cancel();
|
|
103
|
+
}
|
|
104
|
+
runningAnimationsRef.current = [];
|
|
80
105
|
if (direction === 'out' && (neverEntered || pannedAwayRef.current)) {
|
|
106
|
+
restoreFocusRef.current?.focus?.({
|
|
107
|
+
preventScroll: true
|
|
108
|
+
});
|
|
109
|
+
restoreFocusRef.current = null;
|
|
81
110
|
callbacksRef.current.onDismissed();
|
|
82
111
|
return;
|
|
83
112
|
}
|
|
84
|
-
if (direction === 'in'
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
113
|
+
if (direction === 'in') {
|
|
114
|
+
pannedAwayRef.current = false;
|
|
115
|
+
sheetRef.current?.style.removeProperty('transform');
|
|
116
|
+
sheetRef.current?.style.removeProperty('transition');
|
|
117
|
+
if (backdropRef.current) {
|
|
118
|
+
backdropRef.current.style.opacity = '1';
|
|
119
|
+
}
|
|
120
|
+
if (blocking) {
|
|
121
|
+
restoreFocusRef.current = document.activeElement;
|
|
122
|
+
entryRef.current?.focus({
|
|
123
|
+
preventScroll: true
|
|
124
|
+
});
|
|
125
|
+
}
|
|
89
126
|
}
|
|
90
|
-
content.getAnimations().forEach(running => running.cancel());
|
|
91
|
-
backdropRef.current?.getAnimations().forEach(running => running.cancel());
|
|
92
127
|
// A sheet is measured as a whole; other presentations by the children
|
|
93
128
|
// of the full-window React root.
|
|
94
|
-
const contentRoot = isSheet ? content :
|
|
129
|
+
const contentRoot = isSheet ? content : sheetRef.current?.firstElementChild ?? content;
|
|
95
130
|
const transition = direction === 'in' ? animation.enter : animation.exit;
|
|
96
|
-
const running = [animateTransition(content, contentRoot, transition, direction), backdropRef.current ? animateBackdrop(backdropRef.current, animation.backdrop.motion, direction) : undefined].filter(item => !!item);
|
|
131
|
+
const running = [animateTransition(content, contentRoot, transition, direction, interruptedFrames), backdropRef.current ? animateBackdrop(backdropRef.current, animation.backdrop.motion, direction, interruptedFrames) : undefined].filter(item => !!item);
|
|
132
|
+
runningAnimationsRef.current = running;
|
|
97
133
|
void Promise.all(running.map(item => item.finished)).then(() => {
|
|
98
134
|
if (directionRef.current !== direction) {
|
|
99
135
|
return;
|
|
@@ -142,6 +178,40 @@ function WebOverlayEntry({
|
|
|
142
178
|
});
|
|
143
179
|
const showBackdrop = !!backdropColor || blocking;
|
|
144
180
|
const cornerRadius = sheet?.cornerRadius ?? DEFAULT_SHEET_CORNER_RADIUS;
|
|
181
|
+
const onKeyDownCapture = event => {
|
|
182
|
+
const root = entryRef.current;
|
|
183
|
+
if (event.key !== 'Tab' || event.defaultPrevented || event.nativeEvent.isComposing || !root || !presented || parked || overlayStore.getBlockingTop()?.id !== entryId) {
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
const tabbable = Array.from(root.querySelectorAll('a[href], area[href], button, input:not([type="hidden"]), select, textarea, iframe, object, embed, [tabindex], [contenteditable]:not([contenteditable="false"])')).filter(node => {
|
|
187
|
+
if (node.tabIndex < 0 && (node.hasAttribute('tabindex') || !node.hasAttribute('contenteditable')) || node.matches(':disabled')) {
|
|
188
|
+
return false;
|
|
189
|
+
}
|
|
190
|
+
for (let ancestor = node; ancestor; ancestor = ancestor.parentElement) {
|
|
191
|
+
const style = getComputedStyle(ancestor);
|
|
192
|
+
if (ancestor.inert || ancestor.hasAttribute('inert') || ancestor.hidden || ancestor.getAttribute('aria-hidden') === 'true' || style.display === 'none' || style.visibility === 'hidden') {
|
|
193
|
+
return false;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
return true;
|
|
197
|
+
}).sort((a, b) => {
|
|
198
|
+
const aOrder = a.tabIndex > 0 ? a.tabIndex : Infinity;
|
|
199
|
+
const bOrder = b.tabIndex > 0 ? b.tabIndex : Infinity;
|
|
200
|
+
return aOrder === bOrder ? 0 : aOrder - bOrder;
|
|
201
|
+
});
|
|
202
|
+
const active = document.activeElement;
|
|
203
|
+
const first = tabbable[0];
|
|
204
|
+
const last = tabbable[tabbable.length - 1];
|
|
205
|
+
if (!first || active === root || !root.contains(active) || active === (event.shiftKey ? first : last)) {
|
|
206
|
+
event.preventDefault();
|
|
207
|
+
(event.shiftKey ? last : first)?.focus({
|
|
208
|
+
preventScroll: true
|
|
209
|
+
});
|
|
210
|
+
if (!first) root.focus({
|
|
211
|
+
preventScroll: true
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
};
|
|
145
215
|
return /*#__PURE__*/_jsxs("div", {
|
|
146
216
|
ref: entryRef,
|
|
147
217
|
[ENTRY_ATTRIBUTE]: '',
|
|
@@ -165,6 +235,7 @@ function WebOverlayEntry({
|
|
|
165
235
|
visibility: parked ? 'hidden' : undefined
|
|
166
236
|
},
|
|
167
237
|
...ISOLATED_EVENT_HANDLERS,
|
|
238
|
+
onKeyDownCapture: onKeyDownCapture,
|
|
168
239
|
children: [showBackdrop ? /*#__PURE__*/_jsx("div", {
|
|
169
240
|
ref: backdropRef,
|
|
170
241
|
"aria-hidden": true,
|
|
@@ -173,7 +244,7 @@ function WebOverlayEntry({
|
|
|
173
244
|
inset: 0,
|
|
174
245
|
opacity: 0,
|
|
175
246
|
background: backdropColor ?? 'transparent',
|
|
176
|
-
pointerEvents: blocking ? 'auto' : 'none'
|
|
247
|
+
pointerEvents: blocking || dismissOnBackdropPress ? 'auto' : 'none'
|
|
177
248
|
}
|
|
178
249
|
}) : null, /*#__PURE__*/_jsx("div", {
|
|
179
250
|
ref: keyboardLayerRef,
|
|
@@ -190,9 +261,9 @@ function WebOverlayEntry({
|
|
|
190
261
|
inset: 0,
|
|
191
262
|
pointerEvents: 'none'
|
|
192
263
|
},
|
|
193
|
-
children:
|
|
264
|
+
children: /*#__PURE__*/_jsxs("div", {
|
|
194
265
|
ref: sheetRef,
|
|
195
|
-
style: {
|
|
266
|
+
style: sheet ? {
|
|
196
267
|
position: 'absolute',
|
|
197
268
|
left: 0,
|
|
198
269
|
right: 0,
|
|
@@ -207,8 +278,14 @@ function WebOverlayEntry({
|
|
|
207
278
|
background: sheet.backgroundColor ? String(sheet.backgroundColor) : undefined,
|
|
208
279
|
borderTopLeftRadius: cornerRadius,
|
|
209
280
|
borderTopRightRadius: cornerRadius
|
|
281
|
+
} : {
|
|
282
|
+
position: 'absolute',
|
|
283
|
+
inset: 0,
|
|
284
|
+
display: 'flex',
|
|
285
|
+
flexDirection: 'column',
|
|
286
|
+
pointerEvents: 'none'
|
|
210
287
|
},
|
|
211
|
-
children: [sheet
|
|
288
|
+
children: [sheet?.showHandle ? /*#__PURE__*/_jsx("div", {
|
|
212
289
|
style: {
|
|
213
290
|
alignSelf: 'center',
|
|
214
291
|
width: 36,
|
|
@@ -219,15 +296,12 @@ function WebOverlayEntry({
|
|
|
219
296
|
flexShrink: 0
|
|
220
297
|
}
|
|
221
298
|
}) : null, /*#__PURE__*/_jsx(View, {
|
|
222
|
-
|
|
299
|
+
pointerEvents: sheet ? undefined : 'box-none',
|
|
300
|
+
style: sheet ? {
|
|
223
301
|
flexShrink: 1
|
|
224
|
-
},
|
|
302
|
+
} : StyleSheet.absoluteFill,
|
|
225
303
|
children: children
|
|
226
304
|
})]
|
|
227
|
-
}) : /*#__PURE__*/_jsx(View, {
|
|
228
|
-
pointerEvents: "box-none",
|
|
229
|
-
style: StyleSheet.absoluteFill,
|
|
230
|
-
children: children
|
|
231
305
|
})
|
|
232
306
|
})
|
|
233
307
|
})]
|
|
@@ -261,10 +335,15 @@ export function OverlayView(props) {
|
|
|
261
335
|
// Closed with `keepContentMounted`: the same entry stays in the layer,
|
|
262
336
|
// hidden and inert, so the content keeps its state and can be measured.
|
|
263
337
|
const parked = !mounted || !entry;
|
|
338
|
+
const subscribePageHost = useCallback(listener => subscribeOverlayPageHost(hostKey, listener), [hostKey]);
|
|
339
|
+
const getPageHost = useCallback(() => getOverlayPageHost(hostKey), [hostKey]);
|
|
340
|
+
const pageHost = useSyncExternalStore(subscribePageHost, getPageHost, () => undefined);
|
|
264
341
|
if (parked && !keepContentMounted) {
|
|
265
342
|
return null;
|
|
266
343
|
}
|
|
267
|
-
|
|
344
|
+
if (scope === 'page' && !pageHost) {
|
|
345
|
+
return null;
|
|
346
|
+
}
|
|
268
347
|
return /*#__PURE__*/createPortal(/*#__PURE__*/_jsx(WebOverlayEntry, {
|
|
269
348
|
parked: parked,
|
|
270
349
|
entryId: entry?.id ?? parkedId,
|
|
@@ -281,13 +360,13 @@ export function OverlayView(props) {
|
|
|
281
360
|
sheet: presentation === 'sheet' ? sheet ?? {} : undefined
|
|
282
361
|
// Inside a page host all levels share one stacking context.
|
|
283
362
|
,
|
|
284
|
-
zIndex:
|
|
285
|
-
ownerKey:
|
|
363
|
+
zIndex: scope === 'page' ? OVERLAY_LEVEL_ORDER[level] * 1000 + (entry?.seq ?? 0) : entry?.seq ?? 0,
|
|
364
|
+
ownerKey: scope === 'page' ? ownerKey : undefined,
|
|
286
365
|
testID: testID,
|
|
287
366
|
children: /*#__PURE__*/_jsx(OverlayLevelProvider, {
|
|
288
367
|
value: level,
|
|
289
368
|
children: children
|
|
290
369
|
})
|
|
291
|
-
}, "entry"), pageHost
|
|
370
|
+
}, "entry"), scope === 'page' ? pageHost : getOverlayLayerRoot(level));
|
|
292
371
|
}
|
|
293
372
|
//# sourceMappingURL=OverlayView.web.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useId","useLayoutEffect","useRef","createPortal","StyleSheet","View","OverlayLevelProvider","OVERLAY_LEVEL_ORDER","isBlockingLevel","OVERLAY_OWNER_ATTRIBUTE","useOverlayController","animateBackdrop","animateTransition","ENTRY_ATTRIBUTE","getOverlayLayerRoot","getOverlayPageHost","registerOverlayDismissRequester","scheduleOverlayInertSync","useKeyboardShift","useSheetDrag","jsx","_jsx","jsxs","_jsxs","DEFAULT_BACKDROP_COLOR","DEFAULT_SHEET_MAX_HEIGHT","DEFAULT_SHEET_CORNER_RADIUS","stopPropagation","event","ISOLATED_EVENT_HANDLERS","onClick","onPointerDown","onPointerUp","onKeyDown","WebOverlayEntry","entryId","parked","stackOrder","levelOrder","presented","animation","blocking","backdropColor","dismissOnBackdropPress","onPresented","onDismissed","onRequestDismiss","sheet","zIndex","ownerKey","testID","children","sheetRef","pannedAwayRef","isSheet","entryRef","contentRef","keyboardLayerRef","backdropRef","directionRef","undefined","restoreFocusRef","callbacksRef","current","content","direction","neverEntered","document","activeElement","focus","preventScroll","getAnimations","forEach","running","cancel","contentRoot","firstElementChild","transition","enter","exit","backdrop","motion","filter","item","Promise","all","map","finished","then","catch","backdropNode","onBackdropClick","addEventListener","removeEventListener","layerRef","enabled","dismissOnPanDown","onDismissByPan","showBackdrop","cornerRadius","ref","role","tabIndex","inert","style","position","inset","pointerEvents","outline","visibility","opacity","background","left","right","bottom","height","maxHeight","display","flexDirection","overflow","touchAction","backgroundColor","String","borderTopLeftRadius","borderTopRightRadius","showHandle","alignSelf","width","marginTop","borderRadius","flexShrink","absoluteFill","OverlayView","props","level","presentation","keepContentMounted","parkedId","entry","mounted","onHostPresented","onHostDismissed","onHostRequestDismiss","scope","hostKey","pageHost","id","seq","color","dismissOnPress","value"],"sourceRoot":"../../src","sources":["OverlayView.web.tsx"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,KAAK,EAAEC,eAAe,EAAEC,MAAM,QAAQ,OAAO;AAGjE,SAASC,YAAY,QAAQ,WAAW;AACxC,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAE/C,SAASC,oBAAoB,QAAQ,0BAAuB;AAC5D,SAASC,mBAAmB,EAAEC,eAAe,QAAQ,oBAAiB;AACtE,SAASC,uBAAuB,QAAQ,0BAAuB;AAC/D,SAASC,oBAAoB,QAAQ,2BAAwB;AAC7D,SAASC,eAAe,EAAEC,iBAAiB,QAAQ,4BAAyB;AAC5E,SACEC,eAAe,EACfC,mBAAmB,EACnBC,kBAAkB,EAClBC,+BAA+B,EAC/BC,wBAAwB,QACnB,wBAAqB;AAC5B,SAASC,gBAAgB,QAAQ,2BAAwB;AACzD,SAASC,YAAY,QAAQ,uBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AASlD,MAAMC,sBAAsB,GAAG,oBAAoB;AACnD,MAAMC,wBAAwB,GAAG,MAAM;AACvC,MAAMC,2BAA2B,GAAG,EAAE;;AAEtC;AACA;AACA;AACA;AACA;AACA,MAAMC,eAAe,GAAIC,KAAqB,IAAKA,KAAK,CAACD,eAAe,CAAC,CAAC;AAC1E,MAAME,uBAAuB,GAAG;EAC9BC,OAAO,EAAEH,eAAe;EACxBI,aAAa,EAAEJ,eAAe;EAC9BK,WAAW,EAAEL,eAAe;EAC5BM,SAAS,EAAEN;AACb,CAAC;AAyBD,SAASO,eAAeA,CAAC;EACvBC,OAAO;EACPC,MAAM,GAAG,KAAK;EACdC,UAAU;EACVC,UAAU;EACVC,SAAS;EACTC,SAAS;EACTC,QAAQ;EACRC,aAAa;EACbC,sBAAsB;EACtBC,WAAW;EACXC,WAAW;EACXC,gBAAgB;EAChBC,KAAK;EACLC,MAAM;EACNC,QAAQ;EACRC,MAAM;EACNC;AACqB,CAAC,EAAE;EACxB,MAAMC,QAAQ,GAAGlD,MAAM,CAAiB,IAAI,CAAC;EAC7C;EACA,MAAMmD,aAAa,GAAGnD,MAAM,CAAC,KAAK,CAAC;EACnC,MAAMoD,OAAO,GAAG,CAAC,CAACP,KAAK;EACvB,MAAMQ,QAAQ,GAAGrD,MAAM,CAAiB,IAAI,CAAC;EAC7C,MAAMsD,UAAU,GAAGtD,MAAM,CAAiB,IAAI,CAAC;EAC/C,MAAMuD,gBAAgB,GAAGvD,MAAM,CAAiB,IAAI,CAAC;EACrD,MAAMwD,WAAW,GAAGxD,MAAM,CAAiB,IAAI,CAAC;EAChD,MAAMyD,YAAY,GAAGzD,MAAM,CAA2B0D,SAAS,CAAC;EAChE,MAAMC,eAAe,GAAG3D,MAAM,CAAqB,IAAI,CAAC;EACxD,MAAM4D,YAAY,GAAG5D,MAAM,CAAC;IAAE0C,WAAW;IAAEC;EAAY,CAAC,CAAC;EACzDiB,YAAY,CAACC,OAAO,GAAG;IAAEnB,WAAW;IAAEC;EAAY,CAAC;EAEnD5C,eAAe,CAAC,MAAM;IACpB,MAAM+D,OAAO,GAAGR,UAAU,CAACO,OAAO;IAClC,IAAI,CAACC,OAAO,EAAE;MACZ;IACF;IACA,MAAMC,SAAS,GAAG1B,SAAS,GAAG,IAAI,GAAG,KAAK;IAC1C,IAAIoB,YAAY,CAACI,OAAO,KAAKE,SAAS,EAAE;MACtC;IACF;IACA,MAAMC,YAAY,GAAGP,YAAY,CAACI,OAAO,KAAKH,SAAS;IACvDD,YAAY,CAACI,OAAO,GAAGE,SAAS;IAChChD,wBAAwB,CAAC,CAAC;IAC1B,IAAIgD,SAAS,KAAK,KAAK,KAAKC,YAAY,IAAIb,aAAa,CAACU,OAAO,CAAC,EAAE;MAClED,YAAY,CAACC,OAAO,CAAClB,WAAW,CAAC,CAAC;MAClC;IACF;IACA,IAAIoB,SAAS,KAAK,IAAI,IAAIxB,QAAQ,EAAE;MAClCoB,eAAe,CAACE,OAAO,GAAGI,QAAQ,CAACC,aAAmC;MACtEb,QAAQ,CAACQ,OAAO,EAAEM,KAAK,CAAC;QAAEC,aAAa,EAAE;MAAK,CAAC,CAAC;IAClD;IACAN,OAAO,CAACO,aAAa,CAAC,CAAC,CAACC,OAAO,CAAEC,OAAO,IAAKA,OAAO,CAACC,MAAM,CAAC,CAAC,CAAC;IAC9DhB,WAAW,CAACK,OAAO,EAAEQ,aAAa,CAAC,CAAC,CAACC,OAAO,CAAEC,OAAO,IAAKA,OAAO,CAACC,MAAM,CAAC,CAAC,CAAC;IAC3E;IACA;IACA,MAAMC,WAAW,GAAGrB,OAAO,GACvBU,OAAO,GACNA,OAAO,CAACY,iBAAiB,IAA2BZ,OAAO;IAChE,MAAMa,UAAU,GAAGZ,SAAS,KAAK,IAAI,GAAGzB,SAAS,CAACsC,KAAK,GAAGtC,SAAS,CAACuC,IAAI;IACxE,MAAMN,OAAO,GAAG,CACd7D,iBAAiB,CAACoD,OAAO,EAAEW,WAAW,EAAEE,UAAU,EAAEZ,SAAS,CAAC,EAC9DP,WAAW,CAACK,OAAO,GACfpD,eAAe,CACb+C,WAAW,CAACK,OAAO,EACnBvB,SAAS,CAACwC,QAAQ,CAACC,MAAM,EACzBhB,SACF,CAAC,GACDL,SAAS,CACd,CAACsB,MAAM,CAAEC,IAAI,IAAwB,CAAC,CAACA,IAAI,CAAC;IAC7C,KAAKC,OAAO,CAACC,GAAG,CAACZ,OAAO,CAACa,GAAG,CAAEH,IAAI,IAAKA,IAAI,CAACI,QAAQ,CAAC,CAAC,CACnDC,IAAI,CAAC,MAAM;MACV,IAAI7B,YAAY,CAACI,OAAO,KAAKE,SAAS,EAAE;QACtC;MACF;MACA,IAAIA,SAAS,KAAK,IAAI,EAAE;QACtBH,YAAY,CAACC,OAAO,CAACnB,WAAW,CAAC,CAAC;MACpC,CAAC,MAAM;QACLiB,eAAe,CAACE,OAAO,EAAEM,KAAK,GAAG;UAAEC,aAAa,EAAE;QAAK,CAAC,CAAC;QACzDT,eAAe,CAACE,OAAO,GAAG,IAAI;QAC9BD,YAAY,CAACC,OAAO,CAAClB,WAAW,CAAC,CAAC;MACpC;IACF,CAAC,CAAC,CACD4C,KAAK,CAAC,MAAM;MACX;IAAA,CACD,CAAC;EACN,CAAC,EAAE,CAAClD,SAAS,EAAEC,SAAS,EAAEC,QAAQ,EAAEa,OAAO,CAAC,CAAC;EAE7CvD,SAAS,CACP,MAAMiB,+BAA+B,CAACmB,OAAO,EAAEW,gBAAgB,CAAC,EAChE,CAACX,OAAO,EAAEW,gBAAgB,CAC5B,CAAC;;EAED;EACA;EACA/C,SAAS,CAAC,MAAM;IACd,MAAM2F,YAAY,GAAGhC,WAAW,CAACK,OAAO;IACxC,IAAI,CAAC2B,YAAY,IAAI,CAAC/C,sBAAsB,EAAE;MAC5C;IACF;IACA,MAAMgD,eAAe,GAAGA,CAAA,KAAM7C,gBAAgB,CAAC,UAAU,CAAC;IAC1D4C,YAAY,CAACE,gBAAgB,CAAC,OAAO,EAAED,eAAe,CAAC;IACvD,OAAO,MAAMD,YAAY,CAACG,mBAAmB,CAAC,OAAO,EAAEF,eAAe,CAAC;EACzE,CAAC,EAAE,CAAChD,sBAAsB,EAAEG,gBAAgB,CAAC,CAAC;EAE9C5B,gBAAgB,CAAC;IACf4E,QAAQ,EAAErC,gBAAgB;IAC1BL,QAAQ;IACRI,UAAU;IACVF,OAAO;IACPyC,OAAO,EAAExD;EACX,CAAC,CAAC;EAEFpB,YAAY,CAAC;IACXiC,QAAQ;IACRM,WAAW;IACXqC,OAAO,EAAE,CAAC,CAAChD,KAAK,KAAKA,KAAK,CAACiD,gBAAgB,IAAI,IAAI,CAAC,IAAIzD,SAAS;IACjE0D,cAAc,EAAEA,CAAA,KAAM;MACpB5C,aAAa,CAACU,OAAO,GAAG,IAAI;MAC5BjB,gBAAgB,CAAC,KAAK,CAAC;IACzB;EACF,CAAC,CAAC;EAEF,MAAMoD,YAAY,GAAG,CAAC,CAACxD,aAAa,IAAID,QAAQ;EAChD,MAAM0D,YAAY,GAAGpD,KAAK,EAAEoD,YAAY,IAAIzE,2BAA2B;EAEvE,oBACEH,KAAA;IACE6E,GAAG,EAAE7C,QAAS;IACR,CAAC1C,eAAe,GAAG,EAAE;IAAA,IACtBoC,QAAQ,GAAG;MAAE,CAACxC,uBAAuB,GAAGwC;IAAS,CAAC,GAAG,CAAC,CAAC;IAC5D,oBAAkBZ,UAAW;IAC7B,4BAA0BC,UAAW;IACrC,eAAaY,MAAO;IACpBmD,IAAI,EAAE5D,QAAQ,GAAG,QAAQ,GAAGmB,SAAU;IACtC,cAAYnB,QAAQ,IAAImB,SAAU;IAClC0C,QAAQ,EAAE,CAAC,CAAE;IACbC,KAAK,EAAEnE,MAAM,IAAIwB,SAAU;IAC3B,eAAaxB,MAAM,IAAIwB,SAAU;IACjC4C,KAAK,EAAE;MACLC,QAAQ,EAAE,UAAU;MACpBC,KAAK,EAAE,CAAC;MACR1D,MAAM;MACN2D,aAAa,EAAE,MAAM;MACrBC,OAAO,EAAE,MAAM;MACfC,UAAU,EAAEzE,MAAM,GAAG,QAAQ,GAAGwB;IAClC,CAAE;IAAA,GACE/B,uBAAuB;IAAAsB,QAAA,GAE1B+C,YAAY,gBACX7E,IAAA;MACE+E,GAAG,EAAE1C,WAAY;MACjB,mBAAW;MACX8C,KAAK,EAAE;QACLC,QAAQ,EAAE,UAAU;QACpBC,KAAK,EAAE,CAAC;QACRI,OAAO,EAAE,CAAC;QACVC,UAAU,EAAErE,aAAa,IAAI,aAAa;QAC1CiE,aAAa,EAAElE,QAAQ,GAAG,MAAM,GAAG;MACrC;IAAE,CACH,CAAC,GACA,IAAI,eAIRpB,IAAA;MACE+E,GAAG,EAAE3C,gBAAiB;MACtB+C,KAAK,EAAE;QACLC,QAAQ,EAAE,UAAU;QACpBC,KAAK,EAAE,CAAC;QACRC,aAAa,EAAE,MAAM;QACrB9B,UAAU,EAAE;MACd,CAAE;MAAA1B,QAAA,eAEF9B,IAAA;QACE+E,GAAG,EAAE5C,UAAW;QAChBgD,KAAK,EAAE;UAAEC,QAAQ,EAAE,UAAU;UAAEC,KAAK,EAAE,CAAC;UAAEC,aAAa,EAAE;QAAO,CAAE;QAAAxD,QAAA,EAEhEJ,KAAK,gBACJxB,KAAA;UACE6E,GAAG,EAAEhD,QAAS;UACdoD,KAAK,EAAE;YACLC,QAAQ,EAAE,UAAU;YACpBO,IAAI,EAAE,CAAC;YACPC,KAAK,EAAE,CAAC;YACRC,MAAM,EAAE,CAAC;YACTC,MAAM,EAAEpE,KAAK,CAACoE,MAAM;YACpBC,SAAS,EAAErE,KAAK,CAACqE,SAAS,IAAI3F,wBAAwB;YACtD4F,OAAO,EAAE,MAAM;YACfC,aAAa,EAAE,QAAQ;YACvBC,QAAQ,EAAE,QAAQ;YAClBZ,aAAa,EAAE,MAAM;YACrBa,WAAW,EAAE,OAAO;YACpBT,UAAU,EAAEhE,KAAK,CAAC0E,eAAe,GAC7BC,MAAM,CAAC3E,KAAK,CAAC0E,eAAe,CAAC,GAC7B7D,SAAS;YACb+D,mBAAmB,EAAExB,YAAY;YACjCyB,oBAAoB,EAAEzB;UACxB,CAAE;UAAAhD,QAAA,GAEDJ,KAAK,CAAC8E,UAAU,gBACfxG,IAAA;YACEmF,KAAK,EAAE;cACLsB,SAAS,EAAE,QAAQ;cACnBC,KAAK,EAAE,EAAE;cACTZ,MAAM,EAAE,CAAC;cACTa,SAAS,EAAE,CAAC;cACZC,YAAY,EAAE,GAAG;cACjBlB,UAAU,EAAE,oBAAoB;cAChCmB,UAAU,EAAE;YACd;UAAE,CACH,CAAC,GACA,IAAI,eACR7G,IAAA,CAAChB,IAAI;YAACmG,KAAK,EAAE;cAAE0B,UAAU,EAAE;YAAE,CAAE;YAAA/E,QAAA,EAAEA;UAAQ,CAAO,CAAC;QAAA,CAC9C,CAAC,gBAEN9B,IAAA,CAAChB,IAAI;UAACsG,aAAa,EAAC,UAAU;UAACH,KAAK,EAAEpG,UAAU,CAAC+H,YAAa;UAAAhF,QAAA,EAC3DA;QAAQ,CACL;MACP,CACE;IAAC,CACH,CAAC;EAAA,CACH,CAAC;AAEV;AAEA,OAAO,SAASiF,WAAWA,CAACC,KAAwB,EAAE;EACpD,MAAM;IACJC,KAAK,GAAG,OAAO;IACfC,YAAY,GAAG,QAAQ;IACvBvD,QAAQ;IACRvC,QAAQ;IACRM,KAAK;IACLyF,kBAAkB,GAAG,KAAK;IAC1BrF,QAAQ;IACRD;EACF,CAAC,GAAGmF,KAAK;EACT,MAAMI,QAAQ,GAAGzI,KAAK,CAAC,CAAC;EACxB,MAAM;IACJ0I,KAAK;IACLC,OAAO;IACPpG,SAAS;IACTC,SAAS;IACToG,eAAe;IACfC,eAAe;IACfC,oBAAoB;IACpBC,KAAK;IACLC,OAAO;IACP/F;EACF,CAAC,GAAGvC,oBAAoB,CAAC2H,KAAK,CAAC;;EAE/B;EACA;EACA,MAAMjG,MAAM,GAAG,CAACuG,OAAO,IAAI,CAACD,KAAK;EACjC,IAAItG,MAAM,IAAI,CAACoG,kBAAkB,EAAE;IACjC,OAAO,IAAI;EACb;EAEA,MAAMS,QAAQ,GACZ,CAAC7G,MAAM,IAAI2G,KAAK,KAAK,MAAM,GAAGhI,kBAAkB,CAACiI,OAAO,CAAC,GAAGpF,SAAS;EACvE,oBAAOzD,YAAY,cACjBkB,IAAA,CAACa,eAAe;IAEdE,MAAM,EAAEA,MAAO;IACfD,OAAO,EAAEuG,KAAK,EAAEQ,EAAE,IAAIT,QAAS;IAC/BpG,UAAU,EAAEqG,KAAK,EAAES,GAAG,IAAI,CAAE;IAC5B7G,UAAU,EAAE/B,mBAAmB,CAAC+H,KAAK,CAAE;IACvC/F,SAAS,EAAE,CAACH,MAAM,IAAIG,SAAU;IAChCC,SAAS,EAAEA,SAAU;IACrBC,QAAQ,EAAEA,QAAQ,IAAIjC,eAAe,CAAC8H,KAAK,CAAE;IAC7C5F,aAAa,EACXsC,QAAQ,GAAG0C,MAAM,CAAC1C,QAAQ,CAACoE,KAAK,IAAI5H,sBAAsB,CAAC,GAAGoC,SAC/D;IACDjB,sBAAsB,EAAEqC,QAAQ,GAAG,CAAC,CAACA,QAAQ,CAACqE,cAAc,GAAG,KAAM;IACrEzG,WAAW,EAAEgG,eAAgB;IAC7B/F,WAAW,EAAEgG,eAAgB;IAC7B/F,gBAAgB,EAAEgG,oBAAqB;IACvC/F,KAAK,EAAEwF,YAAY,KAAK,OAAO,GAAGxF,KAAK,IAAI,CAAC,CAAC,GAAGa;IAChD;IAAA;IACAZ,MAAM,EACJiG,QAAQ,GACJ1I,mBAAmB,CAAC+H,KAAK,CAAC,GAAG,IAAI,IAAII,KAAK,EAAES,GAAG,IAAI,CAAC,CAAC,GACrDT,KAAK,EAAES,GAAG,IAAI,CACnB;IACDlG,QAAQ,EAAEgG,QAAQ,GAAGhG,QAAQ,GAAGW,SAAU;IAC1CV,MAAM,EAAEA,MAAO;IAAAC,QAAA,eAEf9B,IAAA,CAACf,oBAAoB;MAACgJ,KAAK,EAAEhB,KAAM;MAAAnF,QAAA,EAAEA;IAAQ,CAAuB;EAAC,GAzBjE,OA0BW,CAAC,EAClB8F,QAAQ,IAAInI,mBAAmB,CAACwH,KAAK,CACvC,CAAC;AACH","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useId","useLayoutEffect","useRef","useSyncExternalStore","createPortal","StyleSheet","View","OverlayLevelProvider","OVERLAY_LEVEL_ORDER","isBlockingLevel","OVERLAY_OWNER_ATTRIBUTE","overlayStore","useOverlayController","animateBackdrop","animateTransition","ENTRY_ATTRIBUTE","getOverlayLayerRoot","getOverlayPageHost","registerOverlayDismissRequester","scheduleOverlayInertSync","subscribeOverlayPageHost","useKeyboardShift","useSheetDrag","jsx","_jsx","jsxs","_jsxs","DEFAULT_BACKDROP_COLOR","DEFAULT_SHEET_MAX_HEIGHT","DEFAULT_SHEET_CORNER_RADIUS","stopPropagation","event","ISOLATED_EVENT_HANDLERS","onClick","onPointerDown","onPointerUp","onKeyDown","WebOverlayEntry","entryId","parked","stackOrder","levelOrder","presented","animation","blocking","backdropColor","dismissOnBackdropPress","onPresented","onDismissed","onRequestDismiss","sheet","zIndex","ownerKey","testID","children","sheetRef","pannedAwayRef","isSheet","entryRef","contentRef","keyboardLayerRef","backdropRef","directionRef","undefined","runningAnimationsRef","restoreFocusRef","callbacksRef","current","style","removeProperty","opacity","content","direction","neverEntered","interruptedFrames","Map","running","target","effect","playState","HTMLElement","getComputedStyle","set","transform","cancel","focus","preventScroll","document","activeElement","contentRoot","firstElementChild","transition","enter","exit","backdrop","motion","filter","item","Promise","all","map","finished","then","catch","backdropNode","onBackdropClick","addEventListener","removeEventListener","layerRef","enabled","dismissOnPanDown","onDismissByPan","showBackdrop","cornerRadius","onKeyDownCapture","root","key","defaultPrevented","nativeEvent","isComposing","getBlockingTop","id","tabbable","Array","from","querySelectorAll","node","tabIndex","hasAttribute","matches","ancestor","parentElement","inert","hidden","getAttribute","display","visibility","sort","a","b","aOrder","Infinity","bOrder","active","first","last","length","contains","shiftKey","preventDefault","ref","role","position","inset","pointerEvents","outline","background","left","right","bottom","height","maxHeight","flexDirection","overflow","touchAction","backgroundColor","String","borderTopLeftRadius","borderTopRightRadius","showHandle","alignSelf","width","marginTop","borderRadius","flexShrink","absoluteFill","OverlayView","props","level","presentation","keepContentMounted","parkedId","entry","mounted","onHostPresented","onHostDismissed","onHostRequestDismiss","scope","hostKey","subscribePageHost","listener","getPageHost","pageHost","seq","color","dismissOnPress","value"],"sourceRoot":"../../src","sources":["OverlayView.web.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -32,8 +32,7 @@ export function useOverlayController(props) {
|
|
|
32
32
|
const pageScope = useOverlayPageScope();
|
|
33
33
|
const hostKey = props.hostKey ?? pageScope.hostKey;
|
|
34
34
|
const ownerKey = props.ownerKey ?? pageScope.ownerKey;
|
|
35
|
-
|
|
36
|
-
const scope = props.scope === 'page' && hostKey && ownerKey ? 'page' : 'global';
|
|
35
|
+
const scope = props.scope ?? 'global';
|
|
37
36
|
const baseId = useId();
|
|
38
37
|
const cycleRef = useRef(0);
|
|
39
38
|
const [entryId, setEntryId] = useState();
|
|
@@ -41,9 +40,13 @@ export function useOverlayController(props) {
|
|
|
41
40
|
// still true, so the effect below does not immediately reopen it.
|
|
42
41
|
const closedByStoreRef = useRef(false);
|
|
43
42
|
const propsRef = useLatest(props);
|
|
43
|
+
const previousVisibleRef = useRef(visible);
|
|
44
44
|
const snapshot = useSyncExternalStore(overlayStore.subscribe, overlayStore.getSnapshot, overlayStore.getSnapshot);
|
|
45
45
|
const entry = useMemo(() => entryId ? snapshot.entries.find(e => e.id === entryId) ?? snapshot.queued.find(e => e.id === entryId) : undefined, [entryId, snapshot]);
|
|
46
46
|
useEffect(() => {
|
|
47
|
+
const reopening = visible && !previousVisibleRef.current;
|
|
48
|
+
previousVisibleRef.current = visible;
|
|
49
|
+
if (reopening && entryId) overlayStore.reopen(entryId);
|
|
47
50
|
if (!visible) {
|
|
48
51
|
closedByStoreRef.current = false;
|
|
49
52
|
if (entryId) {
|
|
@@ -54,6 +57,11 @@ export function useOverlayController(props) {
|
|
|
54
57
|
if (entryId || closedByStoreRef.current) {
|
|
55
58
|
return;
|
|
56
59
|
}
|
|
60
|
+
// Page context can become ready after the caller first opens the overlay.
|
|
61
|
+
// Keep the request in its page boundary instead of presenting globally.
|
|
62
|
+
if (scope === 'page' && (!hostKey || !ownerKey)) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
57
65
|
cycleRef.current += 1;
|
|
58
66
|
const id = `overlay-view${baseId}${cycleRef.current}`;
|
|
59
67
|
overlayStore.request({
|
|
@@ -80,7 +88,7 @@ export function useOverlayController(props) {
|
|
|
80
88
|
setEntryId(id);
|
|
81
89
|
// Level / strategy changes apply to the next open cycle only.
|
|
82
90
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
83
|
-
}, [visible, entryId]);
|
|
91
|
+
}, [visible, entryId, scope, hostKey, ownerKey]);
|
|
84
92
|
useEffect(() => () => {
|
|
85
93
|
if (entryId) {
|
|
86
94
|
overlayStore.dismiss(entryId, 'system');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useEffect","useId","useMemo","useRef","useState","useSyncExternalStore","OVERLAY_MOTION_PRESETS","resolveOverlayAnimation","useOverlayPageScope","findStatusBarOwner","overlayStore","useLatest","value","ref","current","useOverlayController","props","visible","level","strategy","priority","replaceKey","blocking","dismissOnBackPress","presentation","animation","statusBarStyle","pageScope","hostKey","ownerKey","scope","baseId","cycleRef","entryId","setEntryId","closedByStoreRef","propsRef","snapshot","subscribe","getSnapshot","entry","entries","find","e","id","queued","undefined","dismiss","request","dismissible","onRemoved","reason","onClose","finalize","resolvedAnimation","onHostPresented","onPresented","onHostDismissed","phase","getEntry","onHostRequestDismiss","handler","onRequestDismiss","mounted","presented","suspended","ownsStatusBar"],"sourceRoot":"../../src","sources":["useOverlayController.ts"],"mappings":";;AAAA,SACEA,WAAW,EACXC,SAAS,EACTC,KAAK,EACLC,OAAO,EACPC,MAAM,EACNC,QAAQ,EACRC,oBAAoB,QACf,OAAO;AAEd,SAASC,sBAAsB,QAAQ,mCAAmC;AAC1E,SAASC,uBAAuB,QAAQ,iCAA8B;AACtE,SAASC,mBAAmB,QAAQ,uBAAoB;AACxD,SAASC,kBAAkB,EAAEC,YAAY,QAAQ,mBAAgB;AA6BjE,SAASC,SAASA,CAAIC,KAAQ,EAAE;EAC9B,MAAMC,GAAG,GAAGV,MAAM,CAACS,KAAK,CAAC;EACzBC,GAAG,CAACC,OAAO,GAAGF,KAAK;EACnB,OAAOC,GAAG;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,oBAAoBA,CAClCC,KAAwB,EACJ;EACpB,MAAM;IACJC,OAAO;IACPC,KAAK;IACLC,QAAQ;IACRC,QAAQ;IACRC,UAAU;IACVC,QAAQ;IACRC,kBAAkB;IAClBC,YAAY,GAAG,QAAQ;IACvBC,SAAS;IACTC;EACF,CAAC,GAAGV,KAAK;EACT,MAAMW,SAAS,GAAGnB,mBAAmB,CAAC,CAAC;EACvC,MAAMoB,OAAO,GAAGZ,KAAK,CAACY,OAAO,IAAID,SAAS,CAACC,OAAO;EAClD,MAAMC,QAAQ,GAAGb,KAAK,CAACa,QAAQ,IAAIF,SAAS,CAACE,QAAQ;EACrD
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useId","useMemo","useRef","useState","useSyncExternalStore","OVERLAY_MOTION_PRESETS","resolveOverlayAnimation","useOverlayPageScope","findStatusBarOwner","overlayStore","useLatest","value","ref","current","useOverlayController","props","visible","level","strategy","priority","replaceKey","blocking","dismissOnBackPress","presentation","animation","statusBarStyle","pageScope","hostKey","ownerKey","scope","baseId","cycleRef","entryId","setEntryId","closedByStoreRef","propsRef","previousVisibleRef","snapshot","subscribe","getSnapshot","entry","entries","find","e","id","queued","undefined","reopening","reopen","dismiss","request","dismissible","onRemoved","reason","onClose","finalize","resolvedAnimation","onHostPresented","onPresented","onHostDismissed","phase","getEntry","onHostRequestDismiss","handler","onRequestDismiss","mounted","presented","suspended","ownsStatusBar"],"sourceRoot":"../../src","sources":["useOverlayController.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -75,7 +75,7 @@ const VISIBLE_KEYFRAME = {
|
|
|
75
75
|
* slide distance and scale origin come from the children of `contentRoot`,
|
|
76
76
|
* because the content wrapper itself always fills the window.
|
|
77
77
|
*/
|
|
78
|
-
export function animateTransition(element, contentRoot, transition, direction) {
|
|
78
|
+
export function animateTransition(element, contentRoot, transition, direction, interruptedFrames) {
|
|
79
79
|
if (transition.type === 'none') {
|
|
80
80
|
return undefined;
|
|
81
81
|
}
|
|
@@ -85,27 +85,35 @@ export function animateTransition(element, contentRoot, transition, direction) {
|
|
|
85
85
|
fade: true
|
|
86
86
|
} : transition;
|
|
87
87
|
const extent = measureContentExtent(contentRoot);
|
|
88
|
-
|
|
88
|
+
// The React Native root wraps the positioned panel. Animate that panel so its
|
|
89
|
+
// offset parent stays unscaled; multi-child roots retain their shared motion.
|
|
90
|
+
const anchoredContent = effective.origin === 'anchor' && contentRoot.childElementCount === 1 ? contentRoot.firstElementChild : undefined;
|
|
91
|
+
const target = anchoredContent instanceof HTMLElement ? anchoredContent : element;
|
|
92
|
+
const targetRect = target === element ? undefined : target.getBoundingClientRect();
|
|
93
|
+
target.style.transformOrigin = `${(extent.left + extent.right) / 2 - (targetRect?.left ?? 0)}px ${(extent.top + extent.bottom) / 2 - (targetRect?.top ?? 0)}px`;
|
|
89
94
|
const hidden = hiddenKeyframe(effective, extent);
|
|
90
95
|
const visible = {};
|
|
91
96
|
Object.keys(hidden).forEach(key => {
|
|
92
97
|
visible[key] = VISIBLE_KEYFRAME[key];
|
|
93
98
|
});
|
|
94
|
-
const
|
|
95
|
-
|
|
99
|
+
const sampled = interruptedFrames?.get(target);
|
|
100
|
+
const initial = direction === 'in' ? hidden : visible;
|
|
101
|
+
const start = {};
|
|
102
|
+
Object.keys(initial).forEach(key => {
|
|
103
|
+
start[key] = sampled?.[key] ?? initial[key];
|
|
104
|
+
});
|
|
105
|
+
const keyframes = [start, direction === 'in' ? visible : hidden];
|
|
106
|
+
return target.animate(keyframes, {
|
|
96
107
|
...toTiming(effective.motion),
|
|
97
108
|
fill: 'forwards'
|
|
98
109
|
});
|
|
99
110
|
}
|
|
100
|
-
export function animateBackdrop(element, motion, direction) {
|
|
101
|
-
const
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
opacity: 1
|
|
105
|
-
}] : [{
|
|
106
|
-
opacity: 1
|
|
111
|
+
export function animateBackdrop(element, motion, direction, interruptedFrames) {
|
|
112
|
+
const sampled = interruptedFrames?.get(element)?.opacity;
|
|
113
|
+
const keyframes = [{
|
|
114
|
+
opacity: sampled ?? (direction === 'in' ? 0 : 1)
|
|
107
115
|
}, {
|
|
108
|
-
opacity: 0
|
|
116
|
+
opacity: direction === 'in' ? 1 : 0
|
|
109
117
|
}];
|
|
110
118
|
return element.animate(keyframes, {
|
|
111
119
|
...toTiming(motion),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["springToCssLinear","measureContentExtent","container","rects","Array","from","children","map","child","getBoundingClientRect","length","top","bottom","window","innerHeight","left","right","innerWidth","Math","min","r","max","toTiming","motion","type","x1","y1","x2","y2","timing","easing","duration","durationMs","spring","prefersReducedMotion","globalThis","matchMedia","matches","hiddenKeyframe","transition","extent","frame","fade","opacity","edge","distance","transform","offsetY","scale","VISIBLE_KEYFRAME","animateTransition","element","contentRoot","direction","undefined","effective","style","transformOrigin","hidden","visible","Object","keys","forEach","key","keyframes","animate","fill","animateBackdrop"],"sourceRoot":"../../../src","sources":["web/animateTransition.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["springToCssLinear","measureContentExtent","container","rects","Array","from","children","map","child","getBoundingClientRect","length","top","bottom","window","innerHeight","left","right","innerWidth","Math","min","r","max","toTiming","motion","type","x1","y1","x2","y2","timing","easing","duration","durationMs","spring","prefersReducedMotion","globalThis","matchMedia","matches","hiddenKeyframe","transition","extent","frame","fade","opacity","edge","distance","transform","offsetY","scale","VISIBLE_KEYFRAME","animateTransition","element","contentRoot","direction","interruptedFrames","undefined","effective","anchoredContent","origin","childElementCount","firstElementChild","target","HTMLElement","targetRect","style","transformOrigin","hidden","visible","Object","keys","forEach","key","sampled","get","initial","start","keyframes","animate","fill","animateBackdrop"],"sourceRoot":"../../../src","sources":["web/animateTransition.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,6 +7,7 @@ export const ENTRY_ATTRIBUTE = 'data-onekey-overlay-entry';
|
|
|
7
7
|
const APP_ROOT_ID = 'root';
|
|
8
8
|
const layerRoots = new Map();
|
|
9
9
|
const pageHosts = new Map();
|
|
10
|
+
const pageHostListeners = new Map();
|
|
10
11
|
const dismissRequesters = new Map();
|
|
11
12
|
let installed = false;
|
|
12
13
|
function createLayerRoot(level) {
|
|
@@ -137,12 +138,27 @@ export function scheduleOverlayInertSync() {
|
|
|
137
138
|
export function registerOverlayPageHost(hostKey, element) {
|
|
138
139
|
installOverlayWebManager();
|
|
139
140
|
pageHosts.set(hostKey, element);
|
|
141
|
+
pageHostListeners.get(hostKey)?.forEach(listener => listener());
|
|
140
142
|
return () => {
|
|
141
143
|
if (pageHosts.get(hostKey) === element) {
|
|
142
144
|
pageHosts.delete(hostKey);
|
|
145
|
+
pageHostListeners.get(hostKey)?.forEach(listener => listener());
|
|
143
146
|
}
|
|
144
147
|
};
|
|
145
148
|
}
|
|
149
|
+
export function subscribeOverlayPageHost(hostKey, listener) {
|
|
150
|
+
if (!hostKey) return () => {};
|
|
151
|
+
let listeners = pageHostListeners.get(hostKey);
|
|
152
|
+
if (!listeners) {
|
|
153
|
+
listeners = new Set();
|
|
154
|
+
pageHostListeners.set(hostKey, listeners);
|
|
155
|
+
}
|
|
156
|
+
listeners.add(listener);
|
|
157
|
+
return () => {
|
|
158
|
+
listeners.delete(listener);
|
|
159
|
+
if (listeners.size === 0) pageHostListeners.delete(hostKey);
|
|
160
|
+
};
|
|
161
|
+
}
|
|
146
162
|
export function getOverlayPageHost(hostKey) {
|
|
147
163
|
return hostKey ? pageHosts.get(hostKey) : undefined;
|
|
148
164
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["OVERLAY_LEVELS","OVERLAY_LEVEL_ORDER","OVERLAY_WEB_Z_INDEX_BASE","overlayStore","LAYER_ATTRIBUTE","ENTRY_ATTRIBUTE","APP_ROOT_ID","layerRoots","Map","pageHosts","dismissRequesters","installed","createLayerRoot","level","root","document","createElement","setAttribute","Object","assign","style","position","inset","pointerEvents","zIndex","String","isolation","next","slice","indexOf","map","l","get","find","Boolean","body","insertBefore","setInert","element","inert","pageInertElements","Set","siblingsOutside","host","siblings","node","parentElement","parent","sibling","Array","from","children","HTMLElement","add","inertEntriesBelow","container","top","querySelectorAll","forEach","Number","dataset","overlayLevelOrder","below","stackOrder","seq","visibility","getAttribute","syncOverlayInert","getBlockingTop","appRoot","getElementById","nextPageInert","pageHost","scope","getOverlayPageHost","hostKey","undefined","contains","has","onKeyDown","event","key","isComposing","keyCode","resolution","resolveBack","kind","stopPropagation","preventDefault","id","installOverlayWebManager","subscribe","addEventListener","getOverlayLayerRoot","isConnected","set","registerOverlayDismissRequester","requester","delete","scheduleOverlayInertSync","requestAnimationFrame","registerOverlayPageHost"],"sourceRoot":"../../../src","sources":["web/overlayLayers.ts"],"mappings":";;AAAA,SACEA,cAAc,EACdC,mBAAmB,EACnBC,wBAAwB,QACnB,qBAAkB;AACzB,SAASC,YAAY,QAAQ,oBAAiB;AAK9C,MAAMC,eAAe,GAAG,2BAA2B;AACnD,OAAO,MAAMC,eAAe,GAAG,2BAA2B;AAE1D,MAAMC,WAAW,GAAG,MAAM;AAE1B,MAAMC,UAAU,GAAG,IAAIC,GAAG,CAAgC,CAAC;AAC3D,MAAMC,SAAS,GAAG,IAAID,GAAG,CAAyB,CAAC;AACnD,MAAME,iBAAiB,GAAG,IAAIF,GAAG,CAG/B,CAAC;AACH,
|
|
1
|
+
{"version":3,"names":["OVERLAY_LEVELS","OVERLAY_LEVEL_ORDER","OVERLAY_WEB_Z_INDEX_BASE","overlayStore","LAYER_ATTRIBUTE","ENTRY_ATTRIBUTE","APP_ROOT_ID","layerRoots","Map","pageHosts","pageHostListeners","dismissRequesters","installed","createLayerRoot","level","root","document","createElement","setAttribute","Object","assign","style","position","inset","pointerEvents","zIndex","String","isolation","next","slice","indexOf","map","l","get","find","Boolean","body","insertBefore","setInert","element","inert","pageInertElements","Set","siblingsOutside","host","siblings","node","parentElement","parent","sibling","Array","from","children","HTMLElement","add","inertEntriesBelow","container","top","querySelectorAll","forEach","Number","dataset","overlayLevelOrder","below","stackOrder","seq","visibility","getAttribute","syncOverlayInert","getBlockingTop","appRoot","getElementById","nextPageInert","pageHost","scope","getOverlayPageHost","hostKey","undefined","contains","has","onKeyDown","event","key","isComposing","keyCode","resolution","resolveBack","kind","stopPropagation","preventDefault","id","installOverlayWebManager","subscribe","addEventListener","getOverlayLayerRoot","isConnected","set","registerOverlayDismissRequester","requester","delete","scheduleOverlayInertSync","requestAnimationFrame","registerOverlayPageHost","listener","subscribeOverlayPageHost","listeners","size"],"sourceRoot":"../../../src","sources":["web/overlayLayers.ts"],"mappings":";;AAAA,SACEA,cAAc,EACdC,mBAAmB,EACnBC,wBAAwB,QACnB,qBAAkB;AACzB,SAASC,YAAY,QAAQ,oBAAiB;AAK9C,MAAMC,eAAe,GAAG,2BAA2B;AACnD,OAAO,MAAMC,eAAe,GAAG,2BAA2B;AAE1D,MAAMC,WAAW,GAAG,MAAM;AAE1B,MAAMC,UAAU,GAAG,IAAIC,GAAG,CAAgC,CAAC;AAC3D,MAAMC,SAAS,GAAG,IAAID,GAAG,CAAyB,CAAC;AACnD,MAAME,iBAAiB,GAAG,IAAIF,GAAG,CAA0B,CAAC;AAC5D,MAAMG,iBAAiB,GAAG,IAAIH,GAAG,CAG/B,CAAC;AACH,IAAII,SAAS,GAAG,KAAK;AAErB,SAASC,eAAeA,CAACC,KAAoB,EAAkB;EAC7D,MAAMC,IAAI,GAAGC,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC;EAC1CF,IAAI,CAACG,YAAY,CAACd,eAAe,EAAEU,KAAK,CAAC;EACzCK,MAAM,CAACC,MAAM,CAACL,IAAI,CAACM,KAAK,EAAE;IACxBC,QAAQ,EAAE,OAAO;IACjBC,KAAK,EAAE,GAAG;IACVC,aAAa,EAAE,MAAM;IACrBC,MAAM,EAAEC,MAAM,CAACxB,wBAAwB,CAACY,KAAK,CAAC,CAAC;IAC/Ca,SAAS,EAAE;EACb,CAAC,CAAC;EACF;EACA,MAAMC,IAAI,GAAG5B,cAAc,CAAC6B,KAAK,CAAC7B,cAAc,CAAC8B,OAAO,CAAChB,KAAK,CAAC,GAAG,CAAC,CAAC,CACjEiB,GAAG,CAAEC,CAAC,IAAKzB,UAAU,CAAC0B,GAAG,CAACD,CAAC,CAAC,CAAC,CAC7BE,IAAI,CAACC,OAAO,CAAC;EAChBnB,QAAQ,CAACoB,IAAI,CAACC,YAAY,CAACtB,IAAI,EAAEa,IAAI,IAAI,IAAI,CAAC;EAC9C,OAAOb,IAAI;AACb;AAEA,SAASuB,QAAQA,CAACC,OAAuC,EAAEC,KAAc,EAAE;EACzE,IAAID,OAAO,IAAIA,OAAO,CAACC,KAAK,KAAKA,KAAK,EAAE;IACtCD,OAAO,CAACC,KAAK,GAAGA,KAAK;EACvB;AACF;;AAEA;AACA,IAAIC,iBAAiB,GAAG,IAAIC,GAAG,CAAc,CAAC;;AAE9C;AACA;AACA;AACA;AACA;AACA,SAASC,eAAeA,CAACC,IAAiB,EAAE7B,IAAiB,EAAE;EAC7D,MAAM8B,QAAQ,GAAG,IAAIH,GAAG,CAAc,CAAC;EACvC,IAAII,IAAiB,GAAGF,IAAI;EAC5B,OAAOE,IAAI,KAAK/B,IAAI,IAAI+B,IAAI,CAACC,aAAa,EAAE;IAC1C,MAAMC,MAAmB,GAAGF,IAAI,CAACC,aAAa;IAC9C,KAAK,MAAME,OAAO,IAAIC,KAAK,CAACC,IAAI,CAACH,MAAM,CAACI,QAAQ,CAAC,EAAE;MACjD,IAAIH,OAAO,KAAKH,IAAI,IAAIG,OAAO,YAAYI,WAAW,EAAE;QACtDR,QAAQ,CAACS,GAAG,CAACL,OAAO,CAAC;MACvB;IACF;IACAH,IAAI,GAAGE,MAAM;EACf;EACA,OAAOH,QAAQ;AACjB;AAEA,SAASU,iBAAiBA,CAACC,SAAqB,EAAEC,GAAmB,EAAE;EACrED,SAAS,CACNE,gBAAgB,CAAc,IAAIrD,eAAe,GAAG,CAAC,CACrDsD,OAAO,CAAEb,IAAI,IAAK;IACjB,MAAMhC,KAAK,GAAG8C,MAAM,CAACd,IAAI,CAACe,OAAO,CAACC,iBAAiB,CAAC;IACpD,MAAMC,KAAK,GACT,CAAC,CAACN,GAAG,KACJ3C,KAAK,GAAGb,mBAAmB,CAACwD,GAAG,CAAC3C,KAAK,CAAC,IACpCA,KAAK,KAAKb,mBAAmB,CAACwD,GAAG,CAAC3C,KAAK,CAAC,IACvC8C,MAAM,CAACd,IAAI,CAACe,OAAO,CAACG,UAAU,CAAC,GAAGP,GAAG,CAACQ,GAAI,CAAC;IACjD3B,QAAQ,CACNQ,IAAI,EACJiB,KAAK,IACHjB,IAAI,CAACzB,KAAK,CAAC6C,UAAU,KAAK,QAAQ,IAClCpB,IAAI,CAACqB,YAAY,CAAC,aAAa,CAAC,KAAK,MACzC,CAAC;EACH,CAAC,CAAC;AACN;;AAEA;AACA,OAAO,SAASC,gBAAgBA,CAAA,EAAG;EACjC,MAAMX,GAAG,GAAGtD,YAAY,CAACkE,cAAc,CAAC,CAAC;EACzC,MAAMC,OAAO,GAAGtD,QAAQ,CAACuD,cAAc,CAACjE,WAAW,CAAC;EACpD,IAAIkE,aAAa,GAAG,IAAI9B,GAAG,CAAc,CAAC;EAC1C,MAAM+B,QAAQ,GACZhB,GAAG,EAAEiB,KAAK,KAAK,MAAM,GAAGC,kBAAkB,CAAClB,GAAG,CAACmB,OAAO,CAAC,GAAGC,SAAS;EACrE,IAAIpB,GAAG,IAAIgB,QAAQ,IAAIH,OAAO,EAAEQ,QAAQ,CAACL,QAAQ,CAAC,EAAE;IAClDnC,QAAQ,CAACgC,OAAO,EAAE,KAAK,CAAC;IACxBE,aAAa,GAAG7B,eAAe,CAAC8B,QAAQ,EAAEH,OAAO,CAAC;EACpD,CAAC,MAAM;IACLhC,QAAQ,CAACgC,OAAO,EAAE,CAAC,CAACb,GAAG,CAAC;EAC1B;EACAhB,iBAAiB,CAACkB,OAAO,CAAEpB,OAAO,IAAK;IACrC,IAAI,CAACiC,aAAa,CAACO,GAAG,CAACxC,OAAO,CAAC,EAAE;MAC/BD,QAAQ,CAACC,OAAO,EAAE,KAAK,CAAC;IAC1B;EACF,CAAC,CAAC;EACFiC,aAAa,CAACb,OAAO,CAAEpB,OAAO,IAAKD,QAAQ,CAACC,OAAO,EAAE,IAAI,CAAC,CAAC;EAC3DE,iBAAiB,GAAG+B,aAAa;EAEjC,KAAK,MAAM,CAACI,OAAO,EAAEhC,IAAI,CAAC,IAAInC,SAAS,EAAE;IACvC8C,iBAAiB,CACfX,IAAI,EACJa,GAAG,EAAEiB,KAAK,KAAK,MAAM,IAAIjB,GAAG,CAACmB,OAAO,KAAKA,OAAO,GAAGnB,GAAG,GAAGoB,SAC3D,CAAC;EACH;EAEA,KAAK,MAAM,CAAC/D,KAAK,EAAEC,IAAI,CAAC,IAAIR,UAAU,EAAE;IACtC;IACA,MAAMwD,KAAK,GACTN,GAAG,EAAEiB,KAAK,KAAK,QAAQ,IACvBzE,mBAAmB,CAACa,KAAK,CAAC,GAAGb,mBAAmB,CAACwD,GAAG,CAAC3C,KAAK,CAAC;IAC7DwB,QAAQ,CAACvB,IAAI,EAAEgD,KAAK,CAAC;IACrBR,iBAAiB,CACfxC,IAAI,EACJ0C,GAAG,EAAEiB,KAAK,KAAK,QAAQ,IAAI5D,KAAK,KAAK2C,GAAG,CAAC3C,KAAK,GAAG2C,GAAG,GAAGoB,SACzD,CAAC;EACH;AACF;AAEA,SAASG,SAASA,CAACC,KAAoB,EAAE;EACvC;EACA,IAAIA,KAAK,CAACC,GAAG,KAAK,QAAQ,IAAID,KAAK,CAACE,WAAW,IAAIF,KAAK,CAACG,OAAO,KAAK,GAAG,EAAE;IACxE;EACF;EACA,MAAMC,UAAU,GAAGlF,YAAY,CAACmF,WAAW,CAAC,CAAC;EAC7C,IAAID,UAAU,CAACE,IAAI,KAAK,MAAM,EAAE;IAC9B;EACF;EACAN,KAAK,CAACO,eAAe,CAAC,CAAC;EACvBP,KAAK,CAACQ,cAAc,CAAC,CAAC;EACtB,IAAIJ,UAAU,CAACE,IAAI,KAAK,SAAS,EAAE;IACjC5E,iBAAiB,CAACsB,GAAG,CAACoD,UAAU,CAACK,EAAE,CAAC,GAAG,MAAM,CAAC;EAChD;AACF;AAEA,SAASC,wBAAwBA,CAAA,EAAG;EAClC,IAAI/E,SAAS,IAAI,OAAOI,QAAQ,KAAK,WAAW,EAAE;IAChD;EACF;EACAJ,SAAS,GAAG,IAAI;EAChBT,YAAY,CAACyF,SAAS,CAACxB,gBAAgB,CAAC;EACxCpD,QAAQ,CAAC6E,gBAAgB,CAAC,SAAS,EAAEb,SAAS,EAAE,IAAI,CAAC;AACvD;AAEA,OAAO,SAASc,mBAAmBA,CAAChF,KAAoB,EAAkB;EACxE6E,wBAAwB,CAAC,CAAC;EAC1B,IAAI5E,IAAI,GAAGR,UAAU,CAAC0B,GAAG,CAACnB,KAAK,CAAC;EAChC,IAAI,CAACC,IAAI,IAAI,CAACA,IAAI,CAACgF,WAAW,EAAE;IAC9BhF,IAAI,GAAGF,eAAe,CAACC,KAAK,CAAC;IAC7BP,UAAU,CAACyF,GAAG,CAAClF,KAAK,EAAEC,IAAI,CAAC;EAC7B;EACA,OAAOA,IAAI;AACb;AAEA,OAAO,SAASkF,+BAA+BA,CAC7CP,EAAU,EACVQ,SAAyD,EAC7C;EACZvF,iBAAiB,CAACqF,GAAG,CAACN,EAAE,EAAEQ,SAAS,CAAC;EACpC,OAAO,MAAM;IACX,IAAIvF,iBAAiB,CAACsB,GAAG,CAACyD,EAAE,CAAC,KAAKQ,SAAS,EAAE;MAC3CvF,iBAAiB,CAACwF,MAAM,CAACT,EAAE,CAAC;IAC9B;EACF,CAAC;AACH;;AAEA;AACA,OAAO,SAASU,wBAAwBA,CAAA,EAAG;EACzCC,qBAAqB,CAACjC,gBAAgB,CAAC;AACzC;AAEA,OAAO,SAASkC,uBAAuBA,CACrC1B,OAAe,EACfrC,OAAuB,EACX;EACZoD,wBAAwB,CAAC,CAAC;EAC1BlF,SAAS,CAACuF,GAAG,CAACpB,OAAO,EAAErC,OAAO,CAAC;EAC/B7B,iBAAiB,CAACuB,GAAG,CAAC2C,OAAO,CAAC,EAAEjB,OAAO,CAAE4C,QAAQ,IAAKA,QAAQ,CAAC,CAAC,CAAC;EACjE,OAAO,MAAM;IACX,IAAI9F,SAAS,CAACwB,GAAG,CAAC2C,OAAO,CAAC,KAAKrC,OAAO,EAAE;MACtC9B,SAAS,CAAC0F,MAAM,CAACvB,OAAO,CAAC;MACzBlE,iBAAiB,CAACuB,GAAG,CAAC2C,OAAO,CAAC,EAAEjB,OAAO,CAAE4C,QAAQ,IAAKA,QAAQ,CAAC,CAAC,CAAC;IACnE;EACF,CAAC;AACH;AAEA,OAAO,SAASC,wBAAwBA,CACtC5B,OAA2B,EAC3B2B,QAAoB,EACR;EACZ,IAAI,CAAC3B,OAAO,EAAE,OAAO,MAAM,CAAC,CAAC;EAC7B,IAAI6B,SAAS,GAAG/F,iBAAiB,CAACuB,GAAG,CAAC2C,OAAO,CAAC;EAC9C,IAAI,CAAC6B,SAAS,EAAE;IACdA,SAAS,GAAG,IAAI/D,GAAG,CAAC,CAAC;IACrBhC,iBAAiB,CAACsF,GAAG,CAACpB,OAAO,EAAE6B,SAAS,CAAC;EAC3C;EACAA,SAAS,CAACnD,GAAG,CAACiD,QAAQ,CAAC;EACvB,OAAO,MAAM;IACXE,SAAS,CAACN,MAAM,CAACI,QAAQ,CAAC;IAC1B,IAAIE,SAAS,CAACC,IAAI,KAAK,CAAC,EAAEhG,iBAAiB,CAACyF,MAAM,CAACvB,OAAO,CAAC;EAC7D,CAAC;AACH;AAEA,OAAO,SAASD,kBAAkBA,CAChCC,OAA2B,EACC;EAC5B,OAAOA,OAAO,GAAGnE,SAAS,CAACwB,GAAG,CAAC2C,OAAO,CAAC,GAAGC,SAAS;AACrD","ignoreList":[]}
|
|
@@ -78,7 +78,7 @@ export function useKeyboardShift({
|
|
|
78
78
|
top = origin + sheet.offsetTop;
|
|
79
79
|
bottom = top + sheet.offsetHeight;
|
|
80
80
|
} else {
|
|
81
|
-
const extent = layoutExtent(contentRef.current);
|
|
81
|
+
const extent = layoutExtent(sheet ?? contentRef.current);
|
|
82
82
|
if (extent) {
|
|
83
83
|
top = origin + extent.top;
|
|
84
84
|
bottom = origin + extent.bottom;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useRef","KEYBOARD_MARGIN","computeKeyboardShift","keyboardTop","contentTop","contentBottom","isSheet","safeTop","undefined","needed","room","Math","max","min","layoutExtent","content","root","firstElementChild","children","Array","from","filter","child","HTMLElement","length","top","map","c","offsetTop","bottom","offsetHeight","useKeyboardShift","layerRef","sheetRef","contentRef","enabled","shiftRef","viewport","globalThis","visualViewport","layer","current","update","keyboardBottom","height","covered","innerHeight","origin","parentElement","getBoundingClientRect","sheet","extent","shift","abs","style","transform","addEventListener","removeEventListener"],"sourceRoot":"../../../src","sources":["web/useKeyboardShift.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["useEffect","useRef","KEYBOARD_MARGIN","computeKeyboardShift","keyboardTop","contentTop","contentBottom","isSheet","safeTop","undefined","needed","room","Math","max","min","layoutExtent","content","root","firstElementChild","children","Array","from","filter","child","HTMLElement","length","top","map","c","offsetTop","bottom","offsetHeight","useKeyboardShift","layerRef","sheetRef","contentRef","enabled","shiftRef","viewport","globalThis","visualViewport","layer","current","update","keyboardBottom","height","covered","innerHeight","origin","parentElement","getBoundingClientRect","sheet","extent","shift","abs","style","transform","addEventListener","removeEventListener"],"sourceRoot":"../../../src","sources":["web/useKeyboardShift.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -111,15 +111,35 @@ export function useSheetDrag({
|
|
|
111
111
|
once: true
|
|
112
112
|
});
|
|
113
113
|
};
|
|
114
|
+
const onPointerCancel = event => {
|
|
115
|
+
if (!tracking || event.pointerId !== pointerId) {
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
tracking = false;
|
|
119
|
+
dragging = false;
|
|
120
|
+
velocity = 0;
|
|
121
|
+
if (sheet.hasPointerCapture?.(pointerId)) {
|
|
122
|
+
sheet.releasePointerCapture(pointerId);
|
|
123
|
+
}
|
|
124
|
+
pointerId = -1;
|
|
125
|
+
sheet.style.transform = '';
|
|
126
|
+
sheet.style.transition = '';
|
|
127
|
+
if (backdropRef.current) {
|
|
128
|
+
backdropRef.current.style.opacity = '1';
|
|
129
|
+
}
|
|
130
|
+
};
|
|
114
131
|
sheet.addEventListener('pointerdown', onPointerDown);
|
|
115
132
|
sheet.addEventListener('pointermove', onPointerMove);
|
|
116
133
|
sheet.addEventListener('pointerup', onPointerUp);
|
|
117
|
-
sheet.addEventListener('pointercancel',
|
|
134
|
+
sheet.addEventListener('pointercancel', onPointerCancel);
|
|
118
135
|
return () => {
|
|
136
|
+
if (sheet.hasPointerCapture?.(pointerId)) {
|
|
137
|
+
sheet.releasePointerCapture(pointerId);
|
|
138
|
+
}
|
|
119
139
|
sheet.removeEventListener('pointerdown', onPointerDown);
|
|
120
140
|
sheet.removeEventListener('pointermove', onPointerMove);
|
|
121
141
|
sheet.removeEventListener('pointerup', onPointerUp);
|
|
122
|
-
sheet.removeEventListener('pointercancel',
|
|
142
|
+
sheet.removeEventListener('pointercancel', onPointerCancel);
|
|
123
143
|
};
|
|
124
144
|
}, [sheetRef, backdropRef, enabled]);
|
|
125
145
|
}
|