@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.
- package/android/src/main/java/com/onekey/nativeoverlay/NativeOverlayHost.kt +5 -2
- package/android/src/test/java/com/onekey/nativeoverlay/NativeOverlayBackTest.kt +35 -0
- package/docs/SPEC.md +40 -10
- package/ios/NativeOverlayContainerView.swift +20 -7
- package/ios/NativeOverlaySheetController.swift +35 -1
- package/lib/module/OverlayStore.js +13 -1
- package/lib/module/OverlayStore.js.map +1 -1
- package/lib/module/OverlayView.web.js +42 -13
- package/lib/module/OverlayView.web.js.map +1 -1
- package/lib/module/useOverlayController.js +4 -0
- package/lib/module/useOverlayController.js.map +1 -1
- package/lib/module/web/animateTransition.js +13 -10
- package/lib/module/web/animateTransition.js.map +1 -1
- package/lib/module/web/overlayLayers.js +16 -0
- package/lib/module/web/overlayLayers.js.map +1 -1
- package/lib/typescript/src/OverlayStore.d.ts +2 -0
- package/lib/typescript/src/OverlayStore.d.ts.map +1 -1
- package/lib/typescript/src/OverlayView.web.d.ts.map +1 -1
- package/lib/typescript/src/useOverlayController.d.ts.map +1 -1
- package/lib/typescript/src/web/animateTransition.d.ts +2 -2
- package/lib/typescript/src/web/animateTransition.d.ts.map +1 -1
- package/lib/typescript/src/web/overlayLayers.d.ts +1 -0
- package/lib/typescript/src/web/overlayLayers.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/OverlayStore.ts +13 -1
- package/src/OverlayView.web.tsx +60 -13
- package/src/useOverlayController.ts +4 -0
- package/src/web/animateTransition.ts +16 -7
- 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
|
|
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`
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
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
|
|
538
|
-
|
|
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.
|
|
547
|
-
|
|
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
|
-
|
|
327
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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":"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","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'
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
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
|
-
|
|
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:
|
|
335
|
-
ownerKey:
|
|
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
|
|
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":";;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;
|
|
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
|
}
|
|
@@ -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
|
|
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
|
|
107
|
-
|
|
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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
|
|
1
|
+
{"version":3,"names":["springToCssLinear","measureContentExtent","container","rects","Array","from","children","map","child","getBoundingClientRect","length","top","bottom","window","innerHeight","left","right","innerWidth","Math","min","r","max","toTiming","motion","type","x1","y1","x2","y2","timing","easing","duration","durationMs","spring","prefersReducedMotion","globalThis","matchMedia","matches","hiddenKeyframe","transition","extent","frame","fade","opacity","edge","distance","transform","offsetY","scale","VISIBLE_KEYFRAME","animateTransition","element","contentRoot","direction","interruptedFrames","undefined","effective","anchoredContent","origin","childElementCount","firstElementChild","target","HTMLElement","targetRect","style","transformOrigin","hidden","visible","Object","keys","forEach","key","sampled","get","initial","start","keyframes","animate","fill","animateBackdrop"],"sourceRoot":"../../../src","sources":["web/animateTransition.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,6 +7,7 @@ export const ENTRY_ATTRIBUTE = 'data-onekey-overlay-entry';
|
|
|
7
7
|
const APP_ROOT_ID = 'root';
|
|
8
8
|
const layerRoots = new Map();
|
|
9
9
|
const pageHosts = new Map();
|
|
10
|
+
const pageHostListeners = new Map();
|
|
10
11
|
const dismissRequesters = new Map();
|
|
11
12
|
let installed = false;
|
|
12
13
|
function createLayerRoot(level) {
|
|
@@ -137,12 +138,27 @@ export function scheduleOverlayInertSync() {
|
|
|
137
138
|
export function registerOverlayPageHost(hostKey, element) {
|
|
138
139
|
installOverlayWebManager();
|
|
139
140
|
pageHosts.set(hostKey, element);
|
|
141
|
+
pageHostListeners.get(hostKey)?.forEach(listener => listener());
|
|
140
142
|
return () => {
|
|
141
143
|
if (pageHosts.get(hostKey) === element) {
|
|
142
144
|
pageHosts.delete(hostKey);
|
|
145
|
+
pageHostListeners.get(hostKey)?.forEach(listener => listener());
|
|
143
146
|
}
|
|
144
147
|
};
|
|
145
148
|
}
|
|
149
|
+
export function subscribeOverlayPageHost(hostKey, listener) {
|
|
150
|
+
if (!hostKey) return () => {};
|
|
151
|
+
let listeners = pageHostListeners.get(hostKey);
|
|
152
|
+
if (!listeners) {
|
|
153
|
+
listeners = new Set();
|
|
154
|
+
pageHostListeners.set(hostKey, listeners);
|
|
155
|
+
}
|
|
156
|
+
listeners.add(listener);
|
|
157
|
+
return () => {
|
|
158
|
+
listeners.delete(listener);
|
|
159
|
+
if (listeners.size === 0) pageHostListeners.delete(hostKey);
|
|
160
|
+
};
|
|
161
|
+
}
|
|
146
162
|
export function getOverlayPageHost(hostKey) {
|
|
147
163
|
return hostKey ? pageHosts.get(hostKey) : undefined;
|
|
148
164
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["OVERLAY_LEVELS","OVERLAY_LEVEL_ORDER","OVERLAY_WEB_Z_INDEX_BASE","overlayStore","LAYER_ATTRIBUTE","ENTRY_ATTRIBUTE","APP_ROOT_ID","layerRoots","Map","pageHosts","dismissRequesters","installed","createLayerRoot","level","root","document","createElement","setAttribute","Object","assign","style","position","inset","pointerEvents","zIndex","String","isolation","next","slice","indexOf","map","l","get","find","Boolean","body","insertBefore","setInert","element","inert","pageInertElements","Set","siblingsOutside","host","siblings","node","parentElement","parent","sibling","Array","from","children","HTMLElement","add","inertEntriesBelow","container","top","querySelectorAll","forEach","Number","dataset","overlayLevelOrder","below","stackOrder","seq","visibility","getAttribute","syncOverlayInert","getBlockingTop","appRoot","getElementById","nextPageInert","pageHost","scope","getOverlayPageHost","hostKey","undefined","contains","has","onKeyDown","event","key","isComposing","keyCode","resolution","resolveBack","kind","stopPropagation","preventDefault","id","installOverlayWebManager","subscribe","addEventListener","getOverlayLayerRoot","isConnected","set","registerOverlayDismissRequester","requester","delete","scheduleOverlayInertSync","requestAnimationFrame","registerOverlayPageHost"],"sourceRoot":"../../../src","sources":["web/overlayLayers.ts"],"mappings":";;AAAA,SACEA,cAAc,EACdC,mBAAmB,EACnBC,wBAAwB,QACnB,qBAAkB;AACzB,SAASC,YAAY,QAAQ,oBAAiB;AAK9C,MAAMC,eAAe,GAAG,2BAA2B;AACnD,OAAO,MAAMC,eAAe,GAAG,2BAA2B;AAE1D,MAAMC,WAAW,GAAG,MAAM;AAE1B,MAAMC,UAAU,GAAG,IAAIC,GAAG,CAAgC,CAAC;AAC3D,MAAMC,SAAS,GAAG,IAAID,GAAG,CAAyB,CAAC;AACnD,MAAME,iBAAiB,GAAG,IAAIF,GAAG,CAG/B,CAAC;AACH,
|
|
1
|
+
{"version":3,"names":["OVERLAY_LEVELS","OVERLAY_LEVEL_ORDER","OVERLAY_WEB_Z_INDEX_BASE","overlayStore","LAYER_ATTRIBUTE","ENTRY_ATTRIBUTE","APP_ROOT_ID","layerRoots","Map","pageHosts","pageHostListeners","dismissRequesters","installed","createLayerRoot","level","root","document","createElement","setAttribute","Object","assign","style","position","inset","pointerEvents","zIndex","String","isolation","next","slice","indexOf","map","l","get","find","Boolean","body","insertBefore","setInert","element","inert","pageInertElements","Set","siblingsOutside","host","siblings","node","parentElement","parent","sibling","Array","from","children","HTMLElement","add","inertEntriesBelow","container","top","querySelectorAll","forEach","Number","dataset","overlayLevelOrder","below","stackOrder","seq","visibility","getAttribute","syncOverlayInert","getBlockingTop","appRoot","getElementById","nextPageInert","pageHost","scope","getOverlayPageHost","hostKey","undefined","contains","has","onKeyDown","event","key","isComposing","keyCode","resolution","resolveBack","kind","stopPropagation","preventDefault","id","installOverlayWebManager","subscribe","addEventListener","getOverlayLayerRoot","isConnected","set","registerOverlayDismissRequester","requester","delete","scheduleOverlayInertSync","requestAnimationFrame","registerOverlayPageHost","listener","subscribeOverlayPageHost","listeners","size"],"sourceRoot":"../../../src","sources":["web/overlayLayers.ts"],"mappings":";;AAAA,SACEA,cAAc,EACdC,mBAAmB,EACnBC,wBAAwB,QACnB,qBAAkB;AACzB,SAASC,YAAY,QAAQ,oBAAiB;AAK9C,MAAMC,eAAe,GAAG,2BAA2B;AACnD,OAAO,MAAMC,eAAe,GAAG,2BAA2B;AAE1D,MAAMC,WAAW,GAAG,MAAM;AAE1B,MAAMC,UAAU,GAAG,IAAIC,GAAG,CAAgC,CAAC;AAC3D,MAAMC,SAAS,GAAG,IAAID,GAAG,CAAyB,CAAC;AACnD,MAAME,iBAAiB,GAAG,IAAIF,GAAG,CAA0B,CAAC;AAC5D,MAAMG,iBAAiB,GAAG,IAAIH,GAAG,CAG/B,CAAC;AACH,IAAII,SAAS,GAAG,KAAK;AAErB,SAASC,eAAeA,CAACC,KAAoB,EAAkB;EAC7D,MAAMC,IAAI,GAAGC,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC;EAC1CF,IAAI,CAACG,YAAY,CAACd,eAAe,EAAEU,KAAK,CAAC;EACzCK,MAAM,CAACC,MAAM,CAACL,IAAI,CAACM,KAAK,EAAE;IACxBC,QAAQ,EAAE,OAAO;IACjBC,KAAK,EAAE,GAAG;IACVC,aAAa,EAAE,MAAM;IACrBC,MAAM,EAAEC,MAAM,CAACxB,wBAAwB,CAACY,KAAK,CAAC,CAAC;IAC/Ca,SAAS,EAAE;EACb,CAAC,CAAC;EACF;EACA,MAAMC,IAAI,GAAG5B,cAAc,CAAC6B,KAAK,CAAC7B,cAAc,CAAC8B,OAAO,CAAChB,KAAK,CAAC,GAAG,CAAC,CAAC,CACjEiB,GAAG,CAAEC,CAAC,IAAKzB,UAAU,CAAC0B,GAAG,CAACD,CAAC,CAAC,CAAC,CAC7BE,IAAI,CAACC,OAAO,CAAC;EAChBnB,QAAQ,CAACoB,IAAI,CAACC,YAAY,CAACtB,IAAI,EAAEa,IAAI,IAAI,IAAI,CAAC;EAC9C,OAAOb,IAAI;AACb;AAEA,SAASuB,QAAQA,CAACC,OAAuC,EAAEC,KAAc,EAAE;EACzE,IAAID,OAAO,IAAIA,OAAO,CAACC,KAAK,KAAKA,KAAK,EAAE;IACtCD,OAAO,CAACC,KAAK,GAAGA,KAAK;EACvB;AACF;;AAEA;AACA,IAAIC,iBAAiB,GAAG,IAAIC,GAAG,CAAc,CAAC;;AAE9C;AACA;AACA;AACA;AACA;AACA,SAASC,eAAeA,CAACC,IAAiB,EAAE7B,IAAiB,EAAE;EAC7D,MAAM8B,QAAQ,GAAG,IAAIH,GAAG,CAAc,CAAC;EACvC,IAAII,IAAiB,GAAGF,IAAI;EAC5B,OAAOE,IAAI,KAAK/B,IAAI,IAAI+B,IAAI,CAACC,aAAa,EAAE;IAC1C,MAAMC,MAAmB,GAAGF,IAAI,CAACC,aAAa;IAC9C,KAAK,MAAME,OAAO,IAAIC,KAAK,CAACC,IAAI,CAACH,MAAM,CAACI,QAAQ,CAAC,EAAE;MACjD,IAAIH,OAAO,KAAKH,IAAI,IAAIG,OAAO,YAAYI,WAAW,EAAE;QACtDR,QAAQ,CAACS,GAAG,CAACL,OAAO,CAAC;MACvB;IACF;IACAH,IAAI,GAAGE,MAAM;EACf;EACA,OAAOH,QAAQ;AACjB;AAEA,SAASU,iBAAiBA,CAACC,SAAqB,EAAEC,GAAmB,EAAE;EACrED,SAAS,CACNE,gBAAgB,CAAc,IAAIrD,eAAe,GAAG,CAAC,CACrDsD,OAAO,CAAEb,IAAI,IAAK;IACjB,MAAMhC,KAAK,GAAG8C,MAAM,CAACd,IAAI,CAACe,OAAO,CAACC,iBAAiB,CAAC;IACpD,MAAMC,KAAK,GACT,CAAC,CAACN,GAAG,KACJ3C,KAAK,GAAGb,mBAAmB,CAACwD,GAAG,CAAC3C,KAAK,CAAC,IACpCA,KAAK,KAAKb,mBAAmB,CAACwD,GAAG,CAAC3C,KAAK,CAAC,IACvC8C,MAAM,CAACd,IAAI,CAACe,OAAO,CAACG,UAAU,CAAC,GAAGP,GAAG,CAACQ,GAAI,CAAC;IACjD3B,QAAQ,CACNQ,IAAI,EACJiB,KAAK,IACHjB,IAAI,CAACzB,KAAK,CAAC6C,UAAU,KAAK,QAAQ,IAClCpB,IAAI,CAACqB,YAAY,CAAC,aAAa,CAAC,KAAK,MACzC,CAAC;EACH,CAAC,CAAC;AACN;;AAEA;AACA,OAAO,SAASC,gBAAgBA,CAAA,EAAG;EACjC,MAAMX,GAAG,GAAGtD,YAAY,CAACkE,cAAc,CAAC,CAAC;EACzC,MAAMC,OAAO,GAAGtD,QAAQ,CAACuD,cAAc,CAACjE,WAAW,CAAC;EACpD,IAAIkE,aAAa,GAAG,IAAI9B,GAAG,CAAc,CAAC;EAC1C,MAAM+B,QAAQ,GACZhB,GAAG,EAAEiB,KAAK,KAAK,MAAM,GAAGC,kBAAkB,CAAClB,GAAG,CAACmB,OAAO,CAAC,GAAGC,SAAS;EACrE,IAAIpB,GAAG,IAAIgB,QAAQ,IAAIH,OAAO,EAAEQ,QAAQ,CAACL,QAAQ,CAAC,EAAE;IAClDnC,QAAQ,CAACgC,OAAO,EAAE,KAAK,CAAC;IACxBE,aAAa,GAAG7B,eAAe,CAAC8B,QAAQ,EAAEH,OAAO,CAAC;EACpD,CAAC,MAAM;IACLhC,QAAQ,CAACgC,OAAO,EAAE,CAAC,CAACb,GAAG,CAAC;EAC1B;EACAhB,iBAAiB,CAACkB,OAAO,CAAEpB,OAAO,IAAK;IACrC,IAAI,CAACiC,aAAa,CAACO,GAAG,CAACxC,OAAO,CAAC,EAAE;MAC/BD,QAAQ,CAACC,OAAO,EAAE,KAAK,CAAC;IAC1B;EACF,CAAC,CAAC;EACFiC,aAAa,CAACb,OAAO,CAAEpB,OAAO,IAAKD,QAAQ,CAACC,OAAO,EAAE,IAAI,CAAC,CAAC;EAC3DE,iBAAiB,GAAG+B,aAAa;EAEjC,KAAK,MAAM,CAACI,OAAO,EAAEhC,IAAI,CAAC,IAAInC,SAAS,EAAE;IACvC8C,iBAAiB,CACfX,IAAI,EACJa,GAAG,EAAEiB,KAAK,KAAK,MAAM,IAAIjB,GAAG,CAACmB,OAAO,KAAKA,OAAO,GAAGnB,GAAG,GAAGoB,SAC3D,CAAC;EACH;EAEA,KAAK,MAAM,CAAC/D,KAAK,EAAEC,IAAI,CAAC,IAAIR,UAAU,EAAE;IACtC;IACA,MAAMwD,KAAK,GACTN,GAAG,EAAEiB,KAAK,KAAK,QAAQ,IACvBzE,mBAAmB,CAACa,KAAK,CAAC,GAAGb,mBAAmB,CAACwD,GAAG,CAAC3C,KAAK,CAAC;IAC7DwB,QAAQ,CAACvB,IAAI,EAAEgD,KAAK,CAAC;IACrBR,iBAAiB,CACfxC,IAAI,EACJ0C,GAAG,EAAEiB,KAAK,KAAK,QAAQ,IAAI5D,KAAK,KAAK2C,GAAG,CAAC3C,KAAK,GAAG2C,GAAG,GAAGoB,SACzD,CAAC;EACH;AACF;AAEA,SAASG,SAASA,CAACC,KAAoB,EAAE;EACvC;EACA,IAAIA,KAAK,CAACC,GAAG,KAAK,QAAQ,IAAID,KAAK,CAACE,WAAW,IAAIF,KAAK,CAACG,OAAO,KAAK,GAAG,EAAE;IACxE;EACF;EACA,MAAMC,UAAU,GAAGlF,YAAY,CAACmF,WAAW,CAAC,CAAC;EAC7C,IAAID,UAAU,CAACE,IAAI,KAAK,MAAM,EAAE;IAC9B;EACF;EACAN,KAAK,CAACO,eAAe,CAAC,CAAC;EACvBP,KAAK,CAACQ,cAAc,CAAC,CAAC;EACtB,IAAIJ,UAAU,CAACE,IAAI,KAAK,SAAS,EAAE;IACjC5E,iBAAiB,CAACsB,GAAG,CAACoD,UAAU,CAACK,EAAE,CAAC,GAAG,MAAM,CAAC;EAChD;AACF;AAEA,SAASC,wBAAwBA,CAAA,EAAG;EAClC,IAAI/E,SAAS,IAAI,OAAOI,QAAQ,KAAK,WAAW,EAAE;IAChD;EACF;EACAJ,SAAS,GAAG,IAAI;EAChBT,YAAY,CAACyF,SAAS,CAACxB,gBAAgB,CAAC;EACxCpD,QAAQ,CAAC6E,gBAAgB,CAAC,SAAS,EAAEb,SAAS,EAAE,IAAI,CAAC;AACvD;AAEA,OAAO,SAASc,mBAAmBA,CAAChF,KAAoB,EAAkB;EACxE6E,wBAAwB,CAAC,CAAC;EAC1B,IAAI5E,IAAI,GAAGR,UAAU,CAAC0B,GAAG,CAACnB,KAAK,CAAC;EAChC,IAAI,CAACC,IAAI,IAAI,CAACA,IAAI,CAACgF,WAAW,EAAE;IAC9BhF,IAAI,GAAGF,eAAe,CAACC,KAAK,CAAC;IAC7BP,UAAU,CAACyF,GAAG,CAAClF,KAAK,EAAEC,IAAI,CAAC;EAC7B;EACA,OAAOA,IAAI;AACb;AAEA,OAAO,SAASkF,+BAA+BA,CAC7CP,EAAU,EACVQ,SAAyD,EAC7C;EACZvF,iBAAiB,CAACqF,GAAG,CAACN,EAAE,EAAEQ,SAAS,CAAC;EACpC,OAAO,MAAM;IACX,IAAIvF,iBAAiB,CAACsB,GAAG,CAACyD,EAAE,CAAC,KAAKQ,SAAS,EAAE;MAC3CvF,iBAAiB,CAACwF,MAAM,CAACT,EAAE,CAAC;IAC9B;EACF,CAAC;AACH;;AAEA;AACA,OAAO,SAASU,wBAAwBA,CAAA,EAAG;EACzCC,qBAAqB,CAACjC,gBAAgB,CAAC;AACzC;AAEA,OAAO,SAASkC,uBAAuBA,CACrC1B,OAAe,EACfrC,OAAuB,EACX;EACZoD,wBAAwB,CAAC,CAAC;EAC1BlF,SAAS,CAACuF,GAAG,CAACpB,OAAO,EAAErC,OAAO,CAAC;EAC/B7B,iBAAiB,CAACuB,GAAG,CAAC2C,OAAO,CAAC,EAAEjB,OAAO,CAAE4C,QAAQ,IAAKA,QAAQ,CAAC,CAAC,CAAC;EACjE,OAAO,MAAM;IACX,IAAI9F,SAAS,CAACwB,GAAG,CAAC2C,OAAO,CAAC,KAAKrC,OAAO,EAAE;MACtC9B,SAAS,CAAC0F,MAAM,CAACvB,OAAO,CAAC;MACzBlE,iBAAiB,CAACuB,GAAG,CAAC2C,OAAO,CAAC,EAAEjB,OAAO,CAAE4C,QAAQ,IAAKA,QAAQ,CAAC,CAAC,CAAC;IACnE;EACF,CAAC;AACH;AAEA,OAAO,SAASC,wBAAwBA,CACtC5B,OAA2B,EAC3B2B,QAAoB,EACR;EACZ,IAAI,CAAC3B,OAAO,EAAE,OAAO,MAAM,CAAC,CAAC;EAC7B,IAAI6B,SAAS,GAAG/F,iBAAiB,CAACuB,GAAG,CAAC2C,OAAO,CAAC;EAC9C,IAAI,CAAC6B,SAAS,EAAE;IACdA,SAAS,GAAG,IAAI/D,GAAG,CAAC,CAAC;IACrBhC,iBAAiB,CAACsF,GAAG,CAACpB,OAAO,EAAE6B,SAAS,CAAC;EAC3C;EACAA,SAAS,CAACnD,GAAG,CAACiD,QAAQ,CAAC;EACvB,OAAO,MAAM;IACXE,SAAS,CAACN,MAAM,CAACI,QAAQ,CAAC;IAC1B,IAAIE,SAAS,CAACC,IAAI,KAAK,CAAC,EAAEhG,iBAAiB,CAACyF,MAAM,CAACvB,OAAO,CAAC;EAC7D,CAAC;AACH;AAEA,OAAO,SAASD,kBAAkBA,CAChCC,OAA2B,EACC;EAC5B,OAAOA,OAAO,GAAGnE,SAAS,CAACwB,GAAG,CAAC2C,OAAO,CAAC,GAAGC,SAAS;AACrD","ignoreList":[]}
|
|
@@ -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;
|
|
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":"
|
|
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,
|
|
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,
|
|
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;
|
|
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.
|
|
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",
|
package/src/OverlayStore.ts
CHANGED
|
@@ -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
|
-
|
|
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);
|
package/src/OverlayView.web.tsx
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
|
-
import {
|
|
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'
|
|
131
|
-
|
|
132
|
-
|
|
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(
|
|
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
|
-
|
|
418
|
-
|
|
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
|
-
|
|
486
|
+
scope === 'page'
|
|
440
487
|
? OVERLAY_LEVEL_ORDER[level] * 1000 + (entry?.seq ?? 0)
|
|
441
488
|
: entry?.seq ?? 0
|
|
442
489
|
}
|
|
443
|
-
ownerKey={
|
|
490
|
+
ownerKey={scope === 'page' ? ownerKey : undefined}
|
|
444
491
|
testID={testID}
|
|
445
492
|
>
|
|
446
493
|
<OverlayLevelProvider value={level}>{children}</OverlayLevelProvider>
|
|
447
494
|
</WebOverlayEntry>,
|
|
448
|
-
pageHost
|
|
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
|
|
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
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
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
|
}
|
package/src/web/overlayLayers.ts
CHANGED
|
@@ -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 {
|