chore: Update versions (alpha) - #119
Merged
Merged
Conversation
RuudBurger
self-requested a review
August 17, 2026 13:42
RuudBurger
approved these changes
Aug 17, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
mainis currently in pre mode so this branch has prereleases rather than normal releases. If you want to exit prereleases, runchangeset pre exitonmain.Releases
@plextv/react-lightning-plugin-css-transform@0.4.3-alpha.1
Patch Changes
a91bb8b: Color parsing handles 8- and 4-digit alpha hex,
hsl()/hsla(), and the modern space-separatedrgb()form with a/alpha delimiter. These previously fell through unparsed.PlatformColor/OpaqueColorValueobjects have no resolvable string form, so they're dropped with a warning (like unresolvable keyword colors) instead of throwing and taking the screen down.69fead4:
fontWeightkeeps the full 100-900 scale. Weights were collapsed to bold/normal, and a numeric string like'600'then fell through to 400 in the renderer; numeric strings are parsed and numbers and keywords pass through untouched. UnsupportedtextAlignvalues are mapped rather than forwarded as-is.Text shadow styles (
shadowColor,textShadow*) are dropped with a warning instead of converted: the shipping SDF text renderer has no shadow, and RN'stextShadow*props were never wired to the renderer's keys.Updated dependencies [c1b31f7]
Updated dependencies [d065c91]
Updated dependencies [0621d7d]
Updated dependencies [3d54c22]
Updated dependencies [ec39013]
Updated dependencies [4b28d02]
Updated dependencies [e62db77]
Updated dependencies [431eeca]
@plextv/react-lightning-plugin-flexbox@0.4.3-alpha.2
Patch Changes
c1b31f7:
alignSelf: 'auto'resolves to the parent'salignItems(yogaALIGN_AUTO) instead of being mapped to a fixed alignment, matching RN's type and behavior.space-evenlymaps to yoga'sALIGN_SPACE_EVENLYrather than sharing thespace-betweencase.431eeca: A
transformis a complete snapshot of the node's transform, so an axis it omits has returned to identity. Yoga now writes translate 0 for that axis instead of leaving the previous pixel inset in place, which a partial style push would otherwise never repaint (a cleared focus offset stayed where it was).A focus group with
destinationsalso forwards focus on every arrival, not just the first.destinationstakes precedence over the remembered child, matching nativeTVFocusGuideView, so a reopened nav drawer returns to its selected item.autoFocusremains the separate first-then-remember mechanism.Updated dependencies [d065c91]
Updated dependencies [0621d7d]
Updated dependencies [3d54c22]
Updated dependencies [ec39013]
Updated dependencies [4b28d02]
Updated dependencies [e62db77]
Updated dependencies [431eeca]
@plextv/react-lightning-plugin-reanimated@0.4.3-alpha.2
Patch Changes
onMomentumScrollBegin/onMomentumScrollEndonce around a focus-driven animated scroll — begin when it starts, end when it settles or is cancelled — mirroring tvOS/AndroidTV. The reanimateduseAnimatedScrollHandlershim now routes theonMomentumBegin/onMomentumEndhandler keys by event name instead of only ever callingonScroll. Consumers that key off momentum (fast-scroll detection, jump-bar auto-hide) can react to the real end of a scroll instead of an idle timeout.useAnimatedStylerestarts only the keys whose animation actually changed. Every update previously tore down and restarted all runners, so an unrelated key's animation was restarted mid-flight and visibly jumped.withRepeattreats any count <= 0 as infinite on both the renderer-looped and composed paths, matching native reanimated. Only-1was infinite before, so a0count stopped immediately instead of looping forever.withTimingwith no easing defaults to reanimated'sEasing.inOut(Easing.quad), expressed as the equivalent cubic-bezier the renderer parses. It previously fell back to linear, so every un-eased timing animation ran flat.@plextv/react-lightning@0.4.3-alpha.2
Patch Changes
d065c91: Every ancestor focus group is notified when its own directly-focused child changes, not only the group directly above the leaf. A VirtualList whose cells nest their own focus group never learned that focus had crossed a cell, so its scroll-to-focus stopped following. Matches tvOS, where every ancestor hears about focus crossing its children.
0621d7d: Anchor directional focus into a nested group and fix internal-redirect self-cycling. Directional nav now beams from the deepest focused leaf and descends by geometry into the chosen sibling, so a narrow-header-beside-wide-group row lands under the source's cross-axis position instead of on the group's first child; a redirect node is returned for the focus manager to forward to its destination. Separately,
_focusNode's upward walk now only hands focus off to external redirects: an internal redirect (destinations within the node's own subtree, e.g. an EPG airings guide pointing at its own cells) is already satisfied by the downward-arrival redirect, and re-firing it while walking back up targeted a descendant just visited and self-cycled, aborting the move and stranding focus on the guide's first child.3d54c22: Directional focus can enter a sibling that fully encloses the source on the movement axis. A screen scene behind a floating header keeps its focusable content below the source, but the distance was measured to the sibling's top edge — above the source — so the move was rejected and focus stayed stuck in the header. Such a container is now entered from the source's trailing edge instead.
ec39013:
focusRestorationExcludednodes are skipped by focus restoration. They never become the parent's mount-time default and never inherit focus when the focused sibling unmounts, so a drawer edge guard can't take focus during launch.Separately, a node withheld until layout now waits one extra layout pass while a pixel translate hasn't been folded into its position yet — otherwise it painted at its untransformed origin for a frame. Bounded to that single extra pass, so a mis-detected translate can't strand the node invisible.
4b28d02: The ResizeObserver shim reports each entry against its own target's rect. A single shared layout handler meant every observed element was handed the last-laid-out element's geometry, and the handler couldn't be removed per target on
unobserve/disconnect.e62db77:
ScrollViewreveals a focused descendant the way native TV scroll views do: scroll the minimum needed to bring it fully into view, and leave already-visible items where they are.snapToAlignmentonly counts as deliberate placement forcenterandend—startanditem(paging) aren't real focus targets, anditemhas no alignment math behind it at all, so both fall through to ensure-visible rather than snapping a focused row out of view. ExportsFocusManagerContextfrom react-lightning so the compat layer can observe focus changes.431eeca: A
transformis a complete snapshot of the node's transform, so an axis it omits has returned to identity. Yoga now writes translate 0 for that axis instead of leaving the previous pixel inset in place, which a partial style push would otherwise never repaint (a cleared focus offset stayed where it was).A focus group with
destinationsalso forwards focus on every arrival, not just the first.destinationstakes precedence over the remembered child, matching nativeTVFocusGuideView, so a reopened nav drawer returns to its selected item.autoFocusremains the separate first-then-remember mechanism.@plextv/react-lightning-components@0.4.4-alpha.2
Patch Changes
onMomentumScrollBegin/onMomentumScrollEndonce around a focus-driven animated scroll — begin when it starts, end when it settles or is cancelled — mirroring tvOS/AndroidTV. The reanimateduseAnimatedScrollHandlershim now routes theonMomentumBegin/onMomentumEndhandler keys by event name instead of only ever callingonScroll. Consumers that key off momentum (fast-scroll detection, jump-bar auto-hide) can react to the real end of a scroll instead of an idle timeout.ItemSeparatorComponentsize was left out of the multi-column row offsets, so rows sat a separator's height too high and the total content size came up short. Separators sit between rows rather than between columns (matching FlashList), and zero-height empty rows are skipped.onEndReachedon mount. The clamp and threshold decision is now shared by the scroll handler and the content-size effect, so both paths agree.@plextv/react-native-lightning@0.4.3-alpha.2
Patch Changes
ab7de08: Typing fixes across the react-native compat layer exports:
View'sonFocusCaptureaccepts either the RN or the Lightning handler (intersecting them produced a signature nothing could satisfy),Pressabletolerates nullonFocus/onBlur, andActivityIndicatorhandles the asset-id vs URL mismatch on its image source.LightningViewElementStylecomes from the package entry instead of asrc/deep path.usesExplicitAlignmentalso narrows its argument, sosnapToAlignment: 'item'falls back to'start'in the scroll-into-view math rather than being passed through to alignment code that doesn't implement it.e40e00d: A
Viewwithfocusableset is registered as a Lightning spatial-focus target. Native treats any focusable View as a nav target, but react-lightning only knew aboutuseFocus/FocusGroupelements, so a plain focusable View was unreachable by directional nav and never firedonFocus. Only opt-in focusable Views pay for the registration; every other View still renders as a bare node.Adds
focusRestorationExcludedfor a directional-only catcher: reachable by a deliberate move, but never by restoration or the mount-time default.77dbe29: fix(react-native-lightning): implement
ScrollView.getNativeScrollRef()Shared RN code that scrolls a selected child into view calls
scrollRef.current.getNativeScrollRef()and measures the child against thereturned node (
child.measureLayout(scrollHostNode, ...)), expecting acontent-relative offset independent of the current scroll position. The Lightning
ScrollViewnever implementedgetNativeScrollRef, so the call threwgetNativeScrollRef is not a function. It now returns the inner scrolled contentcontainer (the node that carries the scroll offset as its own x/y), so
measureLayoutagainst it yields the same content-relative coordinates as nativeReact Native.
e62db77:
ScrollViewreveals a focused descendant the way native TV scroll views do: scroll the minimum needed to bring it fully into view, and leave already-visible items where they are.snapToAlignmentonly counts as deliberate placement forcenterandend—startanditem(paging) aren't real focus targets, anditemhas no alignment math behind it at all, so both fall through to ensure-visible rather than snapping a focused row out of view. ExportsFocusManagerContextfrom react-lightning so the compat layer can observe focus changes.566570d:
TextappliestextTransformfrom its style, andellipsizeModehead/middlemap to a text overflow instead of being dropped — onlyclipandtailwere handled before.5f820c4:
View'sonFocusCapturetype no longer assumesreact-native'sViewPropsdeclares the prop. react-native-tvos has it, plain react-native doesn't, so the indexed access was a hardcheck:typeserror for anyone on upstream react-native. Reads the prop only when it's actually present, so both forks typecheck.Updated dependencies [c1b31f7]
Updated dependencies [d065c91]
Updated dependencies [9606bd7]
Updated dependencies [a91bb8b]
Updated dependencies [0621d7d]
Updated dependencies [3d54c22]
Updated dependencies [ec39013]
Updated dependencies [69fead4]
Updated dependencies [0d769ad]
Updated dependencies [4b28d02]
Updated dependencies [e62db77]
Updated dependencies [431eeca]
Updated dependencies [2a8ec62]
Updated dependencies [55f5849]
Updated dependencies [eb05bf1]
@plextv/react-lightning-example@0.4.4-alpha.2
Patch Changes
@plextv/react-native-lightning-example@0.4.4-alpha.2
Patch Changes
@plextv/react-lightning-storybook@0.4.4-alpha.2
Patch Changes