@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.
Files changed (40) hide show
  1. package/android/src/main/java/com/onekey/nativeoverlay/NativeOverlayAnimation.kt +5 -10
  2. package/android/src/main/java/com/onekey/nativeoverlay/NativeOverlayEntryRootView.kt +23 -2
  3. package/android/src/main/java/com/onekey/nativeoverlay/NativeOverlayHost.kt +17 -12
  4. package/android/src/main/java/com/onekey/nativeoverlay/NativeOverlayView.kt +3 -1
  5. package/android/src/test/java/com/onekey/nativeoverlay/NativeOverlayBackTest.kt +295 -0
  6. package/android/src/test/java/com/onekey/nativeoverlay/NativeOverlayMotionTest.kt +101 -0
  7. package/docs/SPEC.md +171 -30
  8. package/ios/NativeOverlayContainerView.swift +20 -7
  9. package/ios/NativeOverlaySheetController.swift +37 -1
  10. package/lib/module/OverlayStore.js +13 -1
  11. package/lib/module/OverlayStore.js.map +1 -1
  12. package/lib/module/OverlayView.web.js +104 -25
  13. package/lib/module/OverlayView.web.js.map +1 -1
  14. package/lib/module/useOverlayController.js +11 -3
  15. package/lib/module/useOverlayController.js.map +1 -1
  16. package/lib/module/web/animateTransition.js +20 -12
  17. package/lib/module/web/animateTransition.js.map +1 -1
  18. package/lib/module/web/overlayLayers.js +16 -0
  19. package/lib/module/web/overlayLayers.js.map +1 -1
  20. package/lib/module/web/useKeyboardShift.js +1 -1
  21. package/lib/module/web/useKeyboardShift.js.map +1 -1
  22. package/lib/module/web/useSheetDrag.js +22 -2
  23. package/lib/module/web/useSheetDrag.js.map +1 -1
  24. package/lib/typescript/src/OverlayStore.d.ts +2 -0
  25. package/lib/typescript/src/OverlayStore.d.ts.map +1 -1
  26. package/lib/typescript/src/OverlayView.web.d.ts.map +1 -1
  27. package/lib/typescript/src/useOverlayController.d.ts.map +1 -1
  28. package/lib/typescript/src/web/animateTransition.d.ts +2 -2
  29. package/lib/typescript/src/web/animateTransition.d.ts.map +1 -1
  30. package/lib/typescript/src/web/overlayLayers.d.ts +1 -0
  31. package/lib/typescript/src/web/overlayLayers.d.ts.map +1 -1
  32. package/lib/typescript/src/web/useSheetDrag.d.ts.map +1 -1
  33. package/package.json +1 -1
  34. package/src/OverlayStore.ts +13 -1
  35. package/src/OverlayView.web.tsx +193 -56
  36. package/src/useOverlayController.ts +11 -4
  37. package/src/web/animateTransition.ts +30 -11
  38. package/src/web/overlayLayers.ts +20 -0
  39. package/src/web/useKeyboardShift.ts +1 -1
  40. 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' && blocking) {
85
- restoreFocusRef.current = document.activeElement;
86
- entryRef.current?.focus({
87
- preventScroll: true
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 : content.firstElementChild ?? 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: sheet ? /*#__PURE__*/_jsxs("div", {
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.showHandle ? /*#__PURE__*/_jsx("div", {
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
- style: {
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
- const pageHost = !parked && scope === 'page' ? getOverlayPageHost(hostKey) : undefined;
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: pageHost ? OVERLAY_LEVEL_ORDER[level] * 1000 + (entry?.seq ?? 0) : entry?.seq ?? 0,
285
- ownerKey: pageHost ? ownerKey : undefined,
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 ?? getOverlayLayerRoot(level));
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
- // Without a host or owner there is nowhere to anchor a page overlay.
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;EACA,MAAMC,KAAK,GACTd,KAAK,CAACc,KAAK,KAAK,MAAM,IAAIF,OAAO,IAAIC,QAAQ,GAAG,MAAM,GAAG,QAAQ;EACnE,MAAME,MAAM,GAAG9B,KAAK,CAAC,CAAC;EACtB,MAAM+B,QAAQ,GAAG7B,MAAM,CAAC,CAAC,CAAC;EAC1B,MAAM,CAAC8B,OAAO,EAAEC,UAAU,CAAC,GAAG9B,QAAQ,CAAqB,CAAC;EAC5D;EACA;EACA,MAAM+B,gBAAgB,GAAGhC,MAAM,CAAC,KAAK,CAAC;EACtC,MAAMiC,QAAQ,GAAGzB,SAAS,CAACK,KAAK,CAAC;EAEjC,MAAMqB,QAAQ,GAAGhC,oBAAoB,CACnCK,YAAY,CAAC4B,SAAS,EACtB5B,YAAY,CAAC6B,WAAW,EACxB7B,YAAY,CAAC6B,WACf,CAAC;EACD,MAAMC,KAAK,GAAGtC,OAAO,CACnB,MACE+B,OAAO,GACHI,QAAQ,CAACI,OAAO,CAACC,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACC,EAAE,KAAKX,OAAO,CAAC,IAC9CI,QAAQ,CAACQ,MAAM,CAACH,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACC,EAAE,KAAKX,OAAO,CAAC,GAC7Ca,SAAS,EACf,CAACb,OAAO,EAAEI,QAAQ,CACpB,CAAC;EAEDrC,SAAS,CAAC,MAAM;IACd,IAAI,CAACiB,OAAO,EAAE;MACZkB,gBAAgB,CAACrB,OAAO,GAAG,KAAK;MAChC,IAAImB,OAAO,EAAE;QACXvB,YAAY,CAACqC,OAAO,CAACd,OAAO,EAAE,cAAc,CAAC;MAC/C;MACA;IACF;IACA,IAAIA,OAAO,IAAIE,gBAAgB,CAACrB,OAAO,EAAE;MACvC;IACF;IACAkB,QAAQ,CAAClB,OAAO,IAAI,CAAC;IACrB,MAAM8B,EAAE,GAAG,eAAeb,MAAM,GAAGC,QAAQ,CAAClB,OAAO,EAAE;IACrDJ,YAAY,CAACsC,OAAO,CAClB;MACEJ,EAAE;MACFd,KAAK;MACLF,OAAO;MACPC,QAAQ;MACRX,KAAK;MACLC,QAAQ;MACRC,QAAQ;MACRC,UAAU;MACVC,QAAQ;MACR2B,WAAW,EAAE1B,kBAAkB;MAC/BG;IACF,CAAC,EACD;MACEwB,SAAS,EAAGC,MAAM,IAAK;QACrBjB,UAAU,CAAEpB,OAAO,IAAMA,OAAO,KAAK8B,EAAE,GAAGE,SAAS,GAAGhC,OAAQ,CAAC;QAC/D,IAAIqC,MAAM,KAAK,cAAc,EAAE;UAC7BhB,gBAAgB,CAACrB,OAAO,GAAG,IAAI;QACjC;QACAsB,QAAQ,CAACtB,OAAO,CAACsC,OAAO,GAAGD,MAAM,CAAC;MACpC;IACF,CACF,CAAC;IACDjB,UAAU,CAACU,EAAE,CAAC;IACd;IACA;EACF,CAAC,EAAE,CAAC3B,OAAO,EAAEgB,OAAO,CAAC,CAAC;EAEtBjC,SAAS,CACP,MAAM,MAAM;IACV,IAAIiC,OAAO,EAAE;MACXvB,YAAY,CAACqC,OAAO,CAACd,OAAO,EAAE,QAAQ,CAAC;MACvCvB,YAAY,CAAC2C,QAAQ,CAACpB,OAAO,CAAC;IAChC;EACF,CAAC,EACD,CAACA,OAAO,CACV,CAAC;EAED,MAAMqB,iBAAiB,GAAGpD,OAAO,CAC/B,MACEK,uBAAuB,CAACiB,YAAY,EAAEC,SAAS,EAAEnB,sBAAsB,CAAC,EAC1E,CAACkB,YAAY,EAAEC,SAAS,CAC1B,CAAC;EAED,MAAM8B,eAAe,GAAGxD,WAAW,CAAC,MAAM;IACxCqC,QAAQ,CAACtB,OAAO,CAAC0C,WAAW,GAAG,CAAC;EAClC,CAAC,EAAE,CAACpB,QAAQ,CAAC,CAAC;EAEd,MAAMqB,eAAe,GAAG1D,WAAW,CAAC,MAAM;IACxC,IAAI,CAACkC,OAAO,EAAE;MACZ;IACF;IACA,MAAMyB,KAAK,GAAGhD,YAAY,CAACiD,QAAQ,CAAC1B,OAAO,CAAC,EAAEyB,KAAK;IACnD,IAAIA,KAAK,KAAK,QAAQ,EAAE;MACtB;MACA;MACAhD,YAAY,CAACqC,OAAO,CAACd,OAAO,EAAE,QAAQ,CAAC;IACzC;IACAvB,YAAY,CAAC2C,QAAQ,CAACpB,OAAO,CAAC;EAChC,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EAEb,MAAM2B,oBAAoB,GAAG7D,WAAW,CACrCoD,MAAoC,IAAK;IACxC,MAAMU,OAAO,GAAGzB,QAAQ,CAACtB,OAAO,CAACgD,gBAAgB;IACjDD,OAAO,GAAGV,MAAM,CAAC;IACjB,IAAIlB,OAAO,KAAK,CAAC4B,OAAO,IAAIV,MAAM,KAAK,KAAK,CAAC,EAAE;MAC7CzC,YAAY,CAACqC,OAAO,CAACd,OAAO,EAAEkB,MAAM,CAAC;IACvC;EACF,CAAC,EACD,CAAClB,OAAO,EAAEG,QAAQ,CACpB,CAAC;EAED,OAAO;IACLI,KAAK;IACLuB,OAAO,EAAE,CAAC,CAACvB,KAAK,IAAIA,KAAK,CAACkB,KAAK,KAAK,QAAQ;IAC5CM,SAAS,EACP,CAAC,CAACxB,KAAK,IACPA,KAAK,CAACkB,KAAK,KAAK,QAAQ,KACvB5B,KAAK,KAAK,MAAM,IAAI,CAACU,KAAK,CAACyB,SAAS,CAAC;IACxCnC,KAAK;IACLoC,aAAa,EAAE,CAAC,CAACjC,OAAO,IAAIxB,kBAAkB,CAAC4B,QAAQ,CAAC,EAAEO,EAAE,KAAKX,OAAO;IACxEL,OAAO,EAAEE,KAAK,KAAK,MAAM,GAAGF,OAAO,GAAGkB,SAAS;IAC/CjB,QAAQ,EAAEC,KAAK,KAAK,MAAM,GAAGD,QAAQ,GAAGiB,SAAS;IACjDrB,SAAS,EAAE6B,iBAAiB;IAC5BC,eAAe;IACfE,eAAe;IACfG;EACF,CAAC;AACH","ignoreList":[]}
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
- element.style.transformOrigin = `${(extent.left + extent.right) / 2}px ${(extent.top + extent.bottom) / 2}px`;
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 keyframes = direction === 'in' ? [hidden, visible] : [visible, hidden];
95
- return element.animate(keyframes, {
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 keyframes = direction === 'in' ? [{
102
- opacity: 0
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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","ignoreList":[]}
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":"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","ignoreList":[]}
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":"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","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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","ignoreList":[]}
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', onPointerUp);
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', onPointerUp);
142
+ sheet.removeEventListener('pointercancel', onPointerCancel);
123
143
  };
124
144
  }, [sheetRef, backdropRef, enabled]);
125
145
  }