Skip to content

chore: Update versions (alpha) - #119

Merged
RuudBurger merged 1 commit into
mainfrom
changeset-release/main
Aug 17, 2026
Merged

chore: Update versions (alpha)#119
RuudBurger merged 1 commit into
mainfrom
changeset-release/main

Conversation

@plex-ops

Copy link
Copy Markdown
Contributor

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.

⚠️⚠️⚠️⚠️⚠️⚠️

main is currently in pre mode so this branch has prereleases rather than normal releases. If you want to exit prereleases, run changeset pre exit on main.

⚠️⚠️⚠️⚠️⚠️⚠️

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-separated rgb() form with a / alpha delimiter. These previously fell through unparsed.

    PlatformColor/OpaqueColorValue objects 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: fontWeight keeps 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. Unsupported textAlign values 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's textShadow* 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
    • @plextv/react-lightning@0.4.3-alpha.2

@plextv/react-lightning-plugin-flexbox@0.4.3-alpha.2

Patch Changes

  • c1b31f7: alignSelf: 'auto' resolves to the parent's alignItems (yoga ALIGN_AUTO) instead of being mapped to a fixed alignment, matching RN's type and behavior. space-evenly maps to yoga's ALIGN_SPACE_EVENLY rather than sharing the space-between case.

  • 431eeca: A transform is 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 destinations also forwards focus on every arrival, not just the first. destinations takes precedence over the remembered child, matching native TVFocusGuideView, so a reopened nav drawer returns to its selected item. autoFocus remains 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@0.4.3-alpha.2

@plextv/react-lightning-plugin-reanimated@0.4.3-alpha.2

Patch Changes

  • 0d769ad: Surface momentum scroll callbacks. VirtualList now fires onMomentumScrollBegin/onMomentumScrollEnd once around a focus-driven animated scroll — begin when it starts, end when it settles or is cancelled — mirroring tvOS/AndroidTV. The reanimated useAnimatedScrollHandler shim now routes the onMomentumBegin/onMomentumEnd handler keys by event name instead of only ever calling onScroll. 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.
  • 4e90dfe: useAnimatedStyle restarts 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.
  • b65dcbb: withRepeat treats any count <= 0 as infinite on both the renderer-looped and composed paths, matching native reanimated. Only -1 was infinite before, so a 0 count stopped immediately instead of looping forever.
  • b5722da: withTiming with no easing defaults to reanimated's Easing.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.
  • Updated dependencies [c1b31f7]
  • Updated dependencies [d065c91]
  • Updated dependencies [a91bb8b]
  • Updated dependencies [ab7de08]
  • Updated dependencies [0621d7d]
  • Updated dependencies [3d54c22]
  • Updated dependencies [ec39013]
  • Updated dependencies [e40e00d]
  • Updated dependencies [69fead4]
  • Updated dependencies [77dbe29]
  • Updated dependencies [4b28d02]
  • Updated dependencies [e62db77]
  • Updated dependencies [566570d]
  • Updated dependencies [431eeca]
  • Updated dependencies [5f820c4]
    • @plextv/react-lightning-plugin-flexbox@0.4.3-alpha.2
    • @plextv/react-lightning@0.4.3-alpha.2
    • @plextv/react-lightning-plugin-css-transform@0.4.3-alpha.1
    • @plextv/react-native-lightning@0.4.3-alpha.2

@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: focusRestorationExcluded nodes 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: ScrollView reveals 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. snapToAlignment only counts as deliberate placement for center and endstart and item (paging) aren't real focus targets, and item has no alignment math behind it at all, so both fall through to ensure-visible rather than snapping a focused row out of view. Exports FocusManagerContext from react-lightning so the compat layer can observe focus changes.

  • 431eeca: A transform is 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 destinations also forwards focus on every arrival, not just the first. destinations takes precedence over the remembered child, matching native TVFocusGuideView, so a reopened nav drawer returns to its selected item. autoFocus remains the separate first-then-remember mechanism.

@plextv/react-lightning-components@0.4.4-alpha.2

Patch Changes

  • 9606bd7: A center-aligned focus target stays mid-viewport instead of snapping to the header/footer edge. The edge protection left rows near a header or footer stuck at the top or bottom; center placement now wins (tvOS parity), and the downstream clamp still bounds the resulting target.
  • 0d769ad: Surface momentum scroll callbacks. VirtualList now fires onMomentumScrollBegin/onMomentumScrollEnd once around a focus-driven animated scroll — begin when it starts, end when it settles or is cancelled — mirroring tvOS/AndroidTV. The reanimated useAnimatedScrollHandler shim now routes the onMomentumBegin/onMomentumEnd handler keys by event name instead of only ever calling onScroll. 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.
  • 2a8ec62: VirtualList reserves the separator size between grid rows. The ItemSeparatorComponent size 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.
  • 55f5849: VirtualList no longer reports the DEFAULT_ITEM_SIZE guess through onLayout. Callers that derive layout from that width (Grid computes numColumns and re-keys the list) would remount the list on every guess-measure-guess cycle, an infinite loop when the list mounts without a laid-out size (e.g. inside a hidden Activity). resolveCrossSize now flags the fallback as an estimate and the onLayout effect skips it.
  • eb05bf1: VirtualList reconciles its scroll offset against the latest content size. A shrink reclamps the offset instead of leaving it past the new end, and a list short enough to fit its viewport primes onEndReached on mount. The clamp and threshold decision is now shared by the scroll handler and the content-size effect, so both paths agree.
  • 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
    • @plextv/react-lightning@0.4.3-alpha.2

@plextv/react-native-lightning@0.4.3-alpha.2

Patch Changes

  • ab7de08: Typing fixes across the react-native compat layer exports: View's onFocusCapture accepts either the RN or the Lightning handler (intersecting them produced a signature nothing could satisfy), Pressable tolerates null onFocus/onBlur, and ActivityIndicator handles the asset-id vs URL mismatch on its image source. LightningViewElementStyle comes from the package entry instead of a src/ deep path.

    usesExplicitAlignment also narrows its argument, so snapToAlignment: '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 View with focusable set is registered as a Lightning spatial-focus target. Native treats any focusable View as a nav target, but react-lightning only knew about useFocus/FocusGroup elements, so a plain focusable View was unreachable by directional nav and never fired onFocus. Only opt-in focusable Views pay for the registration; every other View still renders as a bare node.

    Adds focusRestorationExcluded for 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 the
    returned node (child.measureLayout(scrollHostNode, ...)), expecting a
    content-relative offset independent of the current scroll position. The Lightning
    ScrollView never implemented getNativeScrollRef, so the call threw
    getNativeScrollRef is not a function. It now returns the inner scrolled content
    container (the node that carries the scroll offset as its own x/y), so
    measureLayout against it yields the same content-relative coordinates as native
    React Native.

  • e62db77: ScrollView reveals 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. snapToAlignment only counts as deliberate placement for center and endstart and item (paging) aren't real focus targets, and item has no alignment math behind it at all, so both fall through to ensure-visible rather than snapping a focused row out of view. Exports FocusManagerContext from react-lightning so the compat layer can observe focus changes.

  • 566570d: Text applies textTransform from its style, and ellipsizeMode head/middle map to a text overflow instead of being dropped — only clip and tail were handled before.

  • 5f820c4: View's onFocusCapture type no longer assumes react-native's ViewProps declares the prop. react-native-tvos has it, plain react-native doesn't, so the indexed access was a hard check:types error 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-plugin-flexbox@0.4.3-alpha.2
    • @plextv/react-lightning@0.4.3-alpha.2
    • @plextv/react-lightning-components@0.4.4-alpha.2
    • @plextv/react-lightning-plugin-css-transform@0.4.3-alpha.1

@plextv/react-lightning-example@0.4.4-alpha.2

Patch Changes

  • 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-plugin-flexbox@0.4.3-alpha.2
    • @plextv/react-lightning@0.4.3-alpha.2
    • @plextv/react-lightning-components@0.4.4-alpha.2
    • @plextv/react-lightning-plugin-css-transform@0.4.3-alpha.1

@plextv/react-native-lightning-example@0.4.4-alpha.2

Patch Changes

  • Updated dependencies [c1b31f7]
  • Updated dependencies [d065c91]
  • Updated dependencies [9606bd7]
  • Updated dependencies [a91bb8b]
  • Updated dependencies [ab7de08]
  • Updated dependencies [0621d7d]
  • Updated dependencies [3d54c22]
  • Updated dependencies [ec39013]
  • Updated dependencies [e40e00d]
  • Updated dependencies [69fead4]
  • Updated dependencies [77dbe29]
  • Updated dependencies [0d769ad]
  • Updated dependencies [4b28d02]
  • Updated dependencies [e62db77]
  • Updated dependencies [566570d]
  • Updated dependencies [431eeca]
  • Updated dependencies [4e90dfe]
  • Updated dependencies [5f820c4]
  • Updated dependencies [2a8ec62]
  • Updated dependencies [55f5849]
  • Updated dependencies [eb05bf1]
  • Updated dependencies [b65dcbb]
  • Updated dependencies [b5722da]
    • @plextv/react-lightning-plugin-flexbox@0.4.3-alpha.2
    • @plextv/react-lightning@0.4.3-alpha.2
    • @plextv/react-lightning-components@0.4.4-alpha.2
    • @plextv/react-lightning-plugin-css-transform@0.4.3-alpha.1
    • @plextv/react-native-lightning@0.4.3-alpha.2
    • @plextv/react-lightning-plugin-reanimated@0.4.3-alpha.2

@plextv/react-lightning-storybook@0.4.4-alpha.2

Patch Changes

  • Updated dependencies [c1b31f7]
  • Updated dependencies [d065c91]
  • Updated dependencies [9606bd7]
  • Updated dependencies [a91bb8b]
  • Updated dependencies [ab7de08]
  • Updated dependencies [0621d7d]
  • Updated dependencies [3d54c22]
  • Updated dependencies [ec39013]
  • Updated dependencies [e40e00d]
  • Updated dependencies [69fead4]
  • Updated dependencies [77dbe29]
  • Updated dependencies [0d769ad]
  • Updated dependencies [4b28d02]
  • Updated dependencies [e62db77]
  • Updated dependencies [566570d]
  • Updated dependencies [431eeca]
  • Updated dependencies [4e90dfe]
  • Updated dependencies [5f820c4]
  • Updated dependencies [2a8ec62]
  • Updated dependencies [55f5849]
  • Updated dependencies [eb05bf1]
  • Updated dependencies [b65dcbb]
  • Updated dependencies [b5722da]
    • @plextv/react-lightning-plugin-flexbox@0.4.3-alpha.2
    • @plextv/react-lightning@0.4.3-alpha.2
    • @plextv/react-lightning-components@0.4.4-alpha.2
    • @plextv/react-lightning-plugin-css-transform@0.4.3-alpha.1
    • @plextv/react-native-lightning@0.4.3-alpha.2
    • @plextv/react-lightning-plugin-reanimated@0.4.3-alpha.2

@RuudBurger
RuudBurger self-requested a review August 17, 2026 13:42
@RuudBurger
RuudBurger merged commit 8c7288f into main Aug 17, 2026
1 check passed
@RuudBurger
RuudBurger deleted the changeset-release/main branch August 17, 2026 13:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants