@onekeyfe/react-native-native-overlay 6.7.0-alpha.338 → 6.7.0-alpha.344

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 (29) hide show
  1. package/android/src/main/java/com/onekey/nativeoverlay/NativeOverlayHost.kt +5 -2
  2. package/android/src/test/java/com/onekey/nativeoverlay/NativeOverlayBackTest.kt +35 -0
  3. package/docs/SPEC.md +40 -10
  4. package/ios/NativeOverlayContainerView.swift +20 -7
  5. package/ios/NativeOverlaySheetController.swift +35 -1
  6. package/lib/module/OverlayStore.js +13 -1
  7. package/lib/module/OverlayStore.js.map +1 -1
  8. package/lib/module/OverlayView.web.js +42 -13
  9. package/lib/module/OverlayView.web.js.map +1 -1
  10. package/lib/module/useOverlayController.js +4 -0
  11. package/lib/module/useOverlayController.js.map +1 -1
  12. package/lib/module/web/animateTransition.js +13 -10
  13. package/lib/module/web/animateTransition.js.map +1 -1
  14. package/lib/module/web/overlayLayers.js +16 -0
  15. package/lib/module/web/overlayLayers.js.map +1 -1
  16. package/lib/typescript/src/OverlayStore.d.ts +2 -0
  17. package/lib/typescript/src/OverlayStore.d.ts.map +1 -1
  18. package/lib/typescript/src/OverlayView.web.d.ts.map +1 -1
  19. package/lib/typescript/src/useOverlayController.d.ts.map +1 -1
  20. package/lib/typescript/src/web/animateTransition.d.ts +2 -2
  21. package/lib/typescript/src/web/animateTransition.d.ts.map +1 -1
  22. package/lib/typescript/src/web/overlayLayers.d.ts +1 -0
  23. package/lib/typescript/src/web/overlayLayers.d.ts.map +1 -1
  24. package/package.json +1 -1
  25. package/src/OverlayStore.ts +13 -1
  26. package/src/OverlayView.web.tsx +60 -13
  27. package/src/useOverlayController.ts +4 -0
  28. package/src/web/animateTransition.ts +16 -7
  29. package/src/web/overlayLayers.ts +20 -0
@@ -8,6 +8,7 @@ import android.widget.FrameLayout
8
8
  import androidx.activity.ComponentActivity
9
9
  import androidx.activity.OnBackPressedCallback
10
10
  import java.util.WeakHashMap
11
+ import java.lang.ref.WeakReference
11
12
 
12
13
  /** Mirrors `OVERLAY_LEVEL_ORDER`. */
13
14
  internal enum class NativeOverlayLevel(val order: Int) {
@@ -160,9 +161,11 @@ internal class NativeOverlayHost private constructor(
160
161
  }
161
162
 
162
163
  companion object {
163
- private val hosts = WeakHashMap<Activity, NativeOverlayHost>()
164
+ private val hosts = WeakHashMap<Activity, WeakReference<NativeOverlayHost>>()
164
165
 
165
166
  fun of(activity: Activity): NativeOverlayHost =
166
- hosts.getOrPut(activity) { NativeOverlayHost(activity) }
167
+ hosts[activity]?.get() ?: NativeOverlayHost(activity).also {
168
+ hosts[activity] = WeakReference(it)
169
+ }
167
170
  }
168
171
  }
@@ -6,8 +6,12 @@ import android.widget.FrameLayout
6
6
  import androidx.activity.ComponentActivity
7
7
  import com.facebook.react.bridge.BridgeReactContext
8
8
  import com.facebook.react.uimanager.ThemedReactContext
9
+ import java.lang.ref.WeakReference
10
+ import java.util.WeakHashMap
9
11
  import org.junit.Assert.assertEquals
10
12
  import org.junit.Assert.assertFalse
13
+ import org.junit.Assert.assertNotSame
14
+ import org.junit.Assert.assertSame
11
15
  import org.junit.Assert.assertTrue
12
16
  import org.junit.Before
13
17
  import org.junit.Test
@@ -119,4 +123,35 @@ class NativeOverlayBackTest {
119
123
  assertEquals(listOf("global:back", "page:back"), dismissals)
120
124
  pageHost.invalidateHost()
121
125
  }
126
+
127
+ @Test
128
+ fun hostCacheReusesLiveHostAndSeparatesActivities() {
129
+ assertSame(host, NativeOverlayHost.of(activity))
130
+ val otherActivity = Robolectric.buildActivity(ComponentActivity::class.java).setup().get()
131
+ assertNotSame(host, NativeOverlayHost.of(otherActivity))
132
+ }
133
+
134
+ @Test
135
+ fun hostCacheRebuildsAfterWeakValueIsCleared() {
136
+ val field = NativeOverlayHost::class.java.getDeclaredField("hosts").apply {
137
+ isAccessible = true
138
+ }
139
+ val cache = field.get(null) as WeakHashMap<*, *>
140
+ (cache[activity] as WeakReference<*>).clear()
141
+ val replacement = NativeOverlayHost.of(activity)
142
+ assertNotSame(host, replacement)
143
+ assertSame(replacement, NativeOverlayHost.of(activity))
144
+ }
145
+
146
+ @Test
147
+ fun pageOnlyBackInterceptorRetainsItsHost() {
148
+ val pageHost = NativeOverlayPageHostView(context).apply { hostKey = "page-only" }
149
+ activity.setContentView(pageHost)
150
+ pageHost.attach(entry("page", false, true))
151
+ host.installBackInterceptor()
152
+ assertTrue(activity.window.callback.dispatchKeyEvent(KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_BACK)))
153
+ assertEquals(listOf("page:back"), dismissals)
154
+ assertSame(host, NativeOverlayHost.of(activity))
155
+ pageHost.invalidateHost()
156
+ }
122
157
  }
package/docs/SPEC.md CHANGED
@@ -28,10 +28,14 @@ TypeScript declarations; React Native generates the Fabric bindings at app
28
28
  build time. Publish `common/cpp`, `src`, `lib`, Android/iOS sources, podspec and
29
29
  autolinking configuration. Web consumers additionally provide `react-dom`.
30
30
 
31
- `react-native-native-sheet` remains separately published for existing consumers;
32
- its compatibility shim/deprecation is a subsequent migration step, not a
33
- silent API change in this release. Sheet behavior derived from that package
34
- retains its original implementation attribution in source comments.
31
+ `react-native-native-sheet` is retired from this repository after the App
32
+ consumer migration. Its source workspace, example dependency, and dedicated
33
+ tests are removed; sheet presentation is owned by this package and has no
34
+ dependency on the retired package. The old `NativeSheet` API is not retained as
35
+ a compatibility shim. Previously published npm versions remain unchanged, and
36
+ this repository cleanup does not publish or change package versions. Sheet
37
+ behavior derived from that package retains its original implementation
38
+ attribution in source comments.
35
39
 
36
40
  ### Release boundary
37
41
 
@@ -86,6 +90,9 @@ Ownership:
86
90
  queues, page visibility, and back/Escape resolution.
87
91
  - **Native hosts** own drawing, hit testing, animation, keyboard, and back-key
88
92
  capture, and report lifecycle back to the store.
93
+ - Android's static host lookup holds weak Activity keys and weak host values;
94
+ an active overlay or installed back callback owns its host. The lookup does
95
+ not itself extend the lifetime of an Activity.
89
96
  - **Content** is the caller's React subtree. The overlay view stays where the
90
97
  caller rendered it. Native code reparents its content into the host, so React
91
98
  context is preserved; there is no root-siblings portal.
@@ -109,6 +116,14 @@ come only from props.
109
116
  - `dismiss(id, reason)` moves an entry to `closing`. `finalize(id)` removes it
110
117
  after the native exit animation. A closing entry that is never finalized is
111
118
  removed after 5 s.
119
+ - `reopen(id)` restores a closing entry to active, cancels its fallback timer,
120
+ and keeps its ordering, content and removal handler. A declarative
121
+ false-to-true change before exit completion uses this path; it does not
122
+ report a completed close. Hosts retarget the in-flight animation, including
123
+ cancelling the host-requested UIKit sheet dismissal when still running.
124
+ - Removing a queued entry detaches its removal handler before notifying store
125
+ subscribers or scheduling its callback. Same-tick reuse of that ID owns a
126
+ separate handler; the old removal cannot invoke or delete the new handler.
112
127
  - `dismissAll({ scope, belowLevel, reason })`, `setPageVisible(ownerKey,
113
128
  visible)`, `removePage(ownerKey)`.
114
129
  - `resolveBack(focusedHostKey?)` returns `dismiss(id)`, `block`, or `pass`.
@@ -351,7 +366,8 @@ Automated (P0):
351
366
  - `NativeOverlayBackTest` exercises the Android host's key interceptor and
352
367
  Back dispatcher with actual entry/page views: dismissible non-blockers,
353
368
  blockers, input readiness, canceled key-up, global/page precedence,
354
- suspension and blocking-only accessibility isolation.
369
+ suspension and blocking-only accessibility isolation. It also checks live
370
+ host reuse, Activity isolation and rebuilding after a cleared weak value.
355
371
  - `src/__tests__/pageIsolation.web.test.ts` mounts a real React portal in a
356
372
  DOM host and verifies late suspension, level ordering and restoration after
357
373
  the blocking entry is removed.
@@ -423,6 +439,10 @@ P3 page scope notes:
423
439
  topmost visible page overlay.
424
440
  - A declarative page overlay waits for a resolvable host and owner; it never
425
441
  falls back to global scope. Direct store requests require both keys.
442
+ - On Web, a page overlay also waits for its registered DOM host while closed
443
+ with `keepContentMounted`. Registration mounts parked content in that host;
444
+ close/reopen retains the same DOM and state. Unregistration never moves page
445
+ content into a global layer.
426
446
 
427
447
  P2 sheet notes:
428
448
 
@@ -437,7 +457,9 @@ P2 sheet notes:
437
457
  overlay motion; dragging fades the backdrop; a drag to hidden reports
438
458
  `pan`.
439
459
  - Web renders a bottom surface with pointer drag (40% distance or 0.5 px/ms
440
- flick dismisses, never from scrolled content).
460
+ flick dismisses, never from scrolled content). Reopening kept content after
461
+ a pan dismissal clears the sheet transform, transition and backdrop opacity;
462
+ the next dismissal follows the normal exit path and restores focus.
441
463
  - A fitted sheet measures its content with `onLayout` before presenting.
442
464
  Hidden content stays mounted inside the zero-width host (clipped on iOS,
443
465
  INVISIBLE on Android), and the host height stays auto: a fixed 0 height
@@ -534,8 +556,10 @@ P4e lock screen notes:
534
556
  interactive (OK-62416).
535
557
  - Android back is swallowed on the lock screen (blocking, not dismissible);
536
558
  it no longer reaches navigation behind the lock.
537
- - The web lock tamper check and the lock screen's body-level inert pass are
538
- unchanged; the lock layer root is a `document.body` child.
559
+ - The web lock tamper check is retained. The body-level inert pass starts
560
+ when the lock node actually mounts, covers later body portals, and restores
561
+ each node's previous inert state on unlock. The lock layer root is a
562
+ `document.body` child.
539
563
 
540
564
  P5a native popover notes:
541
565
 
@@ -543,14 +567,18 @@ P5a native popover notes:
543
567
  (`NativeSheetPresentation`); the Tamagui Popover sheet (`TMPopover.Adapt`),
544
568
  its external backdrop, z-index and back handler are gone, and
545
569
  the removed `nativeSheet` option throws. iPad / wide windows keep the 400–480 pt centered
546
- frame inside the sheet. `usingSheet={false}` still renders no panel on
547
- native (web / desktop floating panels).
570
+ frame inside the sheet. Native keeps this supported sheet presentation
571
+ even when a cross-platform caller sets `usingSheet={false}` for its web panel.
548
572
  - The native popover renders inline in the caller's tree (its contexts
549
573
  apply) instead of through the full-window portal. Every popover remains
550
574
  mounted until the exit callback (1 s fallback); content then unmounts
551
575
  unless `keepChildrenMounted`. Reopening cancels pending teardown.
552
576
  - `closePopover()` waits for exit completion; repeated requests share the
553
577
  same completion promise, and completion or unmount clears its timer.
578
+ - Percent sheet snap points set the viewport height on native and web; fit
579
+ mode keeps content measurement. Both keep the header and bottom spacing
580
+ inside the bounded surface. Native Popover and custom Toast also retain
581
+ their deferred-guide blocker while open.
554
582
  - Sheet options are package-owned. Unsupported legacy `sheetProps` keys
555
583
  and floating-panel `zIndex` / `portalProps` throw instead of being ignored.
556
584
 
@@ -574,6 +602,8 @@ P5b web popover notes:
574
602
  the page underneath. Presses on the panel or inside an overlay ranked above
575
603
  it do not close it, so a nested Select or a Dialog opened from the panel
576
604
  keeps it open. They also close on Escape, unless `hoverable`.
605
+ - Press-triggered anchored panels own a focus scope and forward caller
606
+ open/close autofocus callbacks. Hover panels never move or trap focus.
577
607
  - `hoverable` opens and closes on mouse enter / leave of the trigger and
578
608
  panel. The default close delay is 100 ms, so the pointer can cross the gap.
579
609
  - `keepChildrenMounted` maps to `keepContentMounted`. On web a closed entry
@@ -323,8 +323,17 @@ final class NativeOverlayEntryView: UIView {
323
323
  }
324
324
  if visible {
325
325
  cycleOpen = true
326
- // A sheet that is still animating out is re-presented after it finishes.
327
- if phase == .hidden || (phase == .exiting && !usesSystemSheet) {
326
+ if phase == .exiting, usesSystemSheet, let controller = sheetController,
327
+ controller.cancelHostDismissal(completion: { [weak self, weak controller] in
328
+ DispatchQueue.main.async {
329
+ guard let self, self.sheetController === controller, self.phase == .entering else { return }
330
+ self.phase = .shown
331
+ self.didPresent()
332
+ if !self.visible { self.dismissSheet() }
333
+ }
334
+ }) {
335
+ phase = .entering
336
+ } else if phase == .hidden || (phase == .exiting && !usesSystemSheet) {
328
337
  present()
329
338
  }
330
339
  } else if cycleOpen {
@@ -473,13 +482,13 @@ final class NativeOverlayEntryView: UIView {
473
482
  reportContentOffset()
474
483
  NativeOverlayWindowManager.shared.entryRemoved(from: hostWindow)
475
484
  guard let reason, cycleOpen else { return }
476
- cycleOpen = visible
477
- onDismissed?(["reason": reason])
478
- // Reopened while the exit animation ran; UIKit-initiated dismissals
479
- // ("system") are left for JS to settle instead.
485
+ // A reopen at UIKit's completion boundary keeps the same JS entry.
480
486
  if reason == "programmatic", visible, window != nil {
481
487
  present()
488
+ return
482
489
  }
490
+ cycleOpen = visible
491
+ onDismissed?(["reason": reason])
483
492
  }
484
493
 
485
494
  private func didPresent() {
@@ -568,12 +577,16 @@ final class NativeOverlayEntryView: UIView {
568
577
  finishDismiss(reason: "programmatic")
569
578
  return
570
579
  }
580
+ if controller.resumeHostDismissal() {
581
+ phase = .exiting
582
+ return
583
+ }
571
584
  // Closing mid-presentation is handled by the present completion.
572
585
  guard !controller.isBeingPresented, phase != .exiting else { return }
573
586
  phase = .exiting
574
587
  controller.dismissRequestedByHost = true
575
588
  controller.dismiss(animated: true) { [weak self, weak controller] in
576
- guard let self, self.sheetController === controller else { return }
589
+ guard let self, self.sheetController === controller, self.phase == .exiting else { return }
577
590
  self.finishDismiss(reason: "programmatic")
578
591
  }
579
592
  }
@@ -31,6 +31,7 @@ private final class NativeOverlaySheetTransitionAnimator: NSObject,
31
31
  private let presenting: Bool
32
32
  private let motion: NativeOverlayMotion
33
33
  private var animator: UIViewPropertyAnimator?
34
+ private var cancellationCompletion: (() -> Void)?
34
35
 
35
36
  init(presenting: Bool, motion: NativeOverlayMotion) {
36
37
  self.presenting = presenting
@@ -90,15 +91,32 @@ private final class NativeOverlaySheetTransitionAnimator: NSObject,
90
91
  animator.addCompletion { position in
91
92
  let completed = position == .end && !transitionContext.transitionWasCancelled
92
93
  if !completed {
94
+ sheetView.alpha = self.presenting && reduceMotion ? 0 : 1
93
95
  sheetView.transform = self.presenting ? offscreen : .identity
94
96
  sheetController.setDimmingAlpha(self.presenting ? 0 : 1)
95
97
  }
96
98
  transitionContext.completeTransition(completed)
99
+ if position == .start { self.cancellationCompletion?() }
100
+ self.cancellationCompletion = nil
97
101
  }
98
102
  self.animator = animator
99
103
  return animator
100
104
  }
101
105
 
106
+ func reverseDismissal(completion: @escaping () -> Void) -> Bool {
107
+ guard !presenting, let animator, animator.isRunning, !animator.isReversed else { return false }
108
+ cancellationCompletion = completion
109
+ animator.isReversed = true
110
+ return true
111
+ }
112
+
113
+ func resumeDismissal() -> Bool {
114
+ guard !presenting, let animator, animator.isRunning, animator.isReversed else { return false }
115
+ cancellationCompletion = nil
116
+ animator.isReversed = false
117
+ return true
118
+ }
119
+
102
120
  func animationEnded(_ transitionCompleted: Bool) {
103
121
  animator = nil
104
122
  }
@@ -119,6 +137,7 @@ final class NativeOverlaySheetController: UIViewController,
119
137
  private var dimmingView: UIView?
120
138
  private var backdropTap: UITapGestureRecognizer?
121
139
  private var heightAnimator: UIViewPropertyAnimator?
140
+ private var dismissalAnimator: NativeOverlaySheetTransitionAnimator?
122
141
  private var shadowSuppressionDisplayLink: CADisplayLink?
123
142
  /// Set while the host itself asked UIKit to dismiss.
124
143
  var dismissRequestedByHost = false
@@ -230,7 +249,22 @@ final class NativeOverlaySheetController: UIViewController,
230
249
  func animationController(
231
250
  forDismissed dismissed: UIViewController
232
251
  ) -> UIViewControllerAnimatedTransitioning? {
233
- NativeOverlaySheetTransitionAnimator(presenting: false, motion: style.exitMotion)
252
+ let animator = NativeOverlaySheetTransitionAnimator(presenting: false, motion: style.exitMotion)
253
+ dismissalAnimator = animator
254
+ return animator
255
+ }
256
+
257
+ func cancelHostDismissal(completion: @escaping () -> Void) -> Bool {
258
+ guard dismissRequestedByHost,
259
+ dismissalAnimator?.reverseDismissal(completion: completion) == true else { return false }
260
+ dismissRequestedByHost = false
261
+ return true
262
+ }
263
+
264
+ func resumeHostDismissal() -> Bool {
265
+ guard dismissalAnimator?.resumeDismissal() == true else { return false }
266
+ dismissRequestedByHost = true
267
+ return true
234
268
  }
235
269
 
236
270
  override func viewWillAppear(_ animated: Bool) {
@@ -97,6 +97,16 @@ export class OverlayStore {
97
97
  }
98
98
  }
99
99
 
100
+ /** Reverses an unfinished close without creating a new presentation cycle. */
101
+ reopen(id) {
102
+ const entry = this.shown.get(id);
103
+ if (!entry || entry.phase !== 'closing') return;
104
+ this.clearClosingTimer(id);
105
+ entry.phase = 'active';
106
+ entry.dismissReason = undefined;
107
+ this.emit();
108
+ }
109
+
100
110
  /** Removes a closing (or active) entry once its exit animation finished. */
101
111
  finalize(id) {
102
112
  const entry = this.shown.get(id);
@@ -207,7 +217,9 @@ export class OverlayStore {
207
217
  if (queuedIndex !== -1) {
208
218
  this.queued = this.queued.filter(e => e.id !== id);
209
219
  // Queued entries never rendered, so they leave without an exit animation.
210
- queueMicrotask(() => this.notifyRemoved(id, reason));
220
+ const handlers = this.handlers.get(id);
221
+ this.handlers.delete(id);
222
+ queueMicrotask(() => handlers?.onRemoved?.(reason));
211
223
  return true;
212
224
  }
213
225
  const entry = this.shown.get(id);
@@ -1 +1 @@
1
- {"version":3,"names":["OverlayRequestError","OVERLAY_LEVEL_ORDER","isBlockingLevel","DEFAULT_CLOSING_TIMEOUT_MS","laneKeyOf","entry","scope","level","hostKey","compareRenderOrder","a","b","levelDiff","seq","compareQueueOrder","priority","OverlayStore","shown","Map","queued","handlers","closingTimers","pageVisibility","listeners","Set","snapshot","entries","constructor","options","closingTimeoutMs","subscribe","listener","add","delete","getSnapshot","getEntry","id","get","find","e","request","existing","ownerKey","blocking","strategy","replaceKey","undefined","dismissible","statusBarStyle","phase","suspended","dismissReason","isOwnerHidden","set","replaceIn","canPromote","toSorted","emit","dismiss","reason","dismissWithoutEmit","finalize","clearClosingTimer","promoteQueued","notifyRemoved","dismissAll","filter","matches","belowLevel","dropped","changed","length","values","forEach","setPageVisible","visible","removePage","resolveBack","focusedHostKey","candidates","top","kind","getStatusBarOwner","findStatusBarOwner","getBlockingTop","i","queuedIndex","findIndex","queueMicrotask","setTimeout","laneKey","sameLane","targets","slice","promotedLanes","remaining","has","push","timer","clearTimeout","onRemoved","map","overlayStore"],"sourceRoot":"../../src","sources":["OverlayStore.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["OverlayRequestError","OVERLAY_LEVEL_ORDER","isBlockingLevel","DEFAULT_CLOSING_TIMEOUT_MS","laneKeyOf","entry","scope","level","hostKey","compareRenderOrder","a","b","levelDiff","seq","compareQueueOrder","priority","OverlayStore","shown","Map","queued","handlers","closingTimers","pageVisibility","listeners","Set","snapshot","entries","constructor","options","closingTimeoutMs","subscribe","listener","add","delete","getSnapshot","getEntry","id","get","find","e","request","existing","ownerKey","blocking","strategy","replaceKey","undefined","dismissible","statusBarStyle","phase","suspended","dismissReason","isOwnerHidden","set","replaceIn","canPromote","toSorted","emit","dismiss","reason","dismissWithoutEmit","reopen","clearClosingTimer","finalize","promoteQueued","notifyRemoved","dismissAll","filter","matches","belowLevel","dropped","changed","length","values","forEach","setPageVisible","visible","removePage","resolveBack","focusedHostKey","candidates","top","kind","getStatusBarOwner","findStatusBarOwner","getBlockingTop","i","queuedIndex","findIndex","queueMicrotask","onRemoved","setTimeout","laneKey","sameLane","targets","slice","promotedLanes","remaining","has","push","timer","clearTimeout","map","overlayStore"],"sourceRoot":"../../src","sources":["OverlayStore.ts"],"mappings":";;AAAA,SAASA,mBAAmB,QAAQ,oBAAiB;AACrD,SAASC,mBAAmB,EAAEC,eAAe,QAAQ,oBAAiB;AAwBtE,MAAMC,0BAA0B,GAAG,IAAI;AAEvC,SAASC,SAASA,CAACC,KAAoB,EAAU;EAC/C,OAAOA,KAAK,CAACC,KAAK,KAAK,QAAQ,GAC3B,UAAUD,KAAK,CAACE,KAAK,EAAE,GACvB,QAAQF,KAAK,CAACG,OAAO,IAAI,EAAE,IAAIH,KAAK,CAACE,KAAK,EAAE;AAClD;AAEA,SAASE,kBAAkBA,CAACC,CAAgB,EAAEC,CAAgB,EAAU;EACtE,IAAID,CAAC,CAACJ,KAAK,KAAKK,CAAC,CAACL,KAAK,EAAE;IACvB,OAAOI,CAAC,CAACJ,KAAK,KAAK,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC;EACpC;EACA,IAAII,CAAC,CAACJ,KAAK,KAAK,MAAM,IAAII,CAAC,CAACF,OAAO,KAAKG,CAAC,CAACH,OAAO,EAAE;IACjD,OAAO,CAACE,CAAC,CAACF,OAAO,IAAI,EAAE,KAAKG,CAAC,CAACH,OAAO,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;EACvD;EACA,MAAMI,SAAS,GAAGX,mBAAmB,CAACS,CAAC,CAACH,KAAK,CAAC,GAAGN,mBAAmB,CAACU,CAAC,CAACJ,KAAK,CAAC;EAC7E,OAAOK,SAAS,KAAK,CAAC,GAAGA,SAAS,GAAGF,CAAC,CAACG,GAAG,GAAGF,CAAC,CAACE,GAAG;AACpD;AAEA,SAASC,iBAAiBA,CAACJ,CAAgB,EAAEC,CAAgB,EAAU;EACrE,OAAOA,CAAC,CAACI,QAAQ,KAAKL,CAAC,CAACK,QAAQ,GAAGJ,CAAC,CAACI,QAAQ,GAAGL,CAAC,CAACK,QAAQ,GAAGL,CAAC,CAACG,GAAG,GAAGF,CAAC,CAACE,GAAG;AAC5E;AAEA,OAAO,MAAMG,YAAY,CAAC;EAGhBH,GAAG,GAAG,CAAC;EAEEI,KAAK,GAAG,IAAIC,GAAG,CAAwB,CAAC;EAEjDC,MAAM,GAAoB,EAAE;EAEnBC,QAAQ,GAAG,IAAIF,GAAG,CAAgC,CAAC;EAEnDG,aAAa,GAAG,IAAIH,GAAG,CAGtC,CAAC;EAEcI,cAAc,GAAG,IAAIJ,GAAG,CAAkB,CAAC;EAE3CK,SAAS,GAAG,IAAIC,GAAG,CAAa,CAAC;EAE1CC,QAAQ,GAAqB;IACnCC,OAAO,EAAE,EAAE;IACXP,MAAM,EAAE;EACV,CAAC;EAEDQ,WAAWA,CAACC,OAA6B,GAAG,CAAC,CAAC,EAAE;IAC9C,IAAI,CAACC,gBAAgB,GACnBD,OAAO,CAACC,gBAAgB,IAAI1B,0BAA0B;EAC1D;EAEA2B,SAAS,GAAIC,QAAoB,IAAmB;IAClD,IAAI,CAACR,SAAS,CAACS,GAAG,CAACD,QAAQ,CAAC;IAC5B,OAAO,MAAM;MACX,IAAI,CAACR,SAAS,CAACU,MAAM,CAACF,QAAQ,CAAC;IACjC,CAAC;EACH,CAAC;EAEDG,WAAW,GAAGA,CAAA,KAAwB,IAAI,CAACT,QAAQ;EAEnDU,QAAQA,CAACC,EAAU,EAA6B;IAC9C,OAAO,IAAI,CAACnB,KAAK,CAACoB,GAAG,CAACD,EAAE,CAAC,IAAI,IAAI,CAACjB,MAAM,CAACmB,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACH,EAAE,KAAKA,EAAE,CAAC;EACnE;EAEAI,OAAOA,CACLA,OAAwB,EACxBpB,QAA+B,GAAG,CAAC,CAAC,EACrB;IACf,IAAIoB,OAAO,CAACJ,EAAE,EAAE;MACd,MAAMK,QAAQ,GAAG,IAAI,CAACN,QAAQ,CAACK,OAAO,CAACJ,EAAE,CAAC;MAC1C,IAAIK,QAAQ,EAAE;QACZ,OAAOA,QAAQ;MACjB;IACF;IACA,MAAMnC,KAAK,GAAGkC,OAAO,CAAClC,KAAK,IAAI,QAAQ;IACvC,IAAIA,KAAK,KAAK,MAAM,KAAK,CAACkC,OAAO,CAAChC,OAAO,IAAI,CAACgC,OAAO,CAACE,QAAQ,CAAC,EAAE;MAC/D,MAAM,IAAI1C,mBAAmB,CAC3B,wDACF,CAAC;IACH;IACA,MAAMO,KAAK,GAAGiC,OAAO,CAACjC,KAAK,IAAI,OAAO;IACtC,MAAMoC,QAAQ,GAAGH,OAAO,CAACG,QAAQ,IAAIzC,eAAe,CAACK,KAAK,CAAC;IAC3D,IAAI,CAACM,GAAG,IAAI,CAAC;IACb,MAAMR,KAAoB,GAAG;MAC3B+B,EAAE,EAAEI,OAAO,CAACJ,EAAE,IAAI,WAAW,IAAI,CAACvB,GAAG,EAAE;MACvCP,KAAK;MACLC,KAAK;MACLqC,QAAQ,EAAEJ,OAAO,CAACI,QAAQ,IAAI,OAAO;MACrC7B,QAAQ,EAAEyB,OAAO,CAACzB,QAAQ,IAAI,CAAC;MAC/B8B,UAAU,EAAEL,OAAO,CAACK,UAAU;MAC9BrC,OAAO,EAAEF,KAAK,KAAK,MAAM,GAAGkC,OAAO,CAAChC,OAAO,GAAGsC,SAAS;MACvDJ,QAAQ,EAAEpC,KAAK,KAAK,MAAM,GAAGkC,OAAO,CAACE,QAAQ,GAAGI,SAAS;MACzDC,WAAW,EAAEP,OAAO,CAACO,WAAW,IAAIJ,QAAQ;MAC5CK,cAAc,EAAER,OAAO,CAACQ,cAAc;MACtCL,QAAQ;MACRM,KAAK,EAAE,QAAQ;MACfC,SAAS,EAAE,KAAK;MAChBC,aAAa,EAAEL,SAAS;MACxBjC,GAAG,EAAE,IAAI,CAACA;IACZ,CAAC;IACDR,KAAK,CAAC6C,SAAS,GAAG,IAAI,CAACE,aAAa,CAAC/C,KAAK,CAAC;IAC3C,IAAI,CAACe,QAAQ,CAACiC,GAAG,CAAChD,KAAK,CAAC+B,EAAE,EAAEhB,QAAQ,CAAC;IAErC,IAAIf,KAAK,CAACuC,QAAQ,KAAK,SAAS,EAAE;MAChC,IAAI,CAACU,SAAS,CAACjD,KAAK,CAAC;MACrB,IAAI,CAACY,KAAK,CAACoC,GAAG,CAAChD,KAAK,CAAC+B,EAAE,EAAE/B,KAAK,CAAC;IACjC,CAAC,MAAM,IAAIA,KAAK,CAACuC,QAAQ,KAAK,OAAO,IAAI,CAAC,IAAI,CAACW,UAAU,CAAClD,KAAK,CAAC,EAAE;MAChEA,KAAK,CAAC4C,KAAK,GAAG,QAAQ;MACtB,IAAI,CAAC9B,MAAM,GAAG,CAAC,GAAG,IAAI,CAACA,MAAM,EAAEd,KAAK,CAAC,CAACmD,QAAQ,CAAC1C,iBAAiB,CAAC;IACnE,CAAC,MAAM;MACL,IAAI,CAACG,KAAK,CAACoC,GAAG,CAAChD,KAAK,CAAC+B,EAAE,EAAE/B,KAAK,CAAC;IACjC;IACA,IAAI,CAACoD,IAAI,CAAC,CAAC;IACX,OAAO,IAAI,CAACtB,QAAQ,CAAC9B,KAAK,CAAC+B,EAAE,CAAC,IAAI/B,KAAK;EACzC;;EAEA;EACAqD,OAAOA,CAACtB,EAAU,EAAEuB,MAA6B,GAAG,cAAc,EAAQ;IACxE,IAAI,IAAI,CAACC,kBAAkB,CAACxB,EAAE,EAAEuB,MAAM,CAAC,EAAE;MACvC,IAAI,CAACF,IAAI,CAAC,CAAC;IACb;EACF;;EAEA;EACAI,MAAMA,CAACzB,EAAU,EAAQ;IACvB,MAAM/B,KAAK,GAAG,IAAI,CAACY,KAAK,CAACoB,GAAG,CAACD,EAAE,CAAC;IAChC,IAAI,CAAC/B,KAAK,IAAIA,KAAK,CAAC4C,KAAK,KAAK,SAAS,EAAE;IACzC,IAAI,CAACa,iBAAiB,CAAC1B,EAAE,CAAC;IAC1B/B,KAAK,CAAC4C,KAAK,GAAG,QAAQ;IACtB5C,KAAK,CAAC8C,aAAa,GAAGL,SAAS;IAC/B,IAAI,CAACW,IAAI,CAAC,CAAC;EACb;;EAEA;EACAM,QAAQA,CAAC3B,EAAU,EAAQ;IACzB,MAAM/B,KAAK,GAAG,IAAI,CAACY,KAAK,CAACoB,GAAG,CAACD,EAAE,CAAC;IAChC,IAAI,CAAC/B,KAAK,EAAE;MACV;IACF;IACA,IAAI,CAACyD,iBAAiB,CAAC1B,EAAE,CAAC;IAC1B,IAAI,CAACnB,KAAK,CAACgB,MAAM,CAACG,EAAE,CAAC;IACrB,IAAI,CAAC4B,aAAa,CAAC,CAAC;IACpB,IAAI,CAACP,IAAI,CAAC,CAAC;IACX,IAAI,CAACQ,aAAa,CAAC7B,EAAE,EAAE/B,KAAK,CAAC8C,aAAa,IAAI,cAAc,CAAC;EAC/D;EAEAe,UAAUA,CACRC,MAIC,GAAG,CAAC,CAAC,EACA;IACN,MAAMR,MAAM,GAAGQ,MAAM,CAACR,MAAM,IAAI,cAAc;IAC9C,MAAMS,OAAO,GAAI/D,KAAoB,IACnC,CAAC,CAAC8D,MAAM,CAAC7D,KAAK,IAAID,KAAK,CAACC,KAAK,KAAK6D,MAAM,CAAC7D,KAAK,MAC7C,CAAC6D,MAAM,CAACE,UAAU,IACjBpE,mBAAmB,CAACI,KAAK,CAACE,KAAK,CAAC,GAC9BN,mBAAmB,CAACkE,MAAM,CAACE,UAAU,CAAC,CAAC;IAC7C,MAAMC,OAAO,GAAG,IAAI,CAACnD,MAAM,CAACgD,MAAM,CAACC,OAAO,CAAC;IAC3C,IAAI,CAACjD,MAAM,GAAG,IAAI,CAACA,MAAM,CAACgD,MAAM,CAAE5B,CAAC,IAAK,CAAC6B,OAAO,CAAC7B,CAAC,CAAC,CAAC;IACpD,IAAIgC,OAAO,GAAGD,OAAO,CAACE,MAAM,GAAG,CAAC;IAChC,KAAK,MAAMnE,KAAK,IAAI,IAAI,CAACY,KAAK,CAACwD,MAAM,CAAC,CAAC,EAAE;MACvC,IAAIL,OAAO,CAAC/D,KAAK,CAAC,EAAE;QAClBkE,OAAO,GAAG,IAAI,CAACX,kBAAkB,CAACvD,KAAK,CAAC+B,EAAE,EAAEuB,MAAM,CAAC,IAAIY,OAAO;MAChE;IACF;IACA,IAAIA,OAAO,EAAE;MACX,IAAI,CAACd,IAAI,CAAC,CAAC;IACb;IACAa,OAAO,CAACI,OAAO,CAAEnC,CAAC,IAAK,IAAI,CAAC0B,aAAa,CAAC1B,CAAC,CAACH,EAAE,EAAEuB,MAAM,CAAC,CAAC;EAC1D;;EAEA;EACAgB,cAAcA,CAACjC,QAAgB,EAAEkC,OAAgB,EAAQ;IACvD,IAAI,CAAC,IAAI,CAACtD,cAAc,CAACe,GAAG,CAACK,QAAQ,CAAC,IAAI,IAAI,MAAMkC,OAAO,EAAE;MAC3D;IACF;IACA,IAAI,CAACtD,cAAc,CAAC+B,GAAG,CAACX,QAAQ,EAAEkC,OAAO,CAAC;IAC1C,KAAK,MAAMvE,KAAK,IAAI,IAAI,CAACY,KAAK,CAACwD,MAAM,CAAC,CAAC,EAAE;MACvC,IAAIpE,KAAK,CAACqC,QAAQ,KAAKA,QAAQ,EAAE;QAC/BrC,KAAK,CAAC6C,SAAS,GAAG,CAAC0B,OAAO;MAC5B;IACF;IACA,KAAK,MAAMvE,KAAK,IAAI,IAAI,CAACc,MAAM,EAAE;MAC/B,IAAId,KAAK,CAACqC,QAAQ,KAAKA,QAAQ,EAAE;QAC/BrC,KAAK,CAAC6C,SAAS,GAAG,CAAC0B,OAAO;MAC5B;IACF;IACA,IAAIA,OAAO,EAAE;MACX,IAAI,CAACZ,aAAa,CAAC,CAAC;IACtB;IACA,IAAI,CAACP,IAAI,CAAC,CAAC;EACb;;EAEA;EACAoB,UAAUA,CAACnC,QAAgB,EAAQ;IACjC,MAAM4B,OAAO,GAAG,IAAI,CAACnD,MAAM,CAACgD,MAAM,CAAE5B,CAAC,IAAKA,CAAC,CAACG,QAAQ,KAAKA,QAAQ,CAAC;IAClE,IAAI,CAACvB,MAAM,GAAG,IAAI,CAACA,MAAM,CAACgD,MAAM,CAAE5B,CAAC,IAAKA,CAAC,CAACG,QAAQ,KAAKA,QAAQ,CAAC;IAChE,KAAK,MAAMrC,KAAK,IAAI,IAAI,CAACY,KAAK,CAACwD,MAAM,CAAC,CAAC,EAAE;MACvC,IAAIpE,KAAK,CAACqC,QAAQ,KAAKA,QAAQ,EAAE;QAC/B,IAAI,CAACkB,kBAAkB,CAACvD,KAAK,CAAC+B,EAAE,EAAE,cAAc,CAAC;MACnD;IACF;IACA,IAAI,CAACd,cAAc,CAACW,MAAM,CAACS,QAAQ,CAAC;IACpC,IAAI,CAACe,IAAI,CAAC,CAAC;IACXa,OAAO,CAACI,OAAO,CAAEnC,CAAC,IAAK,IAAI,CAAC0B,aAAa,CAAC1B,CAAC,CAACH,EAAE,EAAE,cAAc,CAAC,CAAC;EAClE;;EAEA;AACF;AACA;AACA;AACA;EACE0C,WAAWA,CAACC,cAAuB,EAA0B;IAC3D;IACA;IACA,MAAMC,UAAU,GAAG,IAAI,CAACvD,QAAQ,CAACC,OAAO,CAACyC,MAAM,CAC5C5B,CAAC,IACAA,CAAC,CAACU,KAAK,KAAK,QAAQ,IACpB,CAACV,CAAC,CAACW,SAAS,KACXX,CAAC,CAACI,QAAQ,IAAIJ,CAAC,CAACQ,WAAW,CAAC,KAC5BR,CAAC,CAACjC,KAAK,KAAK,QAAQ,IACnByE,cAAc,KAAKjC,SAAS,IAC5BP,CAAC,CAAC/B,OAAO,KAAKuE,cAAc,CAClC,CAAC;IACD,MAAME,GAAG,GAAGD,UAAU,CAACA,UAAU,CAACR,MAAM,GAAG,CAAC,CAAC;IAC7C,IAAI,CAACS,GAAG,EAAE;MACR,OAAO;QAAEC,IAAI,EAAE;MAAO,CAAC;IACzB;IACA,OAAOD,GAAG,CAAClC,WAAW,GAClB;MAAEmC,IAAI,EAAE,SAAS;MAAE9C,EAAE,EAAE6C,GAAG,CAAC7C;IAAG,CAAC,GAC/B;MAAE8C,IAAI,EAAE;IAAQ,CAAC;EACvB;;EAEA;EACA;EACAC,iBAAiBA,CAAA,EAA8B;IAC7C,OAAOC,kBAAkB,CAAC,IAAI,CAAC3D,QAAQ,CAAC;EAC1C;EAEA4D,cAAcA,CAAA,EAA8B;IAC1C,MAAM;MAAE3D;IAAQ,CAAC,GAAG,IAAI,CAACD,QAAQ;IACjC,KAAK,IAAI6D,CAAC,GAAG5D,OAAO,CAAC8C,MAAM,GAAG,CAAC,EAAEc,CAAC,IAAI,CAAC,EAAEA,CAAC,IAAI,CAAC,EAAE;MAC/C,MAAMjF,KAAK,GAAGqB,OAAO,CAAC4D,CAAC,CAAC;MACxB,IACEjF,KAAK,IACLA,KAAK,CAAC4C,KAAK,KAAK,SAAS,IACzB,CAAC5C,KAAK,CAAC6C,SAAS,IAChB7C,KAAK,CAACsC,QAAQ,EACd;QACA,OAAOtC,KAAK;MACd;IACF;IACA,OAAOyC,SAAS;EAClB;EAEQc,kBAAkBA,CACxBxB,EAAU,EACVuB,MAA6B,EACpB;IACT,MAAM4B,WAAW,GAAG,IAAI,CAACpE,MAAM,CAACqE,SAAS,CAAEjD,CAAC,IAAKA,CAAC,CAACH,EAAE,KAAKA,EAAE,CAAC;IAC7D,IAAImD,WAAW,KAAK,CAAC,CAAC,EAAE;MACtB,IAAI,CAACpE,MAAM,GAAG,IAAI,CAACA,MAAM,CAACgD,MAAM,CAAE5B,CAAC,IAAKA,CAAC,CAACH,EAAE,KAAKA,EAAE,CAAC;MACpD;MACA,MAAMhB,QAAQ,GAAG,IAAI,CAACA,QAAQ,CAACiB,GAAG,CAACD,EAAE,CAAC;MACtC,IAAI,CAAChB,QAAQ,CAACa,MAAM,CAACG,EAAE,CAAC;MACxBqD,cAAc,CAAC,MAAMrE,QAAQ,EAAEsE,SAAS,GAAG/B,MAAM,CAAC,CAAC;MACnD,OAAO,IAAI;IACb;IACA,MAAMtD,KAAK,GAAG,IAAI,CAACY,KAAK,CAACoB,GAAG,CAACD,EAAE,CAAC;IAChC,IAAI,CAAC/B,KAAK,IAAIA,KAAK,CAAC4C,KAAK,KAAK,SAAS,EAAE;MACvC,OAAO,KAAK;IACd;IACA5C,KAAK,CAAC4C,KAAK,GAAG,SAAS;IACvB5C,KAAK,CAAC8C,aAAa,GAAGQ,MAAM;IAC5B,IAAI,CAACtC,aAAa,CAACgC,GAAG,CACpBjB,EAAE,EACFuD,UAAU,CAAC,MAAM,IAAI,CAAC5B,QAAQ,CAAC3B,EAAE,CAAC,EAAE,IAAI,CAACP,gBAAgB,CAC3D,CAAC;IACD,OAAO,IAAI;EACb;EAEQyB,SAASA,CAACjD,KAAoB,EAAQ;IAC5C,MAAMuF,OAAO,GAAGxF,SAAS,CAACC,KAAK,CAAC;IAChC,MAAMwF,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC5E,KAAK,CAACwD,MAAM,CAAC,CAAC,CAAC,CAACN,MAAM,CAC7C5B,CAAC,IAAKA,CAAC,CAACU,KAAK,KAAK,QAAQ,IAAI7C,SAAS,CAACmC,CAAC,CAAC,KAAKqD,OAClD,CAAC;IACD,MAAME,OAAO,GAAGzF,KAAK,CAACwC,UAAU,GAC5BgD,QAAQ,CAAC1B,MAAM,CAAE5B,CAAC,IAAKA,CAAC,CAACM,UAAU,KAAKxC,KAAK,CAACwC,UAAU,CAAC,GACzDgD,QAAQ,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC;IACtBD,OAAO,CAACpB,OAAO,CAAEnC,CAAC,IAAK,IAAI,CAACqB,kBAAkB,CAACrB,CAAC,CAACH,EAAE,EAAE,UAAU,CAAC,CAAC;IACjE,IAAI/B,KAAK,CAACwC,UAAU,EAAE;MACpB,MAAMyB,OAAO,GAAG,IAAI,CAACnD,MAAM,CAACgD,MAAM,CAC/B5B,CAAC,IAAKnC,SAAS,CAACmC,CAAC,CAAC,KAAKqD,OAAO,IAAIrD,CAAC,CAACM,UAAU,KAAKxC,KAAK,CAACwC,UAC5D,CAAC;MACDyB,OAAO,CAACI,OAAO,CAAEnC,CAAC,IAAK,IAAI,CAACqB,kBAAkB,CAACrB,CAAC,CAACH,EAAE,EAAE,UAAU,CAAC,CAAC;IACnE;EACF;EAEQgB,aAAaA,CAAC/C,KAAoB,EAAW;IACnD,OACEA,KAAK,CAACC,KAAK,KAAK,MAAM,IACtBD,KAAK,CAACqC,QAAQ,KAAKI,SAAS,IAC5B,IAAI,CAACxB,cAAc,CAACe,GAAG,CAAChC,KAAK,CAACqC,QAAQ,CAAC,KAAK,KAAK;EAErD;EAEQa,UAAUA,CAAClD,KAAoB,EAAW;IAChD,IAAI,IAAI,CAAC+C,aAAa,CAAC/C,KAAK,CAAC,EAAE;MAC7B,OAAO,KAAK;IACd;IACA,MAAMuF,OAAO,GAAGxF,SAAS,CAACC,KAAK,CAAC;IAChC,KAAK,MAAMY,KAAK,IAAI,IAAI,CAACA,KAAK,CAACwD,MAAM,CAAC,CAAC,EAAE;MACvC,IAAIrE,SAAS,CAACa,KAAK,CAAC,KAAK2E,OAAO,EAAE;QAChC,OAAO,KAAK;MACd;IACF;IACA,OAAO,IAAI;EACb;EAEQ5B,aAAaA,CAAA,EAAS;IAC5B,MAAMgC,aAAa,GAAG,IAAIxE,GAAG,CAAS,CAAC;IACvC,MAAMyE,SAA0B,GAAG,EAAE;IACrC,KAAK,MAAM5F,KAAK,IAAI,IAAI,CAACc,MAAM,EAAE;MAC/B,MAAMyE,OAAO,GAAGxF,SAAS,CAACC,KAAK,CAAC;MAChC,IAAI,CAAC2F,aAAa,CAACE,GAAG,CAACN,OAAO,CAAC,IAAI,IAAI,CAACrC,UAAU,CAAClD,KAAK,CAAC,EAAE;QACzDA,KAAK,CAAC4C,KAAK,GAAG,QAAQ;QACtB,IAAI,CAAChC,KAAK,CAACoC,GAAG,CAAChD,KAAK,CAAC+B,EAAE,EAAE/B,KAAK,CAAC;QAC/B2F,aAAa,CAAChE,GAAG,CAAC4D,OAAO,CAAC;MAC5B,CAAC,MAAM;QACLK,SAAS,CAACE,IAAI,CAAC9F,KAAK,CAAC;MACvB;IACF;IACA,IAAI,CAACc,MAAM,GAAG8E,SAAS;EACzB;EAEQnC,iBAAiBA,CAAC1B,EAAU,EAAQ;IAC1C,MAAMgE,KAAK,GAAG,IAAI,CAAC/E,aAAa,CAACgB,GAAG,CAACD,EAAE,CAAC;IACxC,IAAIgE,KAAK,EAAE;MACTC,YAAY,CAACD,KAAK,CAAC;MACnB,IAAI,CAAC/E,aAAa,CAACY,MAAM,CAACG,EAAE,CAAC;IAC/B;EACF;EAEQ6B,aAAaA,CAAC7B,EAAU,EAAEuB,MAA6B,EAAQ;IACrE,MAAMvC,QAAQ,GAAG,IAAI,CAACA,QAAQ,CAACiB,GAAG,CAACD,EAAE,CAAC;IACtC,IAAI,CAAChB,QAAQ,CAACa,MAAM,CAACG,EAAE,CAAC;IACxBhB,QAAQ,EAAEsE,SAAS,GAAG/B,MAAM,CAAC;EAC/B;EAEQF,IAAIA,CAAA,EAAS;IACnB,IAAI,CAAChC,QAAQ,GAAG;MACdC,OAAO,EAAE,CAAC,GAAG,IAAI,CAACT,KAAK,CAACwD,MAAM,CAAC,CAAC,CAAC,CAC9B6B,GAAG,CAAE/D,CAAC,KAAM;QAAE,GAAGA;MAAE,CAAC,CAAC,CAAC,CACtBiB,QAAQ,CAAC/C,kBAAkB,CAAC;MAC/BU,MAAM,EAAE,IAAI,CAACA,MAAM,CAACmF,GAAG,CAAE/D,CAAC,KAAM;QAAE,GAAGA;MAAE,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,CAAChB,SAAS,CAACmD,OAAO,CAAE3C,QAAQ,IAAKA,QAAQ,CAAC,CAAC,CAAC;EAClD;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASqD,kBAAkBA,CAChC3D,QAA0B,EACC;EAC3B,MAAM;IAAEC;EAAQ,CAAC,GAAGD,QAAQ;EAC5B,KAAK,IAAI6D,CAAC,GAAG5D,OAAO,CAAC8C,MAAM,GAAG,CAAC,EAAEc,CAAC,IAAI,CAAC,EAAEA,CAAC,IAAI,CAAC,EAAE;IAC/C,MAAMjF,KAAK,GAAGqB,OAAO,CAAC4D,CAAC,CAAC;IACxB,IACEjF,KAAK,IACLA,KAAK,CAAC2C,cAAc,IACpB3C,KAAK,CAAC4C,KAAK,KAAK,QAAQ,IACxB,CAAC5C,KAAK,CAAC6C,SAAS,EAChB;MACA,OAAO7C,KAAK;IACd;EACF;EACA,OAAOyC,SAAS;AAClB;AAEA,OAAO,MAAMyD,YAAY,GAAG,IAAIvF,YAAY,CAAC,CAAC","ignoreList":[]}
@@ -1,6 +1,6 @@
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";
@@ -9,7 +9,7 @@ import { OVERLAY_OWNER_ATTRIBUTE } from "./OverlayPageHost.web.js";
9
9
  import { overlayStore } from "./OverlayStore.js";
10
10
  import { useOverlayController } from "./useOverlayController.js";
11
11
  import { animateBackdrop, animateTransition } from "./web/animateTransition.js";
12
- import { ENTRY_ATTRIBUTE, getOverlayLayerRoot, getOverlayPageHost, registerOverlayDismissRequester, scheduleOverlayInertSync } from "./web/overlayLayers.js";
12
+ import { ENTRY_ATTRIBUTE, getOverlayLayerRoot, getOverlayPageHost, registerOverlayDismissRequester, scheduleOverlayInertSync, subscribeOverlayPageHost } from "./web/overlayLayers.js";
13
13
  import { useKeyboardShift } from "./web/useKeyboardShift.js";
14
14
  import { useSheetDrag } from "./web/useSheetDrag.js";
15
15
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
@@ -89,22 +89,46 @@ function WebOverlayEntry({
89
89
  const neverEntered = directionRef.current === undefined;
90
90
  directionRef.current = direction;
91
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 = [];
92
105
  if (direction === 'out' && (neverEntered || pannedAwayRef.current)) {
106
+ restoreFocusRef.current?.focus?.({
107
+ preventScroll: true
108
+ });
109
+ restoreFocusRef.current = null;
93
110
  callbacksRef.current.onDismissed();
94
111
  return;
95
112
  }
96
- if (direction === 'in' && blocking) {
97
- restoreFocusRef.current = document.activeElement;
98
- entryRef.current?.focus({
99
- preventScroll: true
100
- });
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
+ }
101
126
  }
102
- runningAnimationsRef.current.forEach(running => running.cancel());
103
127
  // A sheet is measured as a whole; other presentations by the children
104
128
  // of the full-window React root.
105
129
  const contentRoot = isSheet ? content : sheetRef.current?.firstElementChild ?? content;
106
130
  const transition = direction === 'in' ? animation.enter : animation.exit;
107
- 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);
108
132
  runningAnimationsRef.current = running;
109
133
  void Promise.all(running.map(item => item.finished)).then(() => {
110
134
  if (directionRef.current !== direction) {
@@ -311,10 +335,15 @@ export function OverlayView(props) {
311
335
  // Closed with `keepContentMounted`: the same entry stays in the layer,
312
336
  // hidden and inert, so the content keeps its state and can be measured.
313
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);
314
341
  if (parked && !keepContentMounted) {
315
342
  return null;
316
343
  }
317
- const pageHost = !parked && scope === 'page' ? getOverlayPageHost(hostKey) : undefined;
344
+ if (scope === 'page' && !pageHost) {
345
+ return null;
346
+ }
318
347
  return /*#__PURE__*/createPortal(/*#__PURE__*/_jsx(WebOverlayEntry, {
319
348
  parked: parked,
320
349
  entryId: entry?.id ?? parkedId,
@@ -331,13 +360,13 @@ export function OverlayView(props) {
331
360
  sheet: presentation === 'sheet' ? sheet ?? {} : undefined
332
361
  // Inside a page host all levels share one stacking context.
333
362
  ,
334
- zIndex: pageHost ? OVERLAY_LEVEL_ORDER[level] * 1000 + (entry?.seq ?? 0) : entry?.seq ?? 0,
335
- 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,
336
365
  testID: testID,
337
366
  children: /*#__PURE__*/_jsx(OverlayLevelProvider, {
338
367
  value: level,
339
368
  children: children
340
369
  })
341
- }, "entry"), pageHost ?? getOverlayLayerRoot(level));
370
+ }, "entry"), scope === 'page' ? pageHost : getOverlayLayerRoot(level));
342
371
  }
343
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","overlayStore","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","runningAnimationsRef","restoreFocusRef","callbacksRef","current","style","removeProperty","opacity","content","direction","neverEntered","document","activeElement","focus","preventScroll","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","onKeyDownCapture","root","key","defaultPrevented","nativeEvent","isComposing","getBlockingTop","id","tabbable","Array","from","querySelectorAll","node","tabIndex","hasAttribute","matches","ancestor","parentElement","getComputedStyle","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","pageHost","seq","color","dismissOnPress","value"],"sourceRoot":"../../src","sources":["OverlayView.web.tsx"],"mappings":"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","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":[]}
@@ -40,9 +40,13 @@ export function useOverlayController(props) {
40
40
  // still true, so the effect below does not immediately reopen it.
41
41
  const closedByStoreRef = useRef(false);
42
42
  const propsRef = useLatest(props);
43
+ const previousVisibleRef = useRef(visible);
43
44
  const snapshot = useSyncExternalStore(overlayStore.subscribe, overlayStore.getSnapshot, overlayStore.getSnapshot);
44
45
  const entry = useMemo(() => entryId ? snapshot.entries.find(e => e.id === entryId) ?? snapshot.queued.find(e => e.id === entryId) : undefined, [entryId, snapshot]);
45
46
  useEffect(() => {
47
+ const reopening = visible && !previousVisibleRef.current;
48
+ previousVisibleRef.current = visible;
49
+ if (reopening && entryId) overlayStore.reopen(entryId);
46
50
  if (!visible) {
47
51
  closedByStoreRef.current = false;
48
52
  if (entryId) {
@@ -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":"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","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":";;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,MAAMC,KAAK,GAAGd,KAAK,CAACc,KAAK,IAAI,QAAQ;EACrC,MAAMC,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;EACjC,MAAMqB,kBAAkB,GAAGlC,MAAM,CAACc,OAAO,CAAC;EAE1C,MAAMqB,QAAQ,GAAGjC,oBAAoB,CACnCK,YAAY,CAAC6B,SAAS,EACtB7B,YAAY,CAAC8B,WAAW,EACxB9B,YAAY,CAAC8B,WACf,CAAC;EACD,MAAMC,KAAK,GAAGvC,OAAO,CACnB,MACE+B,OAAO,GACHK,QAAQ,CAACI,OAAO,CAACC,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACC,EAAE,KAAKZ,OAAO,CAAC,IAC9CK,QAAQ,CAACQ,MAAM,CAACH,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACC,EAAE,KAAKZ,OAAO,CAAC,GAC7Cc,SAAS,EACf,CAACd,OAAO,EAAEK,QAAQ,CACpB,CAAC;EAEDtC,SAAS,CAAC,MAAM;IACd,MAAMgD,SAAS,GAAG/B,OAAO,IAAI,CAACoB,kBAAkB,CAACvB,OAAO;IACxDuB,kBAAkB,CAACvB,OAAO,GAAGG,OAAO;IACpC,IAAI+B,SAAS,IAAIf,OAAO,EAAEvB,YAAY,CAACuC,MAAM,CAAChB,OAAO,CAAC;IACtD,IAAI,CAAChB,OAAO,EAAE;MACZkB,gBAAgB,CAACrB,OAAO,GAAG,KAAK;MAChC,IAAImB,OAAO,EAAE;QACXvB,YAAY,CAACwC,OAAO,CAACjB,OAAO,EAAE,cAAc,CAAC;MAC/C;MACA;IACF;IACA,IAAIA,OAAO,IAAIE,gBAAgB,CAACrB,OAAO,EAAE;MACvC;IACF;IACA;IACA;IACA,IAAIgB,KAAK,KAAK,MAAM,KAAK,CAACF,OAAO,IAAI,CAACC,QAAQ,CAAC,EAAE;MAC/C;IACF;IACAG,QAAQ,CAAClB,OAAO,IAAI,CAAC;IACrB,MAAM+B,EAAE,GAAG,eAAed,MAAM,GAAGC,QAAQ,CAAClB,OAAO,EAAE;IACrDJ,YAAY,CAACyC,OAAO,CAClB;MACEN,EAAE;MACFf,KAAK;MACLF,OAAO;MACPC,QAAQ;MACRX,KAAK;MACLC,QAAQ;MACRC,QAAQ;MACRC,UAAU;MACVC,QAAQ;MACR8B,WAAW,EAAE7B,kBAAkB;MAC/BG;IACF,CAAC,EACD;MACE2B,SAAS,EAAGC,MAAM,IAAK;QACrBpB,UAAU,CAAEpB,OAAO,IAAMA,OAAO,KAAK+B,EAAE,GAAGE,SAAS,GAAGjC,OAAQ,CAAC;QAC/D,IAAIwC,MAAM,KAAK,cAAc,EAAE;UAC7BnB,gBAAgB,CAACrB,OAAO,GAAG,IAAI;QACjC;QACAsB,QAAQ,CAACtB,OAAO,CAACyC,OAAO,GAAGD,MAAM,CAAC;MACpC;IACF,CACF,CAAC;IACDpB,UAAU,CAACW,EAAE,CAAC;IACd;IACA;EACF,CAAC,EAAE,CAAC5B,OAAO,EAAEgB,OAAO,EAAEH,KAAK,EAAEF,OAAO,EAAEC,QAAQ,CAAC,CAAC;EAEhD7B,SAAS,CACP,MAAM,MAAM;IACV,IAAIiC,OAAO,EAAE;MACXvB,YAAY,CAACwC,OAAO,CAACjB,OAAO,EAAE,QAAQ,CAAC;MACvCvB,YAAY,CAAC8C,QAAQ,CAACvB,OAAO,CAAC;IAChC;EACF,CAAC,EACD,CAACA,OAAO,CACV,CAAC;EAED,MAAMwB,iBAAiB,GAAGvD,OAAO,CAC/B,MACEK,uBAAuB,CAACiB,YAAY,EAAEC,SAAS,EAAEnB,sBAAsB,CAAC,EAC1E,CAACkB,YAAY,EAAEC,SAAS,CAC1B,CAAC;EAED,MAAMiC,eAAe,GAAG3D,WAAW,CAAC,MAAM;IACxCqC,QAAQ,CAACtB,OAAO,CAAC6C,WAAW,GAAG,CAAC;EAClC,CAAC,EAAE,CAACvB,QAAQ,CAAC,CAAC;EAEd,MAAMwB,eAAe,GAAG7D,WAAW,CAAC,MAAM;IACxC,IAAI,CAACkC,OAAO,EAAE;MACZ;IACF;IACA,MAAM4B,KAAK,GAAGnD,YAAY,CAACoD,QAAQ,CAAC7B,OAAO,CAAC,EAAE4B,KAAK;IACnD,IAAIA,KAAK,KAAK,QAAQ,EAAE;MACtB;MACA;MACAnD,YAAY,CAACwC,OAAO,CAACjB,OAAO,EAAE,QAAQ,CAAC;IACzC;IACAvB,YAAY,CAAC8C,QAAQ,CAACvB,OAAO,CAAC;EAChC,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EAEb,MAAM8B,oBAAoB,GAAGhE,WAAW,CACrCuD,MAAoC,IAAK;IACxC,MAAMU,OAAO,GAAG5B,QAAQ,CAACtB,OAAO,CAACmD,gBAAgB;IACjDD,OAAO,GAAGV,MAAM,CAAC;IACjB,IAAIrB,OAAO,KAAK,CAAC+B,OAAO,IAAIV,MAAM,KAAK,KAAK,CAAC,EAAE;MAC7C5C,YAAY,CAACwC,OAAO,CAACjB,OAAO,EAAEqB,MAAM,CAAC;IACvC;EACF,CAAC,EACD,CAACrB,OAAO,EAAEG,QAAQ,CACpB,CAAC;EAED,OAAO;IACLK,KAAK;IACLyB,OAAO,EAAE,CAAC,CAACzB,KAAK,IAAIA,KAAK,CAACoB,KAAK,KAAK,QAAQ;IAC5CM,SAAS,EACP,CAAC,CAAC1B,KAAK,IACPA,KAAK,CAACoB,KAAK,KAAK,QAAQ,KACvB/B,KAAK,KAAK,MAAM,IAAI,CAACW,KAAK,CAAC2B,SAAS,CAAC;IACxCtC,KAAK;IACLuC,aAAa,EAAE,CAAC,CAACpC,OAAO,IAAIxB,kBAAkB,CAAC6B,QAAQ,CAAC,EAAEO,EAAE,KAAKZ,OAAO;IACxEL,OAAO,EAAEE,KAAK,KAAK,MAAM,GAAGF,OAAO,GAAGmB,SAAS;IAC/ClB,QAAQ,EAAEC,KAAK,KAAK,MAAM,GAAGD,QAAQ,GAAGkB,SAAS;IACjDtB,SAAS,EAAEgC,iBAAiB;IAC5BC,eAAe;IACfE,eAAe;IACfG;EACF,CAAC;AACH","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
  }
@@ -96,21 +96,24 @@ export function animateTransition(element, contentRoot, transition, direction) {
96
96
  Object.keys(hidden).forEach(key => {
97
97
  visible[key] = VISIBLE_KEYFRAME[key];
98
98
  });
99
- const keyframes = direction === 'in' ? [hidden, visible] : [visible, hidden];
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];
100
106
  return target.animate(keyframes, {
101
107
  ...toTiming(effective.motion),
102
108
  fill: 'forwards'
103
109
  });
104
110
  }
105
- export function animateBackdrop(element, motion, direction) {
106
- const keyframes = direction === 'in' ? [{
107
- opacity: 0
108
- }, {
109
- opacity: 1
110
- }] : [{
111
- 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)
112
115
  }, {
113
- opacity: 0
116
+ opacity: direction === 'in' ? 1 : 0
114
117
  }];
115
118
  return element.animate(keyframes, {
116
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","anchoredContent","origin","childElementCount","firstElementChild","target","HTMLElement","targetRect","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":[]}
@@ -32,6 +32,8 @@ export declare class OverlayStore {
32
32
  request(request: IOverlayRequest, handlers?: IOverlayEntryHandlers): IOverlayEntry;
33
33
  /** Starts closing an entry; the native side calls `finalize` after its exit animation. */
34
34
  dismiss(id: string, reason?: IOverlayDismissReason): void;
35
+ /** Reverses an unfinished close without creating a new presentation cycle. */
36
+ reopen(id: string): void;
35
37
  /** Removes a closing (or active) entry once its exit animation finished. */
36
38
  finalize(id: string): void;
37
39
  dismissAll(filter?: {
@@ -1 +1 @@
1
- {"version":3,"file":"OverlayStore.d.ts","sourceRoot":"","sources":["../../../src/OverlayStore.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,qBAAqB,EACrB,aAAa,EACb,eAAe,EACf,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,qBAAqB;IACpC,yFAAyF;IACzF,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,qBAAqB,KAAK,IAAI,CAAC;CACrD;AAED,MAAM,MAAM,sBAAsB,GAC9B;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAErB,MAAM,WAAW,oBAAoB;IACnC,6EAA6E;IAC7E,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAyBD,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAE1C,OAAO,CAAC,GAAG,CAAK;IAEhB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoC;IAE1D,OAAO,CAAC,MAAM,CAAuB;IAErC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4C;IAErE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAG1B;IAEJ,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA8B;IAE7D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IAEnD,OAAO,CAAC,QAAQ,CAGd;gBAEU,OAAO,GAAE,oBAAyB;IAK9C,SAAS,GAAI,UAAU,MAAM,IAAI,KAAG,CAAC,MAAM,IAAI,CAAC,CAK9C;IAEF,WAAW,QAAO,gBAAgB,CAAkB;IAEpD,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAI/C,OAAO,CACL,OAAO,EAAE,eAAe,EACxB,QAAQ,GAAE,qBAA0B,GACnC,aAAa;IAiDhB,0FAA0F;IAC1F,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,GAAE,qBAAsC,GAAG,IAAI;IAMzE,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAY1B,UAAU,CACR,MAAM,GAAE;QACN,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;QAC/B,UAAU,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,CAAC,EAAE,qBAAqB,CAAC;KAC3B,GACL,IAAI;IAqBP,qFAAqF;IACrF,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAqBxD,0DAA0D;IAC1D,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAalC;;;;OAIG;IACH,WAAW,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,sBAAsB;IAqB5D,6EAA6E;IAC7E,2EAA2E;IAC3E,iBAAiB,IAAI,aAAa,GAAG,SAAS;IAI9C,cAAc,IAAI,aAAa,GAAG,SAAS;IAgB3C,OAAO,CAAC,kBAAkB;IAwB1B,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,UAAU;IAalB,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,IAAI;CASb;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,gBAAgB,GACzB,aAAa,GAAG,SAAS,CAc3B;AAED,eAAO,MAAM,YAAY,cAAqB,CAAC"}
1
+ {"version":3,"file":"OverlayStore.d.ts","sourceRoot":"","sources":["../../../src/OverlayStore.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,qBAAqB,EACrB,aAAa,EACb,eAAe,EACf,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,qBAAqB;IACpC,yFAAyF;IACzF,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,qBAAqB,KAAK,IAAI,CAAC;CACrD;AAED,MAAM,MAAM,sBAAsB,GAC9B;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAErB,MAAM,WAAW,oBAAoB;IACnC,6EAA6E;IAC7E,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAyBD,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAE1C,OAAO,CAAC,GAAG,CAAK;IAEhB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoC;IAE1D,OAAO,CAAC,MAAM,CAAuB;IAErC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4C;IAErE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAG1B;IAEJ,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA8B;IAE7D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IAEnD,OAAO,CAAC,QAAQ,CAGd;gBAEU,OAAO,GAAE,oBAAyB;IAK9C,SAAS,GAAI,UAAU,MAAM,IAAI,KAAG,CAAC,MAAM,IAAI,CAAC,CAK9C;IAEF,WAAW,QAAO,gBAAgB,CAAkB;IAEpD,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAI/C,OAAO,CACL,OAAO,EAAE,eAAe,EACxB,QAAQ,GAAE,qBAA0B,GACnC,aAAa;IAiDhB,0FAA0F;IAC1F,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,GAAE,qBAAsC,GAAG,IAAI;IAMzE,8EAA8E;IAC9E,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IASxB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAY1B,UAAU,CACR,MAAM,GAAE;QACN,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;QAC/B,UAAU,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,CAAC,EAAE,qBAAqB,CAAC;KAC3B,GACL,IAAI;IAqBP,qFAAqF;IACrF,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAqBxD,0DAA0D;IAC1D,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAalC;;;;OAIG;IACH,WAAW,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,sBAAsB;IAqB5D,6EAA6E;IAC7E,2EAA2E;IAC3E,iBAAiB,IAAI,aAAa,GAAG,SAAS;IAI9C,cAAc,IAAI,aAAa,GAAG,SAAS;IAgB3C,OAAO,CAAC,kBAAkB;IA0B1B,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,UAAU;IAalB,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,IAAI;CASb;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,gBAAgB,GACzB,aAAa,GAAG,SAAS,CAc3B;AAED,eAAO,MAAM,YAAY,cAAqB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"OverlayView.web.d.ts","sourceRoot":"","sources":["../../../src/OverlayView.web.tsx"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAGV,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAqW5B,wBAAgB,WAAW,CAAC,KAAK,EAAE,iBAAiB,sCAiEnD"}
1
+ {"version":3,"file":"OverlayView.web.d.ts","sourceRoot":"","sources":["../../../src/OverlayView.web.tsx"],"names":[],"mappings":"AA+BA,OAAO,KAAK,EAGV,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAkY5B,wBAAgB,WAAW,CAAC,KAAK,EAAE,iBAAiB,sCA2EnD"}
@@ -1 +1 @@
1
- {"version":3,"file":"useOverlayController.d.ts","sourceRoot":"","sources":["../../../src/useOverlayController.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,KAAK,EACV,4BAA4B,EAC5B,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,aAAa,GAAG,SAAS,CAAC;IACjC,uDAAuD;IACvD,OAAO,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,QAAQ,GAAG,MAAM,CAAC;IACzB,qEAAqE;IACrE,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,SAAS,EAAE,yBAAyB,CAAC;IACrC,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,oBAAoB,EAAE,CAAC,MAAM,EAAE,4BAA4B,KAAK,IAAI,CAAC;CACtE;AAQD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,iBAAiB,GACvB,kBAAkB,CAkJpB"}
1
+ {"version":3,"file":"useOverlayController.d.ts","sourceRoot":"","sources":["../../../src/useOverlayController.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,KAAK,EACV,4BAA4B,EAC5B,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,aAAa,GAAG,SAAS,CAAC;IACjC,uDAAuD;IACvD,OAAO,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,QAAQ,GAAG,MAAM,CAAC;IACzB,qEAAqE;IACrE,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,SAAS,EAAE,yBAAyB,CAAC;IACrC,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,oBAAoB,EAAE,CAAC,MAAM,EAAE,4BAA4B,KAAK,IAAI,CAAC;CACtE;AAQD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,iBAAiB,GACvB,kBAAkB,CAsJpB"}
@@ -13,6 +13,6 @@ export declare function measureContentExtent(container: HTMLElement): IContentEx
13
13
  * slide distance and scale origin come from the children of `contentRoot`,
14
14
  * because the content wrapper itself always fills the window.
15
15
  */
16
- export declare function animateTransition(element: HTMLElement, contentRoot: HTMLElement, transition: IResolvedOverlayTransition, direction: 'in' | 'out'): Animation | undefined;
17
- export declare function animateBackdrop(element: HTMLElement, motion: IOverlayMotion, direction: 'in' | 'out'): Animation;
16
+ export declare function animateTransition(element: HTMLElement, contentRoot: HTMLElement, transition: IResolvedOverlayTransition, direction: 'in' | 'out', interruptedFrames?: ReadonlyMap<HTMLElement, Keyframe>): Animation | undefined;
17
+ export declare function animateBackdrop(element: HTMLElement, motion: IOverlayMotion, direction: 'in' | 'out', interruptedFrames?: ReadonlyMap<HTMLElement, Keyframe>): Animation;
18
18
  //# sourceMappingURL=animateTransition.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"animateTransition.d.ts","sourceRoot":"","sources":["../../../../src/web/animateTransition.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,gFAAgF;AAChF,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,WAAW,GAAG,cAAc,CAkB3E;AA8DD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,0BAA0B,EACtC,SAAS,EAAE,IAAI,GAAG,KAAK,GACtB,SAAS,GAAG,SAAS,CA+BvB;AAED,wBAAgB,eAAe,CAC7B,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,IAAI,GAAG,KAAK,GACtB,SAAS,CAMX"}
1
+ {"version":3,"file":"animateTransition.d.ts","sourceRoot":"","sources":["../../../../src/web/animateTransition.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,gFAAgF;AAChF,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,WAAW,GAAG,cAAc,CAkB3E;AA8DD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,0BAA0B,EACtC,SAAS,EAAE,IAAI,GAAG,KAAK,EACvB,iBAAiB,CAAC,EAAE,WAAW,CAAC,WAAW,EAAE,QAAQ,CAAC,GACrD,SAAS,GAAG,SAAS,CAqCvB;AAED,wBAAgB,eAAe,CAC7B,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,IAAI,GAAG,KAAK,EACvB,iBAAiB,CAAC,EAAE,WAAW,CAAC,WAAW,EAAE,QAAQ,CAAC,GACrD,SAAS,CAOX"}
@@ -8,5 +8,6 @@ export declare function registerOverlayDismissRequester(id: string, requester: (
8
8
  /** Re-run after entry DOM nodes mount, since the store emits before commit. */
9
9
  export declare function scheduleOverlayInertSync(): void;
10
10
  export declare function registerOverlayPageHost(hostKey: string, element: HTMLDivElement): () => void;
11
+ export declare function subscribeOverlayPageHost(hostKey: string | undefined, listener: () => void): () => void;
11
12
  export declare function getOverlayPageHost(hostKey: string | undefined): HTMLDivElement | undefined;
12
13
  //# sourceMappingURL=overlayLayers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"overlayLayers.d.ts","sourceRoot":"","sources":["../../../../src/web/overlayLayers.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,KAAK,EAAiB,aAAa,EAAE,MAAM,UAAU,CAAC;AAG7D,eAAO,MAAM,eAAe,8BAA8B,CAAC;AA8E3D,0EAA0E;AAC1E,wBAAgB,gBAAgB,SAsC/B;AA2BD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,cAAc,CAQxE;AAED,wBAAgB,+BAA+B,CAC7C,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,CAAC,MAAM,EAAE,4BAA4B,KAAK,IAAI,GACxD,MAAM,IAAI,CAOZ;AAED,+EAA+E;AAC/E,wBAAgB,wBAAwB,SAEvC;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,cAAc,GACtB,MAAM,IAAI,CAQZ;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,cAAc,GAAG,SAAS,CAE5B"}
1
+ {"version":3,"file":"overlayLayers.d.ts","sourceRoot":"","sources":["../../../../src/web/overlayLayers.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,KAAK,EAAiB,aAAa,EAAE,MAAM,UAAU,CAAC;AAG7D,eAAO,MAAM,eAAe,8BAA8B,CAAC;AA+E3D,0EAA0E;AAC1E,wBAAgB,gBAAgB,SAsC/B;AA2BD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,cAAc,CAQxE;AAED,wBAAgB,+BAA+B,CAC7C,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,CAAC,MAAM,EAAE,4BAA4B,KAAK,IAAI,GACxD,MAAM,IAAI,CAOZ;AAED,+EAA+E;AAC/E,wBAAgB,wBAAwB,SAEvC;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,cAAc,GACtB,MAAM,IAAI,CAUZ;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,QAAQ,EAAE,MAAM,IAAI,GACnB,MAAM,IAAI,CAYZ;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,cAAc,GAAG,SAAS,CAE5B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onekeyfe/react-native-native-overlay",
3
- "version": "6.7.0-alpha.338",
3
+ "version": "6.7.0-alpha.344",
4
4
  "description": "Native and Web overlay hosts with ordered levels, page scope and Fabric measurement",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -148,6 +148,16 @@ export class OverlayStore {
148
148
  }
149
149
  }
150
150
 
151
+ /** Reverses an unfinished close without creating a new presentation cycle. */
152
+ reopen(id: string): void {
153
+ const entry = this.shown.get(id);
154
+ if (!entry || entry.phase !== 'closing') return;
155
+ this.clearClosingTimer(id);
156
+ entry.phase = 'active';
157
+ entry.dismissReason = undefined;
158
+ this.emit();
159
+ }
160
+
151
161
  /** Removes a closing (or active) entry once its exit animation finished. */
152
162
  finalize(id: string): void {
153
163
  const entry = this.shown.get(id);
@@ -280,7 +290,9 @@ export class OverlayStore {
280
290
  if (queuedIndex !== -1) {
281
291
  this.queued = this.queued.filter((e) => e.id !== id);
282
292
  // Queued entries never rendered, so they leave without an exit animation.
283
- queueMicrotask(() => this.notifyRemoved(id, reason));
293
+ const handlers = this.handlers.get(id);
294
+ this.handlers.delete(id);
295
+ queueMicrotask(() => handlers?.onRemoved?.(reason));
284
296
  return true;
285
297
  }
286
298
  const entry = this.shown.get(id);
@@ -1,4 +1,11 @@
1
- import { useEffect, useId, useLayoutEffect, useRef } from 'react';
1
+ import {
2
+ useCallback,
3
+ useEffect,
4
+ useId,
5
+ useLayoutEffect,
6
+ useRef,
7
+ useSyncExternalStore,
8
+ } from 'react';
2
9
  import type { KeyboardEvent, ReactNode, SyntheticEvent } from 'react';
3
10
 
4
11
  import { createPortal } from 'react-dom';
@@ -16,6 +23,7 @@ import {
16
23
  getOverlayPageHost,
17
24
  registerOverlayDismissRequester,
18
25
  scheduleOverlayInertSync,
26
+ subscribeOverlayPageHost,
19
27
  } from './web/overlayLayers';
20
28
  import { useKeyboardShift } from './web/useKeyboardShift';
21
29
  import { useSheetDrag } from './web/useSheetDrag';
@@ -123,15 +131,37 @@ function WebOverlayEntry({
123
131
  const neverEntered = directionRef.current === undefined;
124
132
  directionRef.current = direction;
125
133
  scheduleOverlayInertSync();
134
+ const interruptedFrames = new Map<HTMLElement, Keyframe>();
135
+ for (const running of runningAnimationsRef.current) {
136
+ const target = (running.effect as KeyframeEffect | null)?.target;
137
+ if (running.playState === 'running' && target instanceof HTMLElement) {
138
+ const style = getComputedStyle(target);
139
+ interruptedFrames.set(target, {
140
+ opacity: style.opacity,
141
+ transform: style.transform,
142
+ });
143
+ }
144
+ running.cancel();
145
+ }
146
+ runningAnimationsRef.current = [];
126
147
  if (direction === 'out' && (neverEntered || pannedAwayRef.current)) {
148
+ restoreFocusRef.current?.focus?.({ preventScroll: true });
149
+ restoreFocusRef.current = null;
127
150
  callbacksRef.current.onDismissed();
128
151
  return;
129
152
  }
130
- if (direction === 'in' && blocking) {
131
- restoreFocusRef.current = document.activeElement as HTMLElement | null;
132
- entryRef.current?.focus({ preventScroll: true });
153
+ if (direction === 'in') {
154
+ pannedAwayRef.current = false;
155
+ sheetRef.current?.style.removeProperty('transform');
156
+ sheetRef.current?.style.removeProperty('transition');
157
+ if (backdropRef.current) {
158
+ backdropRef.current.style.opacity = '1';
159
+ }
160
+ if (blocking) {
161
+ restoreFocusRef.current = document.activeElement as HTMLElement | null;
162
+ entryRef.current?.focus({ preventScroll: true });
163
+ }
133
164
  }
134
- runningAnimationsRef.current.forEach((running) => running.cancel());
135
165
  // A sheet is measured as a whole; other presentations by the children
136
166
  // of the full-window React root.
137
167
  const contentRoot = isSheet
@@ -139,12 +169,19 @@ function WebOverlayEntry({
139
169
  : (sheetRef.current?.firstElementChild as HTMLElement | null) ?? content;
140
170
  const transition = direction === 'in' ? animation.enter : animation.exit;
141
171
  const running = [
142
- animateTransition(content, contentRoot, transition, direction),
172
+ animateTransition(
173
+ content,
174
+ contentRoot,
175
+ transition,
176
+ direction,
177
+ interruptedFrames
178
+ ),
143
179
  backdropRef.current
144
180
  ? animateBackdrop(
145
181
  backdropRef.current,
146
182
  animation.backdrop.motion,
147
- direction
183
+ direction,
184
+ interruptedFrames
148
185
  )
149
186
  : undefined,
150
187
  ].filter((item): item is Animation => !!item);
@@ -410,12 +447,22 @@ export function OverlayView(props: IOverlayViewProps) {
410
447
  // Closed with `keepContentMounted`: the same entry stays in the layer,
411
448
  // hidden and inert, so the content keeps its state and can be measured.
412
449
  const parked = !mounted || !entry;
450
+ const subscribePageHost = useCallback(
451
+ (listener: () => void) => subscribeOverlayPageHost(hostKey, listener),
452
+ [hostKey]
453
+ );
454
+ const getPageHost = useCallback(() => getOverlayPageHost(hostKey), [hostKey]);
455
+ const pageHost = useSyncExternalStore(
456
+ subscribePageHost,
457
+ getPageHost,
458
+ () => undefined
459
+ );
413
460
  if (parked && !keepContentMounted) {
414
461
  return null;
415
462
  }
416
-
417
- const pageHost =
418
- !parked && scope === 'page' ? getOverlayPageHost(hostKey) : undefined;
463
+ if (scope === 'page' && !pageHost) {
464
+ return null;
465
+ }
419
466
  return createPortal(
420
467
  <WebOverlayEntry
421
468
  key="entry"
@@ -436,15 +483,15 @@ export function OverlayView(props: IOverlayViewProps) {
436
483
  sheet={presentation === 'sheet' ? sheet ?? {} : undefined}
437
484
  // Inside a page host all levels share one stacking context.
438
485
  zIndex={
439
- pageHost
486
+ scope === 'page'
440
487
  ? OVERLAY_LEVEL_ORDER[level] * 1000 + (entry?.seq ?? 0)
441
488
  : entry?.seq ?? 0
442
489
  }
443
- ownerKey={pageHost ? ownerKey : undefined}
490
+ ownerKey={scope === 'page' ? ownerKey : undefined}
444
491
  testID={testID}
445
492
  >
446
493
  <OverlayLevelProvider value={level}>{children}</OverlayLevelProvider>
447
494
  </WebOverlayEntry>,
448
- pageHost ?? getOverlayLayerRoot(level)
495
+ scope === 'page' ? pageHost! : getOverlayLayerRoot(level)
449
496
  );
450
497
  }
@@ -77,6 +77,7 @@ export function useOverlayController(
77
77
  // still true, so the effect below does not immediately reopen it.
78
78
  const closedByStoreRef = useRef(false);
79
79
  const propsRef = useLatest(props);
80
+ const previousVisibleRef = useRef(visible);
80
81
 
81
82
  const snapshot = useSyncExternalStore(
82
83
  overlayStore.subscribe,
@@ -93,6 +94,9 @@ export function useOverlayController(
93
94
  );
94
95
 
95
96
  useEffect(() => {
97
+ const reopening = visible && !previousVisibleRef.current;
98
+ previousVisibleRef.current = visible;
99
+ if (reopening && entryId) overlayStore.reopen(entryId);
96
100
  if (!visible) {
97
101
  closedByStoreRef.current = false;
98
102
  if (entryId) {
@@ -100,7 +100,8 @@ export function animateTransition(
100
100
  element: HTMLElement,
101
101
  contentRoot: HTMLElement,
102
102
  transition: IResolvedOverlayTransition,
103
- direction: 'in' | 'out'
103
+ direction: 'in' | 'out',
104
+ interruptedFrames?: ReadonlyMap<HTMLElement, Keyframe>
104
105
  ): Animation | undefined {
105
106
  if (transition.type === 'none') {
106
107
  return undefined;
@@ -127,7 +128,13 @@ export function animateTransition(
127
128
  Object.keys(hidden).forEach((key) => {
128
129
  visible[key] = VISIBLE_KEYFRAME[key];
129
130
  });
130
- const keyframes = direction === 'in' ? [hidden, visible] : [visible, hidden];
131
+ const sampled = interruptedFrames?.get(target);
132
+ const initial = direction === 'in' ? hidden : visible;
133
+ const start: Keyframe = {};
134
+ Object.keys(initial).forEach((key) => {
135
+ start[key] = sampled?.[key] ?? initial[key];
136
+ });
137
+ const keyframes = [start, direction === 'in' ? visible : hidden];
131
138
  return target.animate(keyframes, {
132
139
  ...toTiming(effective.motion),
133
140
  fill: 'forwards',
@@ -137,11 +144,13 @@ export function animateTransition(
137
144
  export function animateBackdrop(
138
145
  element: HTMLElement,
139
146
  motion: IOverlayMotion,
140
- direction: 'in' | 'out'
147
+ direction: 'in' | 'out',
148
+ interruptedFrames?: ReadonlyMap<HTMLElement, Keyframe>
141
149
  ): Animation {
142
- const keyframes =
143
- direction === 'in'
144
- ? [{ opacity: 0 }, { opacity: 1 }]
145
- : [{ opacity: 1 }, { opacity: 0 }];
150
+ const sampled = interruptedFrames?.get(element)?.opacity;
151
+ const keyframes = [
152
+ { opacity: sampled ?? (direction === 'in' ? 0 : 1) },
153
+ { opacity: direction === 'in' ? 1 : 0 },
154
+ ];
146
155
  return element.animate(keyframes, { ...toTiming(motion), fill: 'forwards' });
147
156
  }
@@ -15,6 +15,7 @@ const APP_ROOT_ID = 'root';
15
15
 
16
16
  const layerRoots = new Map<IOverlayLevel, HTMLDivElement>();
17
17
  const pageHosts = new Map<string, HTMLDivElement>();
18
+ const pageHostListeners = new Map<string, Set<() => void>>();
18
19
  const dismissRequesters = new Map<
19
20
  string,
20
21
  (reason: IOverlayRequestDismissReason) => void
@@ -186,13 +187,32 @@ export function registerOverlayPageHost(
186
187
  ): () => void {
187
188
  installOverlayWebManager();
188
189
  pageHosts.set(hostKey, element);
190
+ pageHostListeners.get(hostKey)?.forEach((listener) => listener());
189
191
  return () => {
190
192
  if (pageHosts.get(hostKey) === element) {
191
193
  pageHosts.delete(hostKey);
194
+ pageHostListeners.get(hostKey)?.forEach((listener) => listener());
192
195
  }
193
196
  };
194
197
  }
195
198
 
199
+ export function subscribeOverlayPageHost(
200
+ hostKey: string | undefined,
201
+ listener: () => void
202
+ ): () => void {
203
+ if (!hostKey) return () => {};
204
+ let listeners = pageHostListeners.get(hostKey);
205
+ if (!listeners) {
206
+ listeners = new Set();
207
+ pageHostListeners.set(hostKey, listeners);
208
+ }
209
+ listeners.add(listener);
210
+ return () => {
211
+ listeners.delete(listener);
212
+ if (listeners.size === 0) pageHostListeners.delete(hostKey);
213
+ };
214
+ }
215
+
196
216
  export function getOverlayPageHost(
197
217
  hostKey: string | undefined
198
218
  ): HTMLDivElement | undefined {