Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Shared element prototype #720

Merged

Conversation

KovalevAndrey
Copy link
Collaborator

@KovalevAndrey KovalevAndrey commented Jan 7, 2025

Description

Shared element transition integration into Appyx. Duplicates #701

  1. Clients need to use withSharedElementTransition: Boolean = true on Children layout when drawing children.
  2. Use sharedElement Modifier In Node's UI implementation and provide a key that matches the appropriate element's key in the other Node's UI.

Added support for movableContent. Now we can "move one part of the composable tree" from one child node to another without losing its state. We can only move content between the Node that is transitioning to invisible state to the Node that is transitioning to visible state because movable content is meant to be composed only once at any time. For instance: NodeA is currently shown in a BackStack and we push NodeB to BackStack. In this case we can move content from NodeA to NodeB. To move the content we need to use localMovableContentWithTargetVisibility with the correct key in each child Node.

Screen_recording_20240429_204738.mp4

Checklist

  • I've updated CHANGELOG.md if required.
  • I've updated the documentation if required.

KovalevAndrey and others added 30 commits April 22, 2024 14:47
- Moved LocalMovableContentMap to Children composable and added a parameter to it.
- Added support for more movableContent API variants
@KovalevAndrey KovalevAndrey changed the title Shared element prototype copy Shared element prototype Jan 8, 2025
@KovalevAndrey KovalevAndrey merged commit 997f4fa into bumble-tech:1.x Jan 8, 2025
4 checks passed
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.

3 participants