@onekeyfe/react-native-pager-view 6.7.0-alpha.430 → 6.7.0-alpha.432

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/docs/SPEC.md CHANGED
@@ -41,6 +41,31 @@ UIKit's Hard style, owner or interactions. During temporary horizontal owner
41
41
  transitions the layer holds its last opacity until geometry is valid again;
42
42
  disabling the local overlay, changing style or recycling removes it.
43
43
 
44
+ For this iOS 27 local smooth Hard direct-pager case, an animated page command
45
+ uses `UIScrollView`'s native content-offset animation; UIKit determines its
46
+ duration. Both page commands and horizontal user drags transfer the source's
47
+ existing top and pinned sticky scroll-edge interactions, markers, hosts and
48
+ saved original style to the transition owner before the source page detaches.
49
+ The interactions remain bound to the source list on their
50
+ original hosts; the borrowed pinned sticky host stays inside the source list
51
+ while the shared controls move. Incoming pages use temporary interactions; a
52
+ drag prepares both adjacent pages so either direction can remain visible.
53
+ Participating pages retain their scroll-edge sampling area during the animation;
54
+ fixed controls still reserve their existing hit-test area. Completion or
55
+ cancellation releases temporary ownership, restores each list's prior style
56
+ and pinned host, and reattaches the settled page's normal owner before a queued
57
+ page command starts. A drag that returns to its source page follows the same
58
+ cleanup path. A new drag invalidates an older pending settlement before it can
59
+ release the new transition's owners.
60
+ If the direct pager viewport width changes while a native animated page command is pending, stop the old-coordinate animation before resizing its viewport. After the normal layout completes, settle the captured logical destination at its new physical offset through the original generation/transition-guarded completion path. This restores scrolling, releases temporary edge ownership and drains queued commands. Any width change, including a fractional-point change, is significant. Zero width completes the logical destination without retaining a disabled pending animation; a later positive-width idle layout realigns the current page. Height-only layout and horizontal user drags retain their existing paths. Late animation-end callbacks must not complete a newer command before its own current target has been reached.
61
+
62
+ Other pager modes retain their prior command and observer ordering. Recycling,
63
+ window detachment, slot replacement and disabling the style also release the
64
+ temporary resources. Conformance requires preserving the source interaction
65
+ and marker identities and prior style until settlement, releasing borrowed
66
+ resources on completion and cancellation, and rendered blur continuity in both
67
+ directions over long scrollable pages.
68
+
44
69
  For an iOS 26 pager whose fixed header is rendered by a sibling in the same
45
70
  React surface, `externalTopOverlayTag` may identify that header's native view.
46
71
  The pager weakly observes its geometry in the same window, retaining its own
@@ -111,6 +136,21 @@ style forwarding, overlay retention and disabling; UIKit tests cover native
111
136
  style switching and restoring the previous style. Rendered iOS acceptance must
112
137
  be reported separately from type, codegen and build checks.
113
138
 
139
+ ### iOS 27 external-overlay interactive ownership
140
+
141
+ Status: Implemented in iOS source; runtime acceptance is reported separately.
142
+
143
+ For a direct native pager using smooth headers and a Hard top edge, an interactive horizontal drag may preserve scroll-edge ownership when the external overlay is resolved in the same window with a positive effective height. A registered outer pager must own the active page and must not be transitioning; an external overlay without an outer pager remains eligible.
144
+
145
+ Before detaching the source observer, transfer the source's existing top/sticky interactions, markers, original edge style and borrowed pinned host into the transition owner. Do not move or take ownership of the actual external React overlay. Interactive preparation is bounded to the source and its valid immediate neighbours.
146
+
147
+ Each newly prepared external incoming page owns separate transparent, noninteractive top/sticky interaction hosts inside that page. Their horizontal origin follows the page's scroll viewport rather than the fixed external overlay; their vertical positions and heights match the existing top/sticky geometry. Hosts and markers follow page-width changes. They add no replacement material or background. The source retains its existing host identities. Local-overlay ownership and external programmatic page commands keep their existing paths; this extension is selected only by interactive drag preparation.
148
+
149
+ Completion or release back to the source releases temporary interactions and markers, restores the captured original styles, removes only the owned temporary hosts, and reattaches normal ownership to the settled page. Existing cancellation, window removal, slot/recycle and external invalidation paths must release these resources as well. External identity/tag/effective-height changes and outer-owner inactivity or transition invalidate temporary ownership before references are updated. Never remove a borrowed pinned host, shared proxy, shared sticky view or actual external overlay as though it were an owned temporary host.
150
+
151
+ Rendering conformance requires real underlying content on both pages to remain blurred throughout the drag and release, with no premature whiteout, sharp penetration or frozen texture. Object registration and lifecycle tests do not establish visual conformance.
152
+
153
+
114
154
  ## Smooth shared-header and per-page body memory
115
155
 
116
156
  With nativeSmoothHeaderScrollEnabled, the header collapse C is shared across all